Thứ Ba, 24 tháng 9, 2013

// // Leave a Comment

Cấu hình Web Cluster

I – Mô hình & Yêu cầu:
Mô hình:
web_cluster_synchronization_0

Yêu cầu

II - Cài đặt và cấu hình heartbeat trên các Node:
Trên 2 node ta cài đặt các gói hearbeat. Ta có thể cài đặt từ các gói rpm hoặc sử dụng trực tiếp lệnh yum
# yum install heartbeat –y (chạy 2 lần nhé)
Đảm bảo hệ thống đã được cài đặt 3 gó  i hearbeat như hình bên dưới. Ta dùng lệnh # rpm –qa | grep heartbeat để kiếm tra.
Sau khi cài đặt đầy đủ 3 gói, chúng ta tiến hành sao chép các tệp tin cấu hình authkeys, ha.cf, haresources vào thư mục /etc/ha.d :
#cp /usr/share/doc/heartbeat-1.2.3.cvs.20050927/ha.cf  /etc/ha.d/
#cp /usr/share/doc/heartbeat-1.2.3.cvs.20050927/authkeys  /etc/ha.d/
#cp /usr/share/doc/heartbeat-1.2.3.cvs.20050927/haresources  /etc/ha.d
web_cluster_synchronization_2
+ Thực hiện mở file authkeys# vi /etc/ha.d/authkeys
Thêm vào 2 dòng sau:
auth 1 
1 sha1 test-ha
+ Mở file ha.cf
# vi /etc/ha.d/ha.cf
Thêm vào các dòng sau:
logfile /var/log/ha-log              #file log HA 
logfacility local0                    #tien ich dung cho syslog hoac logger 
keepalive 2                           #thoi gian kiem tra giua cac heartbeat 
deadtime 30                         #thoi gian quyet dinh mot host da die hay chua? 
initdead 120                         #thoi gian chet dau tien 
bcast eth1                           #card mang de gui tin hieu heartbeat 
udpport 694                          #Port de gui tin hieu heartbeat 
auto_failback on                   #tu dong gui tai nguyen sai tro lai node chinh 
node node1.khanh.com.vn     #ten node 1 
node node2.khanh.com.vn     #ten node 2
web_cluster_synchronization_3
Tiếp tục, mở file haresources # vi /etc/ha.d/haresources
Thêm vào cuối file dòng sau:
node1.khanh.com.vn 172.16.1.100 httpd
Trong đó:
  • node1.khanh.com.vn là tên node chính
  • 172.16.1.100 là địa chỉ IP ảo, đại diện cho 2 địa chỉ IP của 2 node
  • httpd là dịch vụ mà heartbeat cho khởi động theo.
web_cluster_synchronization_4

III - Cấu hình dịch vụ httpd:
Trên cả 2 node, mở file httpd.conf# vi /etc/httpd/conf/httpd.conf
Tại dòng 133 cấu hình như sau:
Listen 172.16.1.100:80
Cấu hình này sẽ “bảo” dịch vụ httpd lắng nghe trên địa chị IP ảo của mô hình Cluster, thay vì lắng nghe trên IP của node đó.
web_cluster_synchronization_5
Sau khi cấu hình xong, ta khởi động dịch vụ heartbeat lên, và thiết đặt tự động bật mỗi khi hệ thống khởi động:
# service heartbeat start 
# chkconfig heartbeat on
Đồng thời, ta cũng tắt chế độ tự khởi động của dịch vụ httpd đi, vì khi dịch vụ heartbeat được khởi động thì nó cũng yêu cầu dịch vụ httpd khởi động theo rồi!
# chkconfig httpd off
IV – Kiểm tra:
Trên 2 node, tiến hành gõ lệnh ifconfig eth0:0 sẽ thấy địa chỉ IP ảo 172.16.1.100  xuất hiện. 
web_cluster_synchronization_6
web_cluster_synchronization_7
Chú ý: Nếu cấu hình địa chỉ IP ảo chưa thành công như ở hình trên, thì ta không thể khởi động dịch vụ heartbeatlên được, vì nó yêu cầu dịch vụ httpd khởi động theo, trong khi httpd đang lắng nghe trên IP ảo!
Để tiến hành kiểm tra mô hình Cluters có chính xác hay chưa, ta lần lượt tạo 2 file index.html trên 2 node với động dung khác nhau.
Trên Node1: # echo “<h1>Day la node1.khanh.com.vn”> /var/www/html/index.html
web_cluster_synchronization_8
Trên Node2: # echo “<h1>Day la node2.khanh.com.vn”> /var/www/html/index.html
web_cluster_synchronization_9

OK, bây giờ mở trình duyệt lên và truy cập vào địa chỉ IP ảo 172.16.1.100 ta sẽ thấy nội dung web như hình dưới. Bởi vì Node1 đang là node chính nên nó được ưu tiên phản hồi cho Client.
web_cluster_synchronization_10
Bây giờ, ta thử tắt dịch vụ heartbeat trên Node1 đi:
# service heartbeat stop
Sau đó từ client ta tiến hành truy cập vào lại địa chỉ IP ảo 172.16.1.100
Kết quả: Website vẫn truy cập được bình thường! Nội dung được hiện thị chính là nội dung từ Webserver trênNode2.
web_cluster_synchronization_11
Cấu hình Web Cluster thành công! Trong bài sau mình sẽ trình bày thêm về phần đồng bộ dữ liệu website giữa các Cluster, đảm bảo dữ liệu có tính nhất quán.
Ngô Duy Khánh – http://Khanh.Com.Vn

0 nhận xét:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.