I. Định nghĩa
1. Pacemaker: là trình quản lý tài nguyên trong cluster, được phát triển cho phép tùy biến, hỗ trợ tối đa để các tài nguyên (resource) thuộc cluster luôn đảm bảo tính sẵn sàng. Đồng thời pacemaker có khả năng phát hiện phục hồi các tài nguyên, các node đang xảy ra sự cố thông qua các engine hỗ trợ (Corosync, Heartbeat), cho phép tùy biến tùy theo các kiến trúc cluster khác nhau.
- Corosync là một layer có nhiệm vụ quản lý các node thành viên, chuyển thông tin trạng thái hoặc sự thay đổi trong các node đến pacemaker để thực hiện 1 sự kiện nào đó (start, stop,migrate resource monitor resource). Cung cấp cơ sở dữ liệu bộ nhớ (in-memory database) lưu trữ các cấu hình, thông kế trạng thái (in-memory database). Cho phép truy vấn, thiết lập, nhận thông báo khi thay đổi. Cung cấp hệ thống quorum, cảnh bảo khi có hoặc mất quorum (Một cluster có quorum khi có hơn một nửa số lượng các node đang có trạng thái online)
2. Các tính năng chính của Pacemaker:
- Không yêu cầu chia sẻ không gian lưu trữ (shared storage)
- Tự động phát hiện, khôi phục các node, các tài nguyên dịch vụ trên node
- Tất cả tài nguyên có thể quản lý bằng script đều có thể quản lý bằng Pacemaker
- Hỗ trợ kỹ thuật fencing, kỹ thuật cô lập tài nguyên trên mỗi node
- Hỗ trợ các cluster từ nhỏ tới lớn
- Hỗ trợ kỹ thuật Resource-driven cluster – Kỹ thuật phân cấp, nhóm tài nguyên để quản lý độc lập
- Hỗ trợ kỹ thuật Quorate Clusters – Kỹ thuật tính điểm trên các node thuộc cluster, ý tưởng của kỹ thuật là khi cụm lớn bị phân mảnh thành 2 phần, cluster sẽ đánh giá so sánh số điểm của 2 cụm để quyết định cụm nào sẽ tiếp tục chạy, cụm nào sẽ bị đóng băng hoặc tắt hẳn.
- Hỗ trợ các thiết lập dự phòng
- Tự động nhân bản cấu hình tới các node thuộc cluster.
- Có khả nhân thức sự thay đổi trên tài nguyên
- Hỗ trợ các kiểu dịch vụ nâng cao
- Nhân bản (Clone): Dịch vụ được nhân bản tới nhiều node dể tăng tinhs sẵn sàng
- Đa trạng thái (Multi-state): Các dịch vụ có nhiều trạng thái (Master/Slave, Primary/ Secondary).
- Thông thất quản trị cluster qua các công cụ hỗ trợ.
3. Kiến trúc của pacemaker.
* Trong một hệ thống cluster, có thể có nhiều node làm việc cùng sử dụng chung một phần dữ liệu quan trọng. Khi mà các node trong cluster rơi vào trạng thái không khả dụng, đa số các node còn lại trong cluster bắt đầu trở lên thất thường hoặc trở lên không hoạt động dẫn đến cần có các hành động thủ công của người quản trị viên. Các vấn đề gây ra bởi các node trong cluster có thể được giảm nhẹ bằng việc thiết lập một chính sách fencing.
6. Các mô hình triển khai pacemaker
- Pacemaker không có giới hạn về cách triển khai của bạn, chính điều này mà nó cho phép ta có thể triển khai theo hầu hết các mô hình như:
* Active/ Active
* Active/ Passive
* N + 1
* N + M
* N to 1
* N to M
- Dưới đây là một vài mô hình triển khai:
* Active / Passive
* Active / Active