Một cách thực tế để phản chiếu một xô Amazon S3 là gì?


9

Tôi muốn phản chiếu xô Amazon S3 của tôi. Tôi muốn làm điều này vì 1) Tôi không muốn tất cả dữ liệu của mình chỉ tồn tại với một nhà cung cấp; và 2) trong trường hợp lỗi phần mềm hoặc vi phạm bảo mật, tôi muốn sao lưu dữ liệu.

Tôi có thể phản chiếu vào một đĩa cục bộ có chức năng đồng bộ hóa s3cmd, nhưng điều đó không mở rộng cho các nhóm rất lớn và không hữu ích cho việc khôi phục sao lưu nhanh. Tôi muốn dữ liệu của mình được nhân đôi cho đối thủ cạnh tranh như Rackspace Cloud Files.

Bất cứ ai cũng có một số gợi ý về một cách đơn giản và mạnh mẽ để tạo điều kiện cho loại phản chiếu này theo cách tự động trên hộp Linux?


Tôi có đúng không khi cho rằng không có câu trả lời nào thực sự giải quyết được "1) Tôi không muốn tất cả dữ liệu của mình chỉ tồn tại với một nhà cung cấp", bởi vì tất cả chúng chỉ là các thùng gương trong cùng một nhà cung cấp?
Chris

Câu trả lời:


6

Bạn có thể sử dụng tiện ích " s3cmd " với tùy chọn "đồng bộ hóa", mặc dù tôi vấp phải câu hỏi của bạn vì tôi đang cố gắng tìm hiểu xem cơ chế đồng bộ hóa này có làm hỏng các bản sao lưu trùng lặp của tôi không.


đây thực sự là giải pháp tốt nhất tôi đã tìm thấy s3tools.org/s3cmd-sync
John Bachir

5

Tôi đã gặp vấn đề tương tự vì vậy tôi đã đưa ra một chương trình nhỏ được thiết kế đặc biệt để phản chiếu một thùng S3 sang một thùng khác; Tôi gọi nó là s3s3mirror.

Trước tiên tôi đã thử cách tiếp cận "đồng bộ s3cmd", nhưng tôi có một thùng có hàng trăm ngàn đối tượng trong đó và "đồng bộ s3cmd" chỉ ngồi đó, không làm gì ngoài việc tiêu tốn nhiều bộ nhớ hơn cho đến khi hệ thống của tôi chết. Tôi đã thiết kế s3s3mirror để bắt đầu ngay lập tức, sử dụng 100 luồng đồng thời (có thể định cấu hình) và sử dụng CPU và bộ nhớ một cách khiêm tốn. Nếu tôi tự nói như vậy, thì nó khá là quái đản.

Tôi đã cung cấp tính năng này trên github theo Giấy phép Apache. Nếu bạn quyết định cho nó một vòng xoáy, xin vui lòng cho tôi biết những gì bạn nghĩ và nếu có bất cứ điều gì có thể được cải thiện.

Đây là liên kết: https://github.com/cobbzilla/s3s3mirror

cảm ơn!

  • jonathan.

Cảm ơn công việc của bạn, tôi đã tạo ra một container docker có thể thực hiện được điều này và đã sử dụng nó trong sản xuất: github.com/pmoust/s3s3mirror-docker
Panagiotis Moustafellos

4

Amazon hiện có một công cụ được hỗ trợ để làm điều này, đó là aws cli .

Nó có thể phản chiếu theo một trong hai hướng giữa cục bộ và từ xa hoặc giữa hai vị trí s3.

Thật không may, nó không có bất kỳ sự hỗ trợ trực tiếp nào cho các vị trí không phải S3 như rackspace, nhưng tôi nghĩ đây sẽ là một câu trả lời hữu ích cho một số người tìm thấy câu hỏi này. Giống như tôi, trước khi tôi tìm thấy nó.

Đặc biệt,

aws s3 sync s3://some/s3/path /some/local/path

2

Kiểm tra máy chủ đĩa Jungle . Nó hoạt động với cả Amazon S3 và Rackspace Cloud Files. Bạn có thể gắn S3 và CF ở các vị trí khác nhau trên hệ thống tệp của mình và sau đó sử dụng rsync giữa hai vị trí.


Cảm ơn, nhưng tôi nên đề cập rằng tôi đang tìm kiếm một giải pháp tôi có thể chạy như một công việc định kỳ trên hộp Linux. Tôi đã cập nhật câu hỏi.
Ben

2

Bạn có thể thử gắn các thùng với cầu chì bằng s3fs . Khi đã xong, bạn có thể rsync từ điểm gắn kết vào đĩa cục bộ của bạn.


1
+1 cho s3fs, tôi vừa cam kết một bản vá để hỗ trợ các tệp có kích thước lên tới 5TB.
ben lidiaurier

1

Bạn có thể thiết lập máy chủ Minio , mã nguồn mở và API tương thích S3. Bạn có thể thiết lập nó trên EC2 hoặc trên bất kỳ nhà cung cấp đám mây nào làm máy chủ thay thế của bạn và sử dụng lệnh máy khách Minio mc mirror lấy gương của S3 theo định kỳ. Bạn có thể tự động hóa việc viết cùng một tập lệnh cron đơn giản.

Hy vọng nó giúp. Tuyên bố miễn trừ trách nhiệm: Tôi làm việc cho Minio


1

Để đồng bộ hóa trực tuyến các nhóm, bạn có thể sử dụng sao chép liên vùng. Bằng cách này, tất cả các bản cập nhật cho nhóm gốc sẽ được tự động đồng bộ hóa với nhóm S3 ở khu vực khác: https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html

Hãy nhớ rằng nó yêu cầu kích hoạt phiên bản cho nhóm vì vậy nếu bạn cập nhật / xóa đối tượng trong các thùng, bạn sẽ muốn kích hoạt chính sách vòng đời để xóa các đối tượng cũ.


Đây là những gì chúng tôi đã chọn để sử dụng, nhưng lưu ý rằng sao chép không giống như phản chiếu. Sự khác biệt lớn là việc xóa không được lan truyền giữa nguồn và đích (đích sẽ cập nhật các tệp thay đổi, nhưng dường như không bao giờ xóa chúng).
Scott Gartner
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.