Tôi đang đánh giá PostgreSQL 9.1 và có một số câu hỏi liên quan đến chuyển đổi dự phòng và chi tiết nhân rộng.
Tôi có một vài kịch bản thử nghiệm. Đầu tiên với một máy chủ Master và một vài nô lệ. Trong trường hợp Master gặp sự cố, tôi muốn một trong những nô lệ trở thành Master. Sau khi Master trở lại trạng thái bình thường, nó sẽ đồng bộ hóa với các máy chủ khác trong cụm (áp dụng tất cả các thay đổi được thực hiện trong khi nó ngừng hoạt động) và lấy lại vai trò Master hoặc trở thành Slave.
Các vấn đề tôi thấy với PostgreSQL và kịch bản hiện tại là như sau.
1) Tôi không thấy các công cụ tích hợp để phát hiện sự cố ngừng hoạt động của máy chủ. Tôi đọc rằng pgpool có thể xử lý nó và tạo tập tin kích hoạt, tôi cũng đọc rằng mọi người sử dụng nhịp tim Linux hoặc các công cụ tương tự cho việc này. Được rồi, tôi có thể phát hiện chuyển đổi dự phòng và gán Master mới trong cụm. Các nô lệ khác có hiểu rằng có một Master mới và họ nên sao lưu nó ngay bây giờ không?
2) Tôi không hiểu thủ tục failback. Cấu hình máy chủ và Slave là khác nhau. Vì vậy, tôi sẽ có hai Master sau khi sụp đổ Master failback? Làm thế nào các máy chủ sẽ trở lại đồng bộ? Tôi chỉ thấy các giải pháp thủ công như "chuyển thư mục dữ liệu đến máy chủ và khởi động lại nó". Vì vậy, giải pháp hoặc thực tiễn tốt nhất hoặc ít nhất là hiệu trưởng chính ở đây là gì?
3) Tôi nên xử lý sự cố ngừng máy chủ ở phía máy khách như thế nào? Khi tôi tạo kết nối, tôi chỉ định rõ ràng IP máy chủ. Tôi có nên phát triển một số loại Trình quản lý kết nối sẽ biết cấu trúc Master-Slave của mình không, chỉ gửi yêu cầu tới Master và trong trường hợp mất kết nối sẽ chuyển sang máy chủ dự phòng, v.v. Tôi đọc rằng pgpool có thể là một điểm vào cho các ứng dụng và quản lý các kết nối theo cách chính xác. Có phải pgpool là giải pháp duy nhất ở đây? Nó xử lý failover và failback tốt?
4) Có bất kỳ giải pháp nào (thương mại cũng vậy) để tôi có thể tránh sao chép dữ liệu thủ công, cấu hình lại các phiên bản PostgreQuery và các công cụ khác nên được thực hiện bằng tay không? Vì vậy, loại cấu hình cụm khi mọi người đồng bộ hóa, rõ ràng Master là ai và mọi thứ sẽ tự động chuyển mà không cần sự chú ý của nhà điều hành?
Theo các chủ đề và bài viết
Truyền trực tuyến sao chép và chuyển đổi dự phòng trên PostgreSQL
Tự động chuyển đổi dự phòng trong PostgreSQL 9.1
http://denishjpatel.blogspot.com/2010/11/possibility-of-graceful-switchover.html
không có giải pháp hoàn toàn tự động duy nhất để giải quyết những câu hỏi này. Tôi có đúng không
Cảm ơn!