Nếu bạn sắp hết đĩa, rõ ràng bạn cần phải có một đĩa lớn hơn.
Có một số cách để di chuyển dữ liệu của bạn, nó thực sự phụ thuộc vào loại thời gian hoạt động mà bạn cần. Tất nhiên, các bước đầu tiên liên quan đến việc đóng gói máy và tạo ổ đĩa mới.
Những mẹo này đi từ dễ nhất đến khó nhất.
Bạn có thể đặt cơ sở dữ liệu hoàn toàn ở chế độ ngoại tuyến trong vài phút không?
Nếu vậy, hãy thực hiện việc này (di chuyển bằng bản sao):
- Gắn EBS mới trên máy chủ.
- Ngăn ứng dụng của bạn kết nối với Mongo.
- Tắt mongod và đợi mọi thứ được viết (kiểm tra nhật ký)
- Sao chép tất cả các tệp dữ liệu (và có thể là nhật ký) sang ổ đĩa EBS mới.
- Trong khi quá trình sao chép đang diễn ra, hãy cập nhật tập lệnh khởi động mongod (hoặc tệp cấu hình) của bạn để trỏ đến ổ đĩa mới.
- Khởi động mongod và kiểm tra kết nối
- Khởi động lại ứng dụng của bạn.
Bạn có thể tắt cơ sở dữ liệu chỉ trong vài phút không?
Nếu vậy, hãy làm điều này ( nô lệ và chuyển đổi):
- Khởi động phiên bản mới và gắn EBS mới trên máy chủ đó.
- Cài đặt / khởi động mongod dưới dạng --lave trỏ vào cơ sở dữ liệu hiện tại. (bạn có thể cần khởi động lại hiện tại với tư cách --master)
- Nô lệ sẽ thực hiện đồng bộ hóa mới. Khi nô lệ được cập nhật, bạn sẽ thực hiện "chuyển đổi" (các bước tiếp theo).
- Tắt ghi từ hệ thống.
- Tắt quá trình mongod ban đầu.
- Khởi động lại mongod "mới" với tư cách chính thay vì nô lệ.
- Kích hoạt lại hệ thống ghi chỉ vào trang cái mới.
Thực hiện chính xác ba bước cuối cùng đó có thể diễn ra trong vài phút hoặc thậm chí vài giây.
Bạn có thể không có thời gian ngừng hoạt động không?
Nếu vậy, hãy thực hiện việc này ( master-master ):
- Khởi động phiên bản mới và gắn EBS mới trên máy chủ đó.
- Cài đặt / khởi động mongod với tư cách là một chính và một nô lệ đối với cơ sở dữ liệu hiện tại. (có thể cần khởi động lại dòng điện dưới dạng chính, thời gian ngừng hoạt động tối thiểu?)
- Máy tính mới sẽ thực hiện đồng bộ hóa mới.
- Sau khi máy tính mới được cập nhật, hãy chuyển hệ thống sang máy chủ mới.
Tôi biết có vẻ như phiên bản cuối cùng này thực sự là tốt nhất, nhưng nó có thể hơi phức tạp (tính đến thời điểm viết bài này). Lý do đơn giản là tôi thực sự đã gặp rất nhiều vấn đề với sao chép "Master-Master", đặc biệt nếu bạn không bắt đầu với cả hai đều đang hoạt động.
Nếu bạn dự định sử dụng phương pháp này, tôi thực sự khuyên bạn nên thực hành nhỏ hơn trước. Nếu có thứ gì đó ném bom ở đây, Mongo có thể chỉ cần xóa sạch tất cả các tệp dữ liệu của bạn, điều này sẽ có tác dụng gỡ bỏ nhiều thứ hơn.
Nếu bạn nhận được phiên bản tốt của nó, vui lòng đăng các lệnh, tôi muốn thấy nó hoạt động.