Mở Rộng Drupal: Triển Khai Bộ Cân Bằng Tải Dự Phòng Hiệu Quả Với Heartbeat
Nếu bạn đã triển khai Drupal theo mô hình cụm (tham khảo bước hai: "Mở rộng Drupal - Cân bằng tải cố định với Apache mod_proxy"), bước tiếp theo hợp lý là phân cụm bộ cân bằng tải của bạn.
Một cách hiệu quả để thực hiện điều này là sử dụng Heartbeat nhằm cung cấp khả năng chuyển đổi dự phòng ngay lập tức sang một bộ cân bằng tải phụ trong trường hợp bộ cân bằng tải chính gặp sự cố. Mặc dù phương pháp được đề xuất dưới đây không gia tăng khả năng mở rộng của bộ cân bằng tải, điều này không đáng lo ngại đối với các hệ thống triển khai quy mô vừa và nhỏ, nhưng lại cải thiện đáng kể tính dự phòng.
Như thường lệ, ví dụ của tôi được thiết kế cho Apache2, MySQL5 và Drupal trên Debian Etch. Để hiểu rõ hơn và khám phá thêm các bài viết liên quan, bạn có thể tham khảo phần tổng quan về khả năng mở rộng.
Tổng Quan Triển Khai
Bảng dưới đây tóm tắt các đặc điểm chính của phương án triển khai này.
Sơ đồ mạng
Cài đặt và thiết lập heartbeat trên bộ cân bằng tải
Thiết lập hai bộ cân bằng tải apache-balance-1và apache-balance-2như đã mô tả trong blog trước của tôi . Cài đặt heartbeat và các phụ thuộc của nó vào cả hai:
Ghi chú:
-
nodenames phải là đầu ra của
uname -n
-
Tôi gặp vấn đề với tên nút của mình bị dao động, đã khắc
uuidfrom
phục được lỗi này.
Cấu hình /etc/ha.d/haresources
. điều này phải giống hệt nhau trên apache-balance-1
và apache-balance-2
. thực sự! . tập tin này sẽ trông như thế này:
Cấu hình apache để lắng nghe trên vip. chỉnh sửa /etc/apache2/ports.conftrên cả hai bộ cân bằng tải:
Listen 192.168.1.51:80
Lưu ý: sau thay đổi này, apache sẽ không khởi động trên bộ cân bằng tải đang đề cập, trừ khi nó có vip. relax. mọi chuyện diễn ra như bình thường.
Về mặt lý thuyết, bạn nên cấu hình từng bộ cân bằng tải để ngăn apache2 khởi động khi khởi động. điều này cho phép daemon ha kiểm soát hoàn toàn việc khởi động và dừng apache. trên thực tế, tôi không cần làm vậy. bạn có thể muốn làm vậy.
Khởi động lại ha daemon và kiểm tra
Khởi động lại daemon ha trên cả hai bộ cân bằng tải và kiểm tra:
# etc/init.d/heartbeat restart
hãy theo dõi các tệp nhật ký apache và heartbeat trên cả hai máy chủ để xem điều gì đang xảy ra khi bạn tắt bộ cân bằng tải.
# tail -f /var/log/apache2/access.log
# tail -f /var/log/ha-log
Lời cuối:
Đây là một cấu hình khá đơn giản. bạn có thể làm nhiều hơn nữa để phát hiện các tình huống bất thường và chuyển đổi dự phòng. để biết thêm thông tin, hãy truy cập http://www.linux-ha.org