Centos7 LVS+keepalived+httpd高可用集羣
環境:
主keepalived服務器:192.168.80.100
從keepalived服務器: 192.168.80.101Web服務器:192.168.80.102
192.168.80.103windows操作系統 :192.168.80.20
加載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_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 - 模擬主調度器故障,驗證結果
systemctl stop keepalived
//主調度器keepalived停止工作
3、模擬Web服務器bb故障service httpd stop ---停止web服務
LVS+Keepalived+httpd已成功搭建並測試完成