BorgBackup 2.0 hỗ trợ Rclone – bổ sung hỗ trợ hơn 70 nhà cung cấp đám mây ngoài SSH
(borgbackup.readthedocs.io)- Bản beta 2.0.0b11 chỉ dành cho việc thử nghiệm kho lưu trữ mới, không được dùng trong production
- Borg 2.0 là một breaking release không tương thích với các kho lưu trữ hiện có; để chuyển archive từ kho borg 1.2/1.4 sang kho borg 2.0 mới, cần dùng
borg transfer - Trước khi dùng
borg transfer, cần nâng cấp lênborg >= 1.2.6hoặc bản borg đã có bản váCVE-2023-36811, đồng thời thực hiện các hướng dẫn nâng cấp liên quan đến manifest và archive TAM - Bổ sung hỗ trợ URL
rclone://cho kho Borg, cho phép sử dụng Amazon S3, Backblaze B2, Ceph, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure, Microsoft OneDrive, OpenStack Swift, sftp, SMB/CIFS, WebDAV và hơn 70 sản phẩm lưu trữ đám mây khác - Hỗ trợ tác vụ song song trên cùng một kho lưu trữ từ cùng một client
- Thêm tính năng Archive series;
NAMEdùng để nhận diện chuỗi archive cùng tên, còn một archive đơn lẻ cụ thể được nhận diện bằngaid:<archive hash> - Cú pháp dòng lệnh đã thay đổi nên cần sửa script và wrapper: kho lưu trữ thường được chỉ định bằng
BORG_REPOhoặcborg -r <MYREPO> <COMMAND>, không còn dùng định dạngrepo::archive - Đã loại bỏ cú pháp kho lưu trữ kiểu scp, cần dùng URL
ssh:// - Một số lệnh dùng chung cho kho/archive đã được tách ra hoặc đổi tên:
borg initthànhborg repo-create, thao tác với kho dùngborg repo-*, thao tác với archive dùngborg create NAME,borg list ID,borg extract ID... --glob-archivesđược đổi tên thành--match-archives, hỗ trợ kiểu mẫuid:,sh:,re:và mặc định làid:với so khớp chuỗi nguyên văn- Do dùng
platformdirs 3.x.x,XDG_*_HOMEkhông còn được áp dụng trên macOS và Windows; thư mục config/cache mặc định trên macOS được đổi thành~/Library/Application Support/borg/ - Đã loại bỏ
--remote-ratelimit,--numeric-owner,--nobsdflags,--noatime,--save-space,--bypass-lock,borg config - Không được dùng đồng thời
--listvà--progress, trừ ngoại lệ--log-json - Cải thiện hiệu năng của
borg checkvàcompacttrên kho có độ trễ cao bằng cách loại bỏ các lệnh gọirepository.list()không cần thiết; hiệu năng của hầu hết lệnh trên kho có độ trễ cao cũng được cải thiện so với b10 nhờ cache chỉ mục chunks trong kho - Đã sửa race condition hiếm gặp có thể gây mất dữ liệu trong file cache
- Mục file cache nay lưu cả
ctimevàmtime, đồng thời có thể dựng lại từ archive trước đó trong cùng một archive series - Tách file cache theo từng archive series để giảm mức dùng RAM
- Không còn cho phép chỉ định lặp lại một số tùy chọn vô nghĩa, nên các script trước đây từng chạy được có thể sẽ bị lỗi
1 bình luận
Các ý kiến trên Hacker News
Đang dùng BorgBackup và khá hài lòng
Gần như chỉ cần thiết lập một lần rồi quên đi, và đến nay sau 7 năm, sao lưu chống trùng lặp vẫn chạy hằng tuần không gặp vấn đề
Khuyên dùng cùng borgmatic, công cụ giúp giảm độ phức tạp của các bản sao lưu Borg bên trong: https://github.com/borgmatic-collective/borgmatic
https://vorta.borgbase.com/
Vì vậy tôi đang ngày càng nghiêng về rsync hoặc các công cụ có frontend GUI
Hiện giờ tôi chỉ dùng rclone để sao lưu lên máy từ xa của mình, nhưng rõ ràng đó không phải là một giải pháp chuyên nghiệp
Tôi từng định thêm Backblaze B2 làm điểm lưu trữ từ xa, nhưng chỉ dùng rclone thì có lẽ khó gọi là cách sao lưu hiện đại
Nói nghiêm túc thì rclone không phải là công cụ sao lưu, và dù có tính năng mã hóa, nó cũng hơi thô sơ
Theo tôi, một công cụ sao lưu đúng nghĩa cần chia dữ liệu thành các block có kích thước phù hợp, khi cần thì đóng gói thư mục bằng tar để giữ liên kết thay vì tạo nguyên dạng từng file theo API S3/B2, và xử lý các best practice đã được định hình từ lâu như chống trùng lặp
Không biết có công cụ nào đáng khuyên dùng không
Tôi có xem qua restic và duplicati, nhưng chúng không đơn giản như kỳ vọng đối với một công cụ sao lưu chuyên dụng
Tôi không cần GUI, thậm chí còn không muốn; sẽ tốt nếu toàn bộ cấu hình nằm trong một file cấu hình duy nhất để có thể sao lưu riêng như dữ liệu khác và tái tạo trên máy mới
Vấn đề lớn hơn là tôi đã thấy những câu chuyện đáng sợ về việc các công cụ này làm hỏng chỉ mục khiến không thể khôi phục dữ liệu; với công cụ sao lưu, đây là phần cốt lõi tuyệt đối không được phép xảy ra trong bất kỳ tình huống nào, nên thật khó chấp nhận
Nó đảm nhiệm vai trò giống restic, nhưng có thể bạn sẽ thích cách xử lý cấu hình của nó hơn
Tham khảo thêm: https://news.ycombinator.com/item?id=34154052
Tốt nhất là đừng mất công thử duplicati
Tôi đã nhiều lần cố dùng nó cho nghiêm túc nhưng lần nào cũng thất bại vì đầy lỗi; càng tiếc hơn vì tôi thích giao diện của nó
Sau đó tôi đã nâng cấp home server lên phần cứng tử tế hơn, nhưng nhìn chung bupstash chạy tốt hơn nên tôi vẫn giữ dùng
Tuy nhiên cần lưu ý là bản phát hành cuối cùng đã từ 2 năm trước, và tác giả vẫn đánh dấu nó là beta
Dù vậy, có vẻ tiêu chuẩn chất lượng của tác giả còn cao hơn nhiều dự án “không beta” khác
So sánh hữu ích các công cụ sao lưu: https://github.com/deajan/backup-bench
Khuyên nên đi theo phần hướng dẫn nhanh trong tài liệu
Nó hỗ trợ chống trùng lặp và mã hóa, đồng thời có nhiều tính năng hơn nữa, nhưng nếu không cần thì không phải dùng
Tôi đang dùng cùng borgmatic để xây dựng quy trình sao lưu và khôi phục sau thảm họa nhằm giảm rủi ro mất dữ liệu
borgbase cũng là dịch vụ tốt, nhưng nếu không cần các tính năng bổ sung của borgbase thì tận dụng hỗ trợ rclone để dùng nơi như B2 có thể rẻ hơn
Tôi đã dùng khá lâu cho cả dự án cá nhân lẫn công việc có trả phí, và trải nghiệm đều tốt
Borg 2 vẫn còn beta và Kopia cũng ở vị thế tương tự
Kopia là công cụ mới hơn nên tôi đang thử nghiệm trong một bản sao lưu chống trùng lặp riêng trên cùng máy; vì còn dung lượng nên cũng chẳng có lý do gì không làm
Thỉnh thoảng tôi chạy kiểm tra tính toàn vẹn, bao gồm cả dữ liệu, để có thể tin rằng metadata và dữ liệu vẫn ổn
“File cấu hình” thực ra là một shell script thiết lập môi trường như vị trí repository, chạy các bản sao lưu mong muốn, rồi thực hiện lệnh prune theo chính sách lưu giữ
Tôi đã dùng cấu hình này thành công trong vài năm
Chưa từng khôi phục toàn bộ, nhưng khôi phục từng file và thư mục thì không gặp vấn đề
Không biết có link nào liên quan đến vấn đề hỏng chỉ mục không
Bản thân tôi chưa từng gặp, nhưng dĩ nhiên một mẫu đơn lẻ thì không có nhiều ý nghĩa
Tôi đã muốn làm backend rclone cho Borg từ lâu
Nhưng ở v1, phần trừu tượng hóa backend chưa đủ tốt nên khó làm dễ dàng
Ở v2, Thomas Waldmann đã tạo sẵn một interface trừu tượng khá ổn, và phần mã rclone chỉ dưới 300 dòng Python, nên có thể làm xong trong một hai buổi chiều
https://github.com/borgbackup/borgstore/blob/master/src/borg...
Rất thú vị
Đây là tính năng đã được yêu cầu từ lâu, đặc biệt khi object storage ngày càng phổ biến và chi phí giảm xuống
Borg hoạt động với object storage không phải là hỗ trợ chính thức, nhưng một số người vẫn dùng theo cách đó
Theo tôi hiểu, đa số sao chép repository rồi tải lên thay vì để Borg trực tiếp ghi hoặc thao tác, nhưng nếu repository gốc bị hỏng thì lỗi hỏng đó cũng có thể bị sao chép theo, gây vấn đề
Với hỗ trợ lần này, mọi thứ có vẻ sẽ dễ hơn nhiều và workflow cũng đơn giản hơn
Việc chọn hỗ trợ rclone thay vì một dịch vụ cụ thể có vẻ là lựa chọn khôn ngoan và hướng tới tương lai hơn
Các bài viết liên quan
Borg 2.0 beta (deduplicating backup program with compression and encryption) - https://news.ycombinator.com/item?id=40990425 - tháng 7 năm 2024
Borgctl – borgbackup without bash scripts - https://news.ycombinator.com/item?id=39289656 - tháng 2 năm 2024
BorgBackup: Deduplicating archiver with compression and encryption - https://news.ycombinator.com/item?id=34152369 - tháng 12 năm 2022
Emborg – Front-End to Borg Backup - https://news.ycombinator.com/item?id=30035308 - tháng 1 năm 2022
Deduplicating Archiver with Compression and Encryption - https://news.ycombinator.com/item?id=27939412 - tháng 7 năm 2021
BorgBackup: Deduplicating Archiver - https://news.ycombinator.com/item?id=21642364 - tháng 11 năm 2019
Borg – Deduplicated backup with compression and authenticated encryption - https://news.ycombinator.com/item?id=13149759 - tháng 12 năm 2016
BorgBackup (short: Borg) is a deduplicating backup program - https://news.ycombinator.com/item?id=11192209 - tháng 2 năm 2016
Tôi tò mò liệu có bản so sánh mới nhất giữa Borg và Restic không, hoặc có lý do thuyết phục nào để chuyển từ Restic sang Borg không
Trước đây tôi từng dùng Borg, nhưng việc không thể dùng backend ngoài file cục bộ hoặc ssh là một vấn đề
Tôi chuyển sang Restic vào khoảng thời điểm Restic bắt đầu hỗ trợ nén
Với trường hợp sử dụng của tôi là sao lưu nhiều máy chủ lên nhà cung cấp lưu trữ tương thích S3, giờ đây Restic và Borg trông gần như ngang nhau
Tôi không muốn sửa thứ chưa hỏng, nhưng cũng muốn biết mình đang bỏ lỡ gì so với Borg khi dùng Restic
Như vậy thì việc sao lưu mới thực sự diễn ra
Nó cũng ít có cảm giác liên tục thay đổi hơn; tôi chưa từng muốn một dòng tính năng mới liên tục trong giải pháp sao lưu
Nếu đang tìm kho lưu trữ sao lưu trực tuyến giá rẻ, nên biết rằng gói đăng ký Microsoft 365 Single có kèm OneDrive 1TB
Gói Family là 1TB cho mỗi người
Tôi đã dùng thành công tổ hợp restic + rclone trong vài năm qua
Không nhanh, nhưng chạy được
1TB lưu trữ có thể truy cập qua SSH với giá 4 euro/tháng thì khó mà đánh bại
Tôi tò mò khi nào thì nên khuyến nghị Borg thay cho rsync thông thường cho mục đích cá nhân
Hiện tôi đang sao lưu bằng rsync một nhóm thư mục trên ổ đĩa sang một ổ đĩa khác và một dịch vụ từ xa (rsync.net)
Nó hoạt động tốt, nhưng vì trường hợp sử dụng của tôi đơn giản nên tôi không chắc giải pháp này đã đủ chưa, hay tôi đang bỏ lỡ lợi thế lớn nào của Borg
Tôi thích tính năng mã hóa của Borg, nhưng sự phức tạp của một công cụ mới và nỗi lo có thể tự làm hỏng dữ liệu khiến tôi khó chuyển sang
Dữ liệu cần sao lưu hiện khoảng 5TB, không phải quá nhiều
Sao lưu mail gồm 17 bản sao lưu của 6 tháng gần nhất vốn là 837GB, sau nén còn 312GB, sau chống trùng lặp còn 19GB
Postgres cũng giảm từ 25GB xuống 7GB, rồi còn 900MB
Sao lưu mail có thể cũng tiết kiệm dung lượng bằng hard link của rsync, nhưng tôi không chắc nó có thể nhỏ đến mức này mà không cần tinh chỉnh riêng không
Có nhiều snapshot là điều rất quan trọng
Cũng đáng tham khảo các tài liệu như http://www.taobackup.com/
rsync rất chậm khi có nhiều file, và cũng không xử lý được file đã đổi tên nên sẽ truyền lại
Dùng Borg, bạn có thể xem tất cả các bản sao lưu đã tạo và khôi phục về bất kỳ thời điểm nào trong các snapshot trước đó
Đây cũng là ưu điểm của nhiều giải pháp sao lưu khác
Cụ thể, nếu bạn vô tình xóa một file và trạng thái đó được rsync, bạn không thể khôi phục file từ bản sao lưu đó
Với Borg thì có thể
Muốn biết liệu có lý do nào nên dùng mã hóa của Borg thay vì rclone crypt, hoặc ngược lại không
Đây là công cụ sao chép tệp từ máy này sang máy khác, và trong trường hợp này là mã hóa trước khi sao chép
Gần giống rsync dùng với đám mây
Borg là một loại công cụ khác dành cho sao lưu
Nó khử trùng lặp, mã hóa, tạo snapshot, checksum và nén thư mục nguồn vào một kho lưu trữ duy nhất
Hoạt động theo đơn vị khối dữ liệu, không phải theo đơn vị tệp
Cũng bao gồm các lệnh quản lý kho lưu trữ, cho phép tìm kiếm dữ liệu, dọn dẹp hoặc hợp nhất snapshot, v.v.
Sau đó có thể dùng các công cụ như rsync/SSH hoặc rclone để truyền hoặc đồng bộ kho lưu trữ đến nơi mong muốn
Nay rclone được hỗ trợ native, nên có thể sao lưu trực tiếp đến máy từ xa mà không cần đặt kho lưu trữ ở cả local lẫn remote
Muốn biết chúng khác nhau thế nào về hiệu quả và mã hóa
Đã xem qua rsync.net, nhưng tiếc là dịch vụ này không hỗ trợ cách mã hóa hợp lý
Đã dùng backup Borg trên rsync.net vài năm nay và hài lòng
Họ hỗ trợ tính năng ép dùng Borg trong phiên ssh bằng force-command, và Borg có tùy chọn ngăn xóa ngay cả khi khóa ssh sao lưu bị đánh cắp
Nhìn chung đây là giải pháp vững chắc mà không quá đau đầu khi cấu hình
Như đã nói, có thể làm được trên rsync.net nếu ép lệnh, và snapshot của rsync.net cũng là một lớp bảo vệ giúp tránh trường hợp lỡ xóa nhầm