環境:
主keepalived服務器:192.168.80.100
從keepalived服務器: 192.168.80.101htmlWeb服務器:192.168.80.102
192.168.80.103c++windows操做系統 :192.168.80.20web
加載LVS內核模塊,並安裝算法
modprobe ip_vs ---加載ip_vs模塊
shell
yum install ipvsadm -y ---安裝 ipvsadm
windows
源碼安裝keepalived:瀏覽器
安裝插件和編譯軟件。yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
bash
安裝上傳軟件,把軟件包從windows系統上傳到Centos上去。yum install lrz* -y
服務器
把軟件包解壓到 /opt,編譯並安裝ide
tar xf keepalived-1.4.2.tar.gz -C /opt ---解壓軟件包到/opt cd /opt/keepalived-1.4.2/ ---切換到解壓目錄裏 ./configure --prefix=/ make && make install ----編譯而且安裝
cp keepalived/etc/init.d/keepalived /etc/init.d/ ---加入系統管理服務
在主服務器上修改配置文件vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { router_id LVS_01 //本服務器的名稱 } vrrp_instance VI_1 { //定義VRRP熱備實例 state MASTER //熱備狀態,MASTER表示主服務器,BACKUP表示從服務器 interface ens32 //承載VIP地址的物理接口 virtual_router_id 51 //虛擬路由器的ID號,每一個熱備組保持一致 priority 110 //優先級,數值越大優先級越高 advert_int 1 //通告間隔秒數(心跳頻率) authentication { //熱備認證信息,每一個熱備組保持一致 auth_type PASS //認證類型 auth_pass 6666 //密碼字符串 } virtual_ipaddress { //指定漂移地址(VIP),能夠有多個 192.168.80.188 } } virtual_server 192.168.80.188 80 { //虛擬服務器地址(VIP)、端口 delay_loop 6 //健康檢查的間隔時間(秒) lb_algo rr //輪詢(rr)調度算法 lb_kind DR //直接路由(DR)羣集工做模式 persistence_timeout 60 //鏈接保持時間(秒) protocol TCP //應用服務器採用的是TCP協議 real_server 192.168.80.102 80 { //第一個Web服務器節點的地址、端口 weight 1 //節點的權重 TCP_CHECK { //健康檢查方式 connect_port 80 //檢查的目標端口 connect_timeout 3 //鏈接超時(秒) nb_get_retry 3 //重試次數 delay_before_retry 3 //重試間隔 } } real_server 192.168.80.103 80 { //第二個Web服務器節點的地址、端口 weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
service keepalived start ---啓動 keepalived
ip addr show dev ens32 ---查看ens32地址
ipvsadm –Ln //查看LVS虛擬服務器
配置從keepalived服務器:
加載LVS內核模塊,並安裝
modprobe ip_vs ---加載ip_vs模塊
yum install ipvsadm -y ---安裝 ipvsadm
源碼安裝keepalived:
安裝插件和編譯軟件。yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
安裝上傳軟件,把軟件包從windows系統上傳到Centos上去。yum install lrz* -y
把軟件包解壓到 /opt,編譯並安裝
tar xf keepalived-1.4.2.tar.gz -C /opt ---解壓軟件包到/opt cd /opt/keepalived-1.4.2/ ---切換到解壓目錄裏 ./configure --prefix=/ make && make install ----編譯而且安裝
cp keepalived/etc/init.d/keepalived /etc/init.d/ ---加入系統管理服務
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { router_id LVS_02 } vrrp_instance VI_1 { state BACKUP interface ens32 virtual_router_id 51 priority 105 advert_int 1 authentication { auth_type PASS auth_pass 6666 } virtual_ipaddress { 192.168.80.188 } } virtual_server 192.168.80.188 80 { delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 60 protocol TCP real_server 192.168.80.102 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.80.103 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
service keepalived start ---啓動 keepalived ipvsadm –Ln ---//查看LVS虛擬服務器
配置web節點服務器
第一臺web節點:yum install -y httpd ---安裝httpd
vi /etc/httpd/conf/httpd.conf ---修改主配置文件
ServerName www.example.com:80 --- 查到此內容,並把前面的註釋符合刪除
cd /var/www/html/ ---切換到網頁根目錄
echo "<h1>SERVER AA</h1>" > index.html ---把SERVER AA寫入到index.html,同於建立一個index.html
service httpd start ---啓動http服務
vi web.sh ---建立一個shell腳本,添加如下內容 #!/bin/bash #haha ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up route add -host 192.168.80.188 dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p &>/dev/null
sh web.sh ---執行腳本
ifconfig ---查看網卡信息
第二臺web服務器:yum install -y httpd ---安裝httpd
vi /etc/httpd/conf/httpd.conf ---修改主配置文件
ServerName www.example.com:80 --- 查到此內容,並把前面的註釋符合刪除
cd /var/www/html/ ---切換到網頁根目錄
echo "<h1>SERVER AA</h1>" > index.html ---把SERVER AA寫入到index.html,同於建立一個index.html
service httpd start ---啓動http服務 vi web.sh ---建立一個shell腳本,添加如下內容 #!/bin/bash #haha ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up route add -host 192.168.80.188 dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p &>/dev/null
sh web.sh ---執行腳本
ifconfig ---查看網卡信息
測試LVS+Keepalived高可用羣集
在客戶端的瀏覽器中,可以經過LVS+Keepalived羣集的漂移地址(192.168.80.100)正常訪問web頁面內容,則驗證羣集構建成功。
驗證兩臺Web服務器輪詢工做
windows 192.168.80.188
service httpd stop ---中止web服務
LVS+Keepalived+httpd已成功搭建並測試完成