Sử dụng RSYNC với Amazon S3 [đã đóng]


39

Tôi quan tâm đến việc sử dụng Amazon S3 để sao lưu hình ảnh máy chủ ~ 100gb của chúng tôi (được tạo thông qua các công cụ sao lưu Acronis)

Rõ ràng, việc tải lên S3 này mỗi đêm sẽ rất tốn kém, về băng thông và chi phí. Tôi đang xem xét sử dụng rsync với S3 và đã tìm thấy s3rsync. Tôi chỉ tự hỏi nếu có ai có bất kỳ kinh nghiệm sử dụng này, hoặc bất kỳ tiện ích khác?


1
Một điều tôi nhận thấy về s3rsync là bạn hiện bị giới hạn ở kích thước nhóm 10 GB (kiểm tra Câu hỏi thường gặp). Bạn có thể có nhiều nhóm, nhưng bạn phải chia dữ liệu của mình thành các khối 10 GB.
dana

Câu trả lời:


35

Gần đây tôi tình cờ thấy chủ đề này trên Google và có vẻ như phong cảnh đã thay đổi một chút kể từ khi câu hỏi được hỏi. Hầu hết các giải pháp được đề xuất ở đây không còn được duy trì hoặc đã chuyển sang thương mại.

Sau một số thất vọng khi làm việc với FUSE và một số giải pháp khác, tôi đã quyết định viết rsync dòng lệnh của riêng mình cho S3 và Google Storage bằng Python.

Bạn có thể kiểm tra dự án trên GitHub: http://github.com/seedifferently/boto_rsync

Một dự án khác mà gần đây tôi đã nhận thức được là "sự trùng lặp". Nó có vẻ phức tạp hơn một chút và nó có thể được tìm thấy ở đây: http : // d repeatity.nongnu.org/

Hi vọng điêu nay co ich.

CẬP NHẬT

Nhóm Python tại AWS đã làm việc chăm chỉ cho một dự án CLI dựa trên boto cho các dịch vụ đám mây của họ. Trong số các công cụ đi kèm là một giao diện cho S3 sao chép (và theo nhiều cách thay thế) hầu hết các chức năng được cung cấp bởi boto-rsync:

https://github.com/aws/aws-cli

Đặc biệt, synclệnh có thể được cấu hình để hoạt động gần như chính xác như rsync:

http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html


đóng góp to lớn! cảm ơn và tôi sẽ cung cấp cho mã của bạn một shot sớm. Bạn có bất kỳ phải đọc cho việc học python / django? Chúc mừng
iainlbc

Chương trình của bạn có những ưu điểm / khác biệt gì so với S3cmd và S3sync?
James McMahon

@JamesMcMahon s3cmd / s3sync là CLI đầy đủ tính năng hơn cho S3 (quản lý xô, danh sách nội dung, v.v.), trong khi boto-rsync hoàn toàn là một nỗ lực bắt chước rsync.
Seth

Có một cầu chì s3fs: github.com/s3fs-fuse/s3fs-fuse hoạt động khá tuyệt vời và có thể được kết hợp với rsync tuy nhiên tôi không chắc cách hiệu quả.
Stanislav

Thật tuyệt vời nếu bạn có thể giải thích làm thế nào "lệnh đồng bộ hóa có thể được cấu hình để hoạt động gần như chính xác như rsync".
trusktr

10

Tôi cũng đã có may mắn với S3cmdS3sync , cả hai đều miễn phí.


+1 cho S3cmd -.-
fnkr

S3cmd có vấn đề với các filenumbers lớn (> 300k tệp) .. Nó ăn khoảng 1gig trên 100k tệp bộ nhớ làm việc rất tốt để ghi nhớ giới hạn đó ..
Tuxie

7

Tùy thuộc vào cách tạo hình ảnh Acronis của bạn, tôi không chắc bất kỳ loại rsync nào sẽ giúp bạn tiết kiệm băng thông. Hình ảnh Acronis là (các) tệp duy nhất, vì vậy rsync sẽ không thể đọc bên trong chúng để chỉ sao lưu những gì đã thay đổi. Cũng không chắc chắn loại hình máy chủ nào bạn đang tạo, nhưng vì bạn đã nói 100GB tôi sẽ giả sử đầy đủ? Một hình ảnh gia tăng sẽ giảm đáng kể kích thước hình ảnh hàng đêm, do đó tiết kiệm băng thông. Bạn cũng có thể xem xét việc lưu hình ảnh vào một vị trí thay thế so với S3, chẳng hạn như phương tiện băng và lưu trữ ngoài trang web đó.


4
Không, rsync không hoạt động như vậy. Nó hoạt động với bất kỳ loại tệp nào và không cần bất kỳ kiến ​​thức nào về nội bộ của tệp đồng bộ hóa. Thay vào đó, nó so sánh các phần băm của tệp và chỉ chuyển các phần khác nhau. vi.wikipedia.org/wiki/Rsync
Alan Donnelly

2
và không có mâm cặp nào phù hợp bởi vì bất kỳ thay đổi nhỏ nào trong các tệp bên trong hình ảnh sẽ khiến toàn bộ tệp thay đổi do nén. Ngay cả khi đã tắt tính năng nén, tôi không chắc nó sẽ hoạt động tốt vì các tệp bên trong hình ảnh có thể thay đổi thứ tự và nó khớp trên cơ sở cuộn, thay vì chỉ tìm thấy bất kỳ đoạn nào giống nhau.
JamesRyan

4

Tôi chưa bao giờ thử S3rsync.

Tôi đang sử dụng bản sao để sao lưu ngoài trang web của chúng tôi. Nó hỗ trợ sao lưu gia tăng trên S3 mặc dù nó không thực sự tiết kiệm băng thông do giao thức lưu trữ Amazon S3 trong đó bất kỳ sửa đổi tệp nào buộc bạn phải tải lại toàn bộ tệp mới. Dù sao, sự trùng lặp chỉ tải lên sự khác biệt từ bản sao lưu gia tăng cuối cùng.

Với Sao chép, bạn sẽ không cần phải đi qua một máy chủ khác như S3sync, dù sao nếu bạn mã hóa dữ liệu của mình thì cũng đáng để thử S3sync.


1

S3 cũng có một dịch vụ bổ trợ có tên AWS Nhập / Xuất cho phép bạn gửi ổ USB với dữ liệu 100Gb ban đầu của bạn cho họ và họ sẽ tải nó trên đám mây S3 bằng một số công cụ phụ trợ tại trung tâm dữ liệu của họ. Khi 100Gb của bạn ở đó, bạn có thể thực hiện sao lưu vi sai mỗi đêm để sao lưu mọi thứ đã thay đổi.

Trang web là http://aws.amazon.com/importexport/

Nếu phần lớn dữ liệu của bạn khá tĩnh thì đây sẽ là một lựa chọn tốt, nếu toàn bộ 100Gb dữ liệu thay đổi hàng ngày thì điều này sẽ không giúp bạn nhiều.


3
Làm thế nào để bạn cho rằng họ "tải" ổ đĩa flash 128Gb? Tôi hình dung trung tâm usb lớn nhất thế giới, bảng nối từ trần đến sàn của các đầu nối USB, 3/4 ổ đĩa flash do khách hàng cung cấp, tất cả sẽ đi vào mặt sau của một máy chủ phiến đơn.
Paul

Thật là một hình ảnh !! Trong thực tế có lẽ một số người nghèo ở một góc tối của một trung tâm dữ liệu với trung tâm usb lớn nhất thế giới của bạn được kết nối với PC của anh ấy :)
monkeymagic

0

Bạn có thể thử minio client aka "mc". mc cung cấp các công cụ tối thiểu để làm việc với hệ thống lưu trữ và hệ thống tệp đám mây tương thích Amazon S3.

mc thực hiện các lệnh sau

  ls        List files and folders.
  mb        Make a bucket or folder.
  cat       Display contents of a file.
  pipe      Write contents of stdin to one or more targets. When no target is specified, it writes to stdout.
  share     Generate URL for sharing.
  cp        Copy one or more objects to a target.
  mirror    Mirror folders recursively from a single source to many destinations.
  diff      Compute differences between two folders.
  rm        Remove file or bucket [WARNING: Use with care].
  access    Manage bucket access permissions.
  session   Manage saved sessions of cp and mirror operations.
  config    Manage configuration file.
  update    Check for a new software update.
  version   Print version.

Bạn có thể sử dụng lệnh mirror để thực hiện thao tác của mình. "localdir" là thư mục cục bộ & S3 [bí danh cho Amazon S3] và tên "remoteDir" của nhóm của bạn trên S3.

$ mc mirror localdir/ S3/remoteDir

Bạn cũng có thể viết một cronjob cho cùng. Ngoài ra, trong trường hợp mạng bị xúc phạm, bạn vẫn có thể sử dụng "phiên $ mc" để khởi động lại quá trình tải lên từ thời điểm cụ thể đó.

Tái bút: Tôi đóng góp cho dự án minio & rất thích nhận phản hồi & đóng góp của bạn. Hy vọng nó giúp.


-1

Phiên bản Jungle Disk Server mới (beta) có thể hữu ích cho bạn. Nó có chức năng chống trùng lặp cấp khối, vì vậy nếu hình ảnh Acronis của bạn có điểm chung, điều này sẽ giảm đáng kể số lượng bạn cần sao lưu. Các tính năng là hoàn hảo để sao lưu máy chủ. Kiểm tra các ghi chú phát hành.

Tôi đã thử nghiệm bản beta trong hai tuần và, ngoài một số vấn đề nhỏ với GUI mà tôi chắc chắn sẽ được khắc phục trong trận chung kết, rất vui mừng về sản phẩm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.