Quản trị net diễn đàn chia sẻ thông tin các thủ thuật mạng, internet bảo mật thông tin dành cho giới IT VIệt hy vọng là nơi bổ ích cho cộng đồng

Quản trị net diễn đàn chia sẻ thông tin các thủ thuật mạng, internet bảo mật thông tin dành cho giới IT VIệt hy vọng là nơi bổ ích cho cộng đồng (http://quantrinet.com/forum/index.php)
-   Web Server Apache Loadbalancing, Cluster, Failover (http://quantrinet.com/forum/forumdisplay.php?f=336)
-   -   Cấu hình Web Cluster on Linux (http://quantrinet.com/forum/showthread.php?t=8017)

hoctinhoc 12-08-2011 03:42 PM

Cấu hình Web Cluster on Linux
 
Cấu hình Web Cluster




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


Mô hình:
http://khanh.com.vn/image.axd?pictur...on_0_thumb.png

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.
http://khanh.com.vn/image.axd?pictur...on_1_thumb.png
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-2.1.3/authkeys /etc/ha.d
# cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d
# cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d

http://khanh.com.vn/image.axd?pictur...on_2_thumb.png

+ 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

http://khanh.com.vn/image.axd?pictur...on_3_thumb.png
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.
http://khanh.com.vn/image.axd?pictur...on_4_thumb.png

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 đó.
http://khanh.com.vn/image.axd?pictur...on_5_thumb.png
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.

http://khanh.com.vn/image.axd?pictur...on_6_thumb.png
http://khanh.com.vn/image.axd?pictur...on_7_thumb.png
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ụ heartbeat lê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
http://khanh.com.vn/image.axd?pictur...on_8_thumb.png
Trên Node2: # echo “<h1>Day la node2.khanh.com.vn”> /var/www/html/index.html
http://khanh.com.vn/image.axd?pictur...on_9_thumb.png

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.
http://khanh.com.vn/image.axd?pictur...n_10_thumb.png
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ên Node2.
http://khanh.com.vn/image.axd?pictur...n_11_thumb.png
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.


Duy khanh


:battay:


Bây giờ là 09:51 AM. Giờ GMT +7

Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.