Tôi đã cấu hình hai máy chủ PostgreSQL để có chế độ chờ nóng bằng cách truyền phát.
Làm cách nào tôi có thể định cấu hình nó để khi máy chủ chính ngừng hoạt động, máy chủ nô lệ sẽ tự động trở thành chủ mới?
Tôi đã cấu hình hai máy chủ PostgreSQL để có chế độ chờ nóng bằng cách truyền phát.
Làm cách nào tôi có thể định cấu hình nó để khi máy chủ chính ngừng hoạt động, máy chủ nô lệ sẽ tự động trở thành chủ mới?
Câu trả lời:
Chuyển đổi dự phòng - tự động hoặc theo cách khác - không được PostgreSQL cung cấp trực tiếp.
Bạn sẽ cần các công cụ bên ngoài như repmgr .
Repmgr 2.0 mới được phát hành hỗ trợ tự động chuyển đổi. Tuy nhiên, tôi khuyên bạn nên suy nghĩ rất kỹ về việc bạn có thực sự nên sử dụng nó hay không. Tự động kích hoạt chuyển đổi dự phòng thường an toàn hơn rất nhiều.
Nếu bạn chọn sử dụng tính năng tự động chuyển đổi, bạn nên đảm bảo buộc tự động gửi tự động như một phần của hoạt động bình thường để đảm bảo nó thực sự hoạt động trong môi trường của bạn. Mặt khác, nó chỉ là một cảm giác an toàn sai lầm, và khi một cái gì đó thực sự bị phá vỡ, nó có thể sẽ khiến toàn bộ hệ thống rơi vào tình trạng lộn xộn.
Tất nhiên, bạn nên kiểm tra mọi thiết lập chuyển đổi dự phòng thường xuyên, nhưng ít nhất là với chuyển đổi dự phòng được kích hoạt thủ công, bạn biết rằng điều đó sẽ xảy ra và sẵn sàng bước vào nếu có vấn đề.
Đây không chỉ là vấn đề quảng bá máy chủ và xây dựng lại chủ cũ như một bản sao. Bạn cũng phải giải quyết nhu cầu thay đổi kết nối máy khách sang máy chủ mới (sử dụng một cái gì đó như PGBouncer, PGPool-II hoặc HAProxy). Bạn cũng cần phải chấm dứt một cách đáng tin cậy máy chủ cũ để không bị phân kỳ, trong đó cả hai máy chủ đều nghĩ rằng họ là chủ và một số khách hàng đang viết thư cho mỗi máy chủ đó.
Có một chút thông tin về tất cả những điều này trong tài liệu PostgreSQL và trên wiki, vì vậy tôi khuyên bạn nên bắt đầu từ đó.