2013-07-02 48 views
6

Tôi đang gặp sự cố khi chia sẻ bộ nhớ giữa nhiều phiên bản EC2. Tôi sẽ phải chạy những công việc nặng nhọc nên tôi sẽ cần rất nhiều trường hợp để làm điều đó. Ở một bên, tôi có một khối lượng EBS gắn liền với một cá thể máy chủ. Ở phía bên kia tôi có một ví dụ công nhân. Tôi đã tạo một AMI của cá thể nhân viên này và sau đó tôi tạo ra một vài bản sao của AMI này. Có tất cả đang chạy trên cùng một VPC. Về cơ bản, cá thể máy chủ đang gửi công việc và người lao động đang thực hiện công việc. Tôi muốn tiết kiệm một số file log khi công nhân của tôi đang chạy các công việc, trong một cái gì đó lưu trữ phần như:Bộ nhớ chia sẻ giữa nhiều phiên bản AWS EC2

worker_1/ logfile.log

worker_2/ logfile.log

gì có thể là giải pháp tốt nhất để làm điều đó?

  • Tôi đọc không thể đính kèm cùng một khối lượng EBS cho nhiều phiên bản.
  • tôi đã có một cái nhìn tại GlusterFS nhưng đây là những gì tôi thấy:

"Trước khi nhận ra một bằng chứng của khái niệm với hai máy chủ, trong khu sẵn có khác nhau, sao chép một khối lượng EBS với một hệ thống tập tin ext4, chúng tôi sẽ liệt kê các trường hợp không sử dụng GlusterFS: Các tệp tuần tự được ghi đồng thời từ nhiều máy chủ như nhật ký. Hệ thống khóa có thể dẫn đến các sự cố nghiêm trọng nếu bạn lưu trữ nhật ký trong GlusterFS. để lưu trữ chúng. Nếu cần, chúng tôi có thể hợp nhất nhiều nhật ký máy chủ trước hoặc sau khi lưu trữ chúng trong S3. "

  • Và cuối cùng, tôi cũng đã kiểm tra S3 xô gắn với s3fs nhưng tôi phát hiện ra nó không phải là một lựa chọn tốt quá:

"Bạn không thể cập nhật phần một tập tin với s3fs để thay đổi một byte sẽ tải lại toàn bộ tập tin ". Sau đó, nếu bạn muốn thực hiện thay đổi gia tăng nhỏ thì đó là số không xác định. Bạn không thể sử dụng s3fs - S3 Chỉ cần không làm việc theo cách đó bạn không thể thay đổi từng tệp một. ”

Sau đó, giải pháp tốt cho vấn đề của tôi và cho phép nhân viên viết tệp nhật ký của họ một lưu trữ chia sẻ?

Nhờ sự giúp đỡ của bạn!

Romanzo

+0

Hãy xem một câu hỏi tương tự tại đây http://stackoverflow.com/questions/841240/can-you-attach-amazon-ebs-to-multiple-instances – Scott

Trả lời

4

Cảm ơn câu trả lời. nhưng cuối cùng tôi đang sử dụng NFS giữa các trường hợp và nó hoạt động khá tốt!

+1

Tôi có thể giới thiệu NFS trong AWS. Tôi đã chạy nó trong hơn 1 năm nay mà không có bất kỳ vấn đề. Mạng trong cùng một khu vực hoạt động rất tốt. Tuy nhiên, cần thêm 1 cá thể để duy trì cho máy chủ NFS – WooDzu

+1

Ngoài ra, hãy kiểm tra dịch vụ AWS EFS mới: http://aws.amazon.com/efs/ – Charles

+0

NFS vẫn là một SPOF (điểm lỗi duy nhất) và EFS AWS chỉ là có sẵn ở chế độ xem trước ở khu vực Oregon. Tôi nghĩ tốt nhất chúng ta có thể làm là tạo ra một khối lượng EBS cụ thể của NFS, và nếu cá thể EC2 đi xuống, hãy tách nó ra và gắn nó vào một thể hiện khác. Điều này sẽ mất một thời gian mặc dù công việc chuẩn bị b/c sẽ phải được thực hiện trên phiên bản mới. –

0

bạn có xem xét các tùy chọn có mỗi công nhân viết bản ghi của nó trên một đĩa cục bộ (có lẽ ngay cả trên phân vùng phù du), và sau đó làm mỗi nhân viên tải lên tệp nhật ký lớn của riêng mình lên S3 sau khi hoàn thành?

Điều này tương tự như những gì xảy ra khi bạn sử dụng Elastic MapReduce để chạy một số tác vụ phân tán trên cụm Hadoop.

Bạn sẽ nhận được thông lượng ghi cao (vì nó đang ghi vào đĩa cục bộ, nếu bạn sử dụng phân vùng tạm thời) và thông lượng tải lên cao để gửi tệp tới S3 (vì bạn có băng thông của nhiều công nhân có sẵn).

+0

hanks cho câu trả lời của bạn. Tôi muốn có nhật ký ghi công nhân trong khi họ đang chạy không sau khi công việc được thực hiện (bởi vì nó có thể là một công việc thực sự dài). Nhưng cuối cùng tôi đang cố gắng sử dụng NFS. Chúng tôi sẽ xem nó như thế nào! –

+0

Một tùy chọn khác là làm cho người lao động viết nhật ký trên đĩa cục bộ (thêm vào tệp cục bộ) cho đến khi đạt đến một số giới hạn (số dòng được viết hoặc số byte được viết hoặc một khoảng thời gian trôi qua, bất kỳ điều gì). Khi đạt đến giới hạn, hãy ngừng ghi vào tập tin đó và bắt đầu ghi vào một tệp mới, và tải tệp đã hoàn thành lên S3. –

0

Không hoàn toàn chắc chắn về ngữ cảnh, nhưng liệu có thể writing objects trực tiếp trên S3 được lắp đặt có khả thi không?

3

Như được mô tả trong this thread và trong một số câu trả lời đã được cung cấp, hai cách phổ biến để thực hiện mục tiêu này là sử dụng S3 hoặc NFS để chia sẻ truy cập dữ liệu giữa các phiên bản.

Trên April 9th 2015, Amazon công bố Amazon Elastic File System (Amazon EFS), cung cấp giải pháp tốt hơn cho vấn đề bạn đang cố giải quyết.

+0

AWS EFS chỉ khả dụng ở chế độ xem trước ở khu vực Oregon và không có từ chính thức nào khi nó sẽ ở chế độ xem trước và có sẵn ở tất cả các khu vực. –

Các vấn đề liên quan