MẠNG NÂNG CAO
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Cấu hình Web Cluster

Go down

Cấu hình Web Cluster Empty Cấu hình Web Cluster

Bài gửi  TruongThiThuyDung Fri Dec 28, 2012 11:35 pm

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

Mô hình:

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_0_thumb

Yêu cầu

Hai Server chạy hệ điều hành Linux (ở đây mình dùng CentOS).
Đã cài đặt dịch vụ httpd (thao khảo Cài đặt Apache và PHP trên CentOS).

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.

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_1_thumb

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

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_2_thumb

+ 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

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_3_thumb

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.

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_4_thumb

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 đó.

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_5_thumb

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.

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_6_thumb

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_7_thumb

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

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_8_thumb

Trên Node2: # echo “<h1>Day la node2.khanh.com.vn”> /var/www/html/index.html

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_9_thumb

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.

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_10_thumb

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.

Cấu hình Web Cluster Image.axd?picture=web_cluster_synchronization_11_thumb

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
TruongThiThuyDung
TruongThiThuyDung

Tổng số bài gửi : 74
Join date : 21/09/2012
Age : 32

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết