CentOS 7 上配置LVS + Keepalived + ipvsadm

2022-07-03 15:13:16 浏览数 (1)

CentOS 7 上配置LVS Keepalived ipvsadm

一、部署环境 keepalived:10.10.10.30(CentOS 7) lvs1:10.10.10.140(CentOS 6.4) lvs2:10.10.10.150(CentOS 6.4)

二、在lvs1:10.10.10.140上配置 [root@LVS1 ~]# yum install -y httpd [root@LVS1 ~]# /etc/init.d/httpd start [root@LVS1 ~]# cd /var/www/html/ [root@LVS1 html]# echo "ok" > keep.html [root@LVS1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:15:B7:DC TYPE=Ethernet UUID=93f4695a-8641-4360-9fce-5e3af0e32fc9 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=10.10.10.140 NETMASK=255.255.255.0 GATEWAY=10.10.10.30 [root@LVS1 ~]#/etc/init.d/network restart [root@LVS1 ~]#/sbin/ifconfig eth0:0 10.10.10.140 broadcast 10.10.10.255 netmask 255.255.255.255 up

三、在lvs2:10.10.10.150上配置 [root@LVS2 ~]# yum install -y httpd [root@LVS2 ~]# /etc/init.d/httpd start [root@LVS2 ~]# cd /var/www/html/ [root@LVS2 html]# echo "ok" > keep.html [root@LVS2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:0D:33:AC TYPE=Ethernet UUID=e04f57dc-ef9d-4563-bfa4-9c8c1e8fc870 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=10.10.10.150 NETMASK=255.255.255.0 GATEWAY=10.10.10.30 [root@LVS2 ~]#/etc/init.d/network restart [root@LVS2 ~]#/sbin/ifconfig eth0:0 10.10.10.140 broadcast 10.10.10.255 netmask 255.255.255.255 up

四、在keepalived:10.10.10.30上配置 [root@KEEP ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno33554984 HWADDR=00:0C:29:DC:FE:1B TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no #IPV6INIT=yes #IPV6_AUTOCONF=yes #IPV6_DEFROUTE=yes #IPV6_PEERDNS=yes #IPV6_PEERROUTES=yes #IPV6_FAILURE_FATAL=no NAME=eno33554984 #UUID=56cae8b8-235f-471d-9051-2508ee149e48 ONBOOT=yes NM_CONTROLLED=no IPADDR=10.10.10.30 NETMASK=255.255.255.0 [root@KEEP ~]# /etc/init.d/network restart

[root@KEEP ~]# cd /data/keepalived/ [root@KEEP keepalived]# tar zxvf keepalived-1.2.12.tar.gz [root@KEEP keepalived]# cd keepalived-1.2.12/ [root@KEEP keepalived-1.2.12]# ./configure --prefix=/usr/local/keepalived [root@KEEP keepalived-1.2.12]# make [root@KEEP keepalived-1.2.12]# make install [root@KEEP keepalived-1.2.2]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/ [root@KEEP keepalived-1.2.2]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ [root@KEEP keepalived-1.2.2]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ [root@KEEP keepalived-1.2.2]# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/ [root@KEEP keepalived-1.2.12]# cd

##keepalived健康检查 HTTP_GET [root@KEEP ~]# /usr/local/keepalived/bin/genhash -s 10.10.10.140 -p 80 -u /keep.html MD5SUM = eff5bc1ef8ec9d03e640fc4370f5eacd

[root@KEEP ~]# /usr/local/keepalived/bin/genhash -s 10.10.10.150 -p 80 -u /keep.html MD5SUM = eff5bc1ef8ec9d03e640fc4370f5eacd

[root@KEEP ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs {   router_id LVS_DEVEL }

vrrp_instance VI_1 {     state MASTER     interface eno33554984     virtual_router_id 51     priority 100     advert_int 1     authentication {         auth_type PASS         auth_pass 1111     }     virtual_ipaddress {         10.10.10.250     } }

virtual_server 10.10.10.250 80 {     delay_loop 6     lb_algo wrr     lb_kind DR     nat_mask 255.255.255.0     persistence_timeout 50     protocol TCP

    real_server 10.10.10.140 80 {         weight 1         HTTP_GET {             url {               path /keep.html               digest eff5bc1ef8ec9d03e640fc4370f5eacd             }             }             connect_timeout 3             nb_get_retry 3             delay_before_retry 3         }

    real_server 10.10.10.150 80 {         weight 1         HTTP_GET {             url {               path /keep.html               digest eff5bc1ef8ec9d03e640fc4370f5eacd             }             }             connect_timeout 3             nb_get_retry 3             delay_before_retry 3         } } [root@KEEP ~]# /etc/init.d/keepalived restart

五、在keepalived:10.10.10.30上用ipvsadm 命令测试 [root@KEEP ~]# yum install -y ipvsadm [root@KEEP ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port          Forward Weight ActiveConn InActConn TCP  10.10.10.250:80 wrr persistent 50   -> 10.10.10.140:80              Route  1      0          0          -> 10.10.10.150:80              Route  1      0          0       

在10.10.10.140执行 [root@LVS1 html]# echo  "" > keep.html [root@KEEP ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port          Forward Weight ActiveConn InActConn TCP  10.10.10.250:80 wrr persistent 50   -> 10.10.10.150:80              Route  1      0          0   

再在10.10.10.140执行 [root@LVS1 html]# echo  "ok" > keep.html [root@KEEP ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port          Forward Weight ActiveConn InActConn TCP  10.10.10.250:80 wrr persistent 50   -> 10.10.10.140:80              Route  1      0          0          -> 10.10.10.150:80              Route  1      0          0 

0 人点赞