Xây dựng một hệ thống High Available (HA) là một nhiệm vụ sống còn dành cho doanh nghiệp hiện nay. Đã có những trường hợp đáng tiếc khiến cho doanh nghiệp phải chịu những thiệt hại lớn không đáng có, thậm chí là mất đi các khách hàng quan trọng – nguồn sống trong kinh doanh.
Trong bài “Để website luôn online với cluster Apache High Availability Linux” đăng trên một số trang web hiện nay tuy thuận tiện nhưng vẫn còn những nhược điểm đáng kể. Một trong những nhược điểm đó là hệ thống chỉ có tác dụng chịu lỗi (Fail Over) mà không thể cân bằng tải (Load Balancing). Do đó, hệ thống chỉ có thể thích hợp với những doanh nghiệp nhỏ lẻ, nhu cầu truy cập web của khách hàng không cao. Nếu sử dụng phương thức trên cho doanh nghiệp lớn thì sẽ gây hiện tượng thắt cổ chai (bottle neck) làm nghẽn lưu lượng truy cập. Mặt khác, doanh nghiệp muốn triển khai thêm nhiều dịch vụ khác thì đây không phải là một lựa chọn thật sự hiệu quả. Một giải pháp được Kênh Giải Pháp VN đưa ra là xây dựng một hệ thống có tính sẵn sàng cao vừa có khả năng chịu lỗi vừa có khả năng cân bằng tải. Giải pháp này dựa trên nền tảng Linux Virtual Server (LVS). LVS ẩn server thật sau một IP ảo và thực hiện quá trình cân bằng tải các gói tin gửi đến sang tất cả các node dựa trên thuật toán Scheduling. Do tất cả các quá trình được thực hiện ở lớp transport bên trong nhân Linux nên phương thức này còn được gọi là Layer-4 Switching. Hệ thống này được xây dựng trên 4 Server sử dụng hệ điều hành CentOS. Mỗi Server được lắp đặt 2 card mạng riêng biệt. Thông số về các card mạng trên mỗi server được thể hiện trên hình sau: Client truy cập vào Web Server thông qua IP ảo (192.168.2.200). Trên LVS sẽ được cài đặt các gói chương trình heartbeat, ldirectord và ipvsadm. Trong đó chương trình heartbeat sẽ có nhiệm vụ kiểm tra tình trạng “sống còn” của hai LVS. Do đó, đảm bảo được khả năng chịu lỗi của hệ thống. Còn ldirectord (Linux Director Daemon) có nhiệm vụ giám sát và kiểm tra tín hiệu của các Web Server thông qua một URL request. Trong trường hợp dịch vụ web trên một server bị lỗi thì server đó sẽ bị loại ra khỏi danh sách real server và truy cập sẽ được dồn về Web Server còn lại đảm bảo được tính cân bằng tải lẫn khả năng chịu lỗi. Cấu hình cụ thể Đầu tiên, chúng ta tắt Firewall trên tất cả các Server. /etc/init.d/iptables stop + LVS1/LVS2 Cài đặt các dịch vụ cần thiết (heartbeat, ldirectord, ipvsadm) yum install heartbeat ipvsadm heartbeat-ldirectord –y Để LB có thể dẫn đường được cho các yêu cầu đến server thì cần active kernel IPV4 packet forwarding. #/etc/sysctl.conf net.ipv4.ip_forward = 1 Lưu lại cấu hình cho sysctl.conf sysctl -p Tạo file /etc/ha.d/ha.cf logfile /var/log/ha-log logfacility local0 keepalive 2 deadtime 30 initdead 120 bcast eth1 ucast eth1 10.0.0.1 # Trên LVS2 là 10.0.0.2 udpport 694 auto_failback on node lb1.kenhgiaiphap.vn node lb2.kenhgiaiphap.vn Tạo file /etc/ha.d/haresoures lb1.kenhgiaiphap.vn \ ldirectord::ldirectord.cf \ LVSSyncDaemonSwap::master \ Ipaddr2::192.168.2.200 Tạo file /etc/ha.d/authkeys auth 1 1 crc File authkeys chỉ có thể thay đổi thông qua tài khoản root chmod 600 /etc/ha.d/authkeys Tạo file /etc/ha.d/ldirectord.cf checktimeout=30 checkinterval=2 autoreload=yes logfile="/var/log/ldirectord.log" quiescent=no virtual=192.168.2.200:80 real=10.0.0.3:80 gate real=10.0.0.4:80 gate service=http request="kenhgiaiphap.html" httpmethod=GET receive="maychumang" persistent=100 scheduler=lblc protocol=tcp checktype=negotiate Khởi động các dịch vụ cần thiết /etc/init.d/ldirectord stop /ect/init.d/heartbeat start + WebServer1/WebServer2 Sau khi cài đặt Apache Server ta tạo file kiểm tra echo “maychumang” > /var/www/html/kenhgiaiphap.html Echo ‘This site is 192.168.2.122’ > /var/www/html/index.html (Webserver1) Echo ‘This site is 192.168.2.123’ > /var/www/html/index.html (Webserver2) service httpd start Tắt chức năng ARP reply cho IP ảo trên Web Server # /etc/sysctl.conf net.ipv4.conf.all.ARP_ignore = 1 net.ipv4.conf.eth0.ARP_ignore = 1 net.ipv4.conf.all.ARP_announce = 2 net.ipv4.conf.eth0.ARP_announce = 2 + Kiểm tra kết quả Web Server (Load Balancing và Fail Over) Mở web browser trên máy khác cùng mạng và nhập vào địa chỉ 192.168.2.200. Refresh lại nhiều lần thấy nội dung web thay đổi là cấu hình cân bằng tải thành công. Muốn kiểm tra khả năng chịu lỗi thì tắt dịch vụ web trên 1 server sau đó thử lại. Nếu trang web hiển thị chuyển sang server còn lại là thành công. Load Balancer (Fail Over) Sau khi cài đặt xong kiểm tra trên cả hai LVS. Nếu kết quả giống như trong hình là cài đặt thành công. Trong đó máy 192.168.2.125 là máy Active, chịu trách nhiệm dẫn đường đến Web Server. Máy 192.168.2.130 đang ở chế độ backup. Kiểm tra Fail Over bằng cách tắt dịch vụ heartbeat trên LVS1 (192.168.2.125) nếu bạn vẫn còn có thể duyệt web là thành công. Mọi thắc mắc trong quá trình cài đặt các bạn có thể liên lạc với chúng tôi qua email : Support@kenhgiaiphap.vn để được hỗ trợ . |
Chủ Nhật, 3 tháng 11, 2013
New
Giải pháp Load Balancing và Fail Over toàn diện dành cho Web Server
Đăng ký Email để nhận các thông tin hữu ích từ Trung tâm gia sư Tài Năng
About Quốc Anh IT
Trung tâm dạy kèm Tài Năng tại Quảng Ngãi chuyên dạy kèm các môn Toán, Lý, Hóa cho các em Lớp 6,7,8,9. Liên hệ 0935588150.
windows-server
Nhãn:
Giải pháp Load Balancing và Fail Over toàn diện dành cho Web Server,
Label B,
Quản Trị Mạng,
quan-tri-mang,
thu-thuat,
tin-tuc,
tong-hop,
Windows Server,
windows-server
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét