Sao lưu dữ liệu được lưu trữ trên Amazon S3


16

Tôi có một phiên bản EC2 đang chạy một máy chủ web lưu trữ các tệp đã tải lên của người dùng vào S3. Các tập tin được ghi một lần và không bao giờ thay đổi, nhưng thỉnh thoảng được người dùng truy xuất. Chúng tôi có thể sẽ tích lũy khoảng 200-500GB dữ liệu mỗi năm. Chúng tôi muốn đảm bảo dữ liệu này an toàn, đặc biệt là từ việc xóa ngẫu nhiên và muốn có thể khôi phục các tệp đã bị xóa bất kể lý do.

Tôi đã đọc về tính năng tạo phiên bản cho các thùng S3, nhưng dường như tôi không thể tìm thấy liệu có thể phục hồi cho các tệp không có lịch sử sửa đổi hay không. Xem tài liệu AWS tại đây về phiên bản:

http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html

Trong các ví dụ đó, họ không hiển thị kịch bản nơi dữ liệu được tải lên, nhưng không bao giờ được sửa đổi và sau đó bị xóa. Các tập tin bị xóa trong kịch bản này có thể phục hồi?

Sau đó, chúng tôi nghĩ rằng chúng tôi có thể chỉ sao lưu các tệp S3 vào Glacier bằng cách sử dụng quản lý vòng đời đối tượng:

http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html

Nhưng, có vẻ như điều này sẽ không hoạt động đối với chúng tôi, vì đối tượng tệp không được sao chép sang Glacier mà được chuyển sang Glacier (chính xác hơn có vẻ như đó là một thuộc tính đối tượng đã được thay đổi, nhưng dù sao thì ...).

Vì vậy, dường như không có cách trực tiếp để sao lưu dữ liệu S3 và việc truyền dữ liệu từ S3 sang máy chủ cục bộ có thể tốn thời gian và có thể phải chịu chi phí chuyển đáng kể theo thời gian.

Cuối cùng, chúng tôi nghĩ rằng chúng tôi sẽ tạo một nhóm mới mỗi tháng để phục vụ như một bản sao lưu đầy đủ hàng tháng và sao chép dữ liệu của nhóm ban đầu sang ngày mới vào ngày 1. Sau đó, sử dụng một cái gì đó như trùng lặp ( http: // d repeatity.nongnu.org/ ) chúng tôi sẽ đồng bộ hóa thùng dự phòng mỗi đêm. Vào cuối tháng, chúng tôi sẽ đưa nội dung của nhóm sao lưu vào bộ lưu trữ Glacier và tạo một nhóm sao lưu mới bằng cách sử dụng một bản sao mới, hiện tại của nhóm ban đầu ... và lặp lại quy trình này. Điều này có vẻ như sẽ hoạt động và giảm thiểu chi phí lưu trữ / chuyển giao, nhưng tôi không chắc liệu sự trùng lặp có cho phép chuyển trực tiếp từ xô sang xô mà không đưa dữ liệu xuống máy khách kiểm soát trước hay không.

Vì vậy, tôi đoán có một vài câu hỏi ở đây. Đầu tiên, phiên bản S3 có cho phép khôi phục các tệp không bao giờ được sửa đổi không? Có cách nào để "sao chép" các tệp từ S3 sang Glacier mà tôi đã bỏ lỡ không? Có thể sao chép trực tiếp hoặc bất kỳ công cụ chuyển tập tin nào khác giữa các thùng S3 để tránh chi phí chuyển nhượng không? Cuối cùng, tôi có bỏ qua cách tiếp cận để sao lưu dữ liệu S3 không?

Cảm ơn trước cho bất kỳ cái nhìn sâu sắc mà bạn có thể cung cấp!

Cập nhật

Amazon gần đây đã thông báo rằng phiên bản hiện hoạt động với các quy tắc vòng đời


aws.amazon.com/blogs/aws/archive-s3-to-glacier/... + có đẹp youtube ngắn video ở dưới cùng giải thích s3 đến sông băng
equivalent8

Câu trả lời:


10

Tôi đã đọc về tính năng tạo phiên bản cho các thùng S3, nhưng dường như tôi không thể tìm thấy nếu> có thể phục hồi cho các tệp không có lịch sử sửa đổi. Xem tài liệu AWS tại đây trên> phiên bản:

Tôi vừa mới thử cái này. Có, bạn có thể khôi phục từ phiên bản gốc. Khi bạn xóa tệp, nó tạo một điểm đánh dấu xóa và bạn có thể khôi phục phiên bản trước đó, tức là: bản sửa đổi duy nhất, duy nhất, sửa đổi.

Sau đó, chúng tôi nghĩ rằng chúng tôi có thể chỉ sao lưu các tệp S3 vào Glacier bằng cách sử dụng vòng đời đối tượng> quản lý:

Nhưng, có vẻ như điều này sẽ không hoạt động đối với chúng tôi, vì đối tượng tệp không được sao chép sang Glacier mà> được chuyển sang Glacier (chính xác hơn có vẻ như đó là một thuộc tính đối tượng đã được thay đổi, nhưng> dù sao ...).

Glacier thực sự có nghĩa là để lưu trữ lâu dài, được truy cập rất thường xuyên. Nó cũng có thể rất tốn kém để lấy một phần lớn dữ liệu của bạn trong một lần, vì nó không có nghĩa là phục hồi rất nhiều dữ liệu theo thời gian (phần trăm khôn ngoan).

Cuối cùng, chúng tôi nghĩ rằng chúng tôi sẽ tạo một nhóm mới mỗi tháng để phục vụ như một bản sao lưu đầy đủ hàng tháng và sao chép dữ liệu của nhóm ban đầu sang ngày mới vào ngày 1. Sau đó, sử dụng một cái gì đó> như trùng lặp ( http: //d repeatity.nongnu. org / ) chúng tôi sẽ đồng bộ hóa nhóm sao lưu mỗi đêm.

Đừng làm điều này, bạn chỉ có thể có 100 thùng cho mỗi tài khoản, vì vậy trong 3 năm, bạn sẽ chiếm một phần ba khoản trợ cấp xô của mình chỉ bằng các bản sao lưu.

Vì vậy, tôi đoán có một vài câu hỏi ở đây. Đầu tiên, phiên bản S3 có cho phép khôi phục> các tệp không bao giờ được sửa đổi không?

Đúng

Có cách nào để "sao chép" các tệp từ S3 sang Glacier mà tôi đã bỏ lỡ không?

Không phải là tôi biết


Cảm ơn Sirex, một điều rõ ràng: chúng tôi dự định chỉ giữ một thùng dự phòng tại một thời điểm (tháng hiện tại) và lưu trữ bản sao lưu của tháng trước vào Glacier, sau đó xóa các bản sao Glacier trên một số chính sách lưu giữ chung (mỗi tháng trong 3 tháng sau đó hàng quý trong một năm). Bạn có nghĩ rằng điều này là có thể, hoặc có một số hạn chế AWS khác ngăn chặn chiến lược này không?
Fiver

hmm, tôi đoán đó là hợp lý Tôi đã không thử điều đó trong sự tức giận (hoặc sông băng cho vấn đề đó, chúng tôi sử dụng Sydney và nó không có sẵn khi chúng tôi xem xét nó)
Sirex

3

Tôi không thích gắn s3, vì nó chậm và có thể treo và hoạt động như nfs trường cũ. tốt hơn là chỉ lên / xuống khi cần thiết.

http://s3tools.org/s3cmd

kịch bản dễ dàng ... đừng quên tập tin ~ / .s3cfg của bạn


Wow, điều này có vẻ mát mẻ!
JakeGould

@nandoP +1 Tôi đã nghĩ đến việc sử dụng s3cmd và tự lăn
Fiver

1

Âm thanh như bạn có thể cần S3FS, về cơ bản gắn các thùng S3 của bạn như thể chúng là các hệ thống tệp cục bộ:

http://code.google.com.vn/p/s3fs/wiki/FuseOverAmazon

Tôi thích sử dụng phiên bản rẽ nhánh này vì nó vẫn giữ cấu trúc thư mục giống như những gì được tạo trong bảng điều khiển web cho Amazon S3:

https://github.com/tongwang/s3fs-c

Sau đó, tôi có một số tập lệnh shell được sử dụng rsyncđể đồng bộ hóa dữ liệu với các thiết lập cục bộ của tôi.

Nói chung, tôi thấy S3FS hoạt động tốt nhất để đọc nội dung được đặt trong các thùng Amazon S3. Viết không nhất quán. Nhưng với mục đích sao lưu các thùng S3, ngã ba Tony Wang của S3FS hoạt động rất tốt.


1
Điều này nghe có vẻ hữu ích. Nó có chuyển trực tiếp giữa các thùng, mà không tải xuống máy khách không?
Fiver

Có thể là có. Tôi chủ yếu sử dụng nó để gắn kết trên một máy chủ cục bộ và sao lưu vào các máy cục bộ của chúng tôi. Nhưng vì nó không có khả năng ghi, nên tôi sẽ không cai trị việc sử dụng nó như là một đường đi giữa các vùng để trộn dữ liệu giữa các nhóm. Về cơ bản trên một máy trung gian, gắn một thùng trên một điểm gắn. Sau đó gắn các thùng khác như một điểm gắn kết khác. Và sau đó chỉ cần làm một rsync. Nhưng như tôi đã nói, thời gian / ngày sửa đổi có thể kỳ lạ với Amazon S3 vì đây không thực sự là một hệ thống tệp. Nhưng thử nghiệm.
JakeGould
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.