4 điểm bởi GN⁺ 2024-10-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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ên borg >= 1.2.6 hoặ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; NAME dù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ằng aid:<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_REPO hoặc borg -r <MYREPO> <COMMAND>, không còn dùng định dạng repo::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 init thành borg repo-create, thao tác với kho dùng borg repo-*, thao tác với archive dùng borg create NAME, borg list ID, borg extract ID...
  • --glob-archives được đổi tên thành --match-archives, hỗ trợ kiểu mẫu id:, 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_*_HOME khô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 --list--progress, trừ ngoại lệ --log-json
  • Cải thiện hiệu năng của borg checkcompact trên kho có độ trễ cao bằng cách loại bỏ các lệnh gọi repository.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ả ctimemtime, đồ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

 
GN⁺ 2024-10-02
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

    • Nếu dùng môi trường desktop và thích GUI thì Vorta cũng rất hợp
      https://vorta.borgbase.com/
    • Những công cụ kiểu này, sau khi học cách dùng và thiết lập xong, thì đúng là sẽ quên bẵng đi; về sau việc phải nhớ lại trở nên phiền phức nên dễ né tránh xác minh bản sao lưu
      Vì vậy tôi đang ngày càng nghiêng về rsync hoặc các công cụ có frontend GUI
    • Nếu “thiết lập rồi quên” suốt 7 năm, hy vọng thỉnh thoảng vẫn có xác minh khôi phục bản sao lưu
    • Không biết có client Android nào ổn không
  • 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ếu muốn xử lý cấu hình như một file duy nhất, nên xem thử kopia
      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 khi thử sao lưu trên rpi và thấy Borg quá chậm đến mức không dùng nổi, tôi chuyển sang dùng bupstash
      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
    • Có đơn giản hay không còn tùy use case, nhưng borg rất tuyệt
      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
    • Tôi dùng bộ restic + autorestic/resticprofile
      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
    • Tôi rất hài lòng khi dùng Restic để sao lưu lên BackBlaze B2
      “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

    • Tôi thích restic hơn vì dễ hiểu và dễ dùng hơn
      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

    • Sản phẩm storage box của Hetzner cũng đáng xem xét
      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

    • Với tôi, chống trùng lặp và nén giúp tiết kiệm dung lượng lưu trữ rất 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
    • Một vấn đề phổ biến là nếu bạn xóa hoặc làm hỏng file rồi hai ngày sau mới phát hiện, một bản sao lưu hằng ngày sẽ không giúp gì
      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
    • Với rsync, bạn chỉ sao chép trạng thái cuối cùng
      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

    1. https://borgbackup.readthedocs.io/en/2.0.0b11/quickstart.htm...
    2. https://rclone.org/crypt/
    • rclone crypt không liên quan nhiều đến Borg
      Đâ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
    • Cũng muốn biết điểm khác biệt giữa gói này và Restic
      Muốn biết chúng khác nhau thế nào về hiệu quả và mã hóa
    • Muốn biết khử trùng lặp hoạt động tốt đến đâu khi bật 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

    • Tôi từng tìm một giải pháp để máy chủ bị xâm nhập không thể tự xóa bản sao lưu của nó
      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