文章目录
LVS+keepalived实验配置关闭防火墙和核心防护修改主机名:LVS1安装环境包设置浮动ip编写LVS启动脚本添加权限这边注意,我们要将网卡改成仅主机模式,并设置静态IP地址重启网卡启动LVS脚本如下:关闭防火墙和核心防护
接下来是两台web节点服务器更改主机名:安装环境包创建网页编辑lo:0显卡编写web脚本复制到web2上配置网卡信息重启网卡服务启动脚本,开启服务接下来我们到web2上进行配置,和web1配置相同,在网卡信息不同,以及在编写网页的时候,要注意和web1的内容不同接下来,两台web机均重启lo:0网卡
接下来,我们回到lLVS1上配置keepalived复制到LVS2上然后我们在LVS2上进行修改两台LVS主机启动服务
LVS+keepalived实验配置
关闭防火墙和核心防护
iptables -F
setenforce 0
修改主机名:LVS1
hostnamectl set-hostname lvs1
su
安装环境包
yum install keepalived ipvsadm -y
设置浮动ip
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
原有内容全部删除,添加下面四条内容
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
编写LVS启动脚本
cd /etc/init.d/
vim dr.sh
#!/bin/bash
GW=192.168.100.1
VIP=192.168.100.10
RIP1=192.168.100.201
RIP2=192.168.100.202
case "$1" in
start)
/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm
先保存
systemctl start ipvsadm
先开启服务
/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 $VIP up
开启ens33:0网卡,ip地址,广播地址,子网掩码
/sbin/route add -host $VIP dev ens33:0
添加路由网段信息
/sbin/ipvsadm -A -t $VIP:80 -s rr
添加LVS设置,访问80端口,使用轮询算法
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
-g 代表使用DR,上一次使用的是-m ,代表使用nat(此处为个人理解)
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
echo "ipvsadm starting ____________________[ok]"
;;
stop)
/sbin/ipvsadm -C
清除缓存
systemctl stop ipvsadm
关闭LVS
ifconfig ens33:0 down
关掉虚拟IP
route del $VIP
删掉路由条目
echo "ipvsadm stoped _______________________[ok]"
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then
如果文件不存在,则
echo "ipvsadm stoped _______________________"
exit 1
else
echo "ipvsadm Runing____________________[ok]"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
添加权限
chmod +x dr.sh
这边注意,我们要将网卡改成仅主机模式,并设置静态IP地址
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
修改如下
IPADDR=192.168.100.110
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
重启网卡
systemctl restart network
启动LVS脚本
service dr.sh start
接下来配置LVS2,配置内容相同,但是要注意,在配置ens33网卡的时候,要和LVS1不同
如下:
IPADDR=192.168.100.111
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
关闭防火墙和核心防护
iptables -F
setenforce 0
接下来是两台web节点服务器
更改主机名:
hostnamectl set-hostname web1
su
安装环境包
yum install httpd -y
创建网页
cd /var/www/html
vim index.html
<h1>this is abc 1</h1>
编辑lo:0显卡
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
//原有内容删除,写入下面内容
DEVICE=lo:0
IPADDR=192.168.100.10
NETMASK=255.255.255.0
ONBOOT=YES
编写web脚本
cd /etc/init.d
------------------
vim web.sh
#!/bin/bash
VIP=192.168.100.10
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP 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 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $VIP /dev/null 2>&1
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
复制到web2上
scp /etc/init.d/web.sh root@192.168.209.134:/etc/init.d/
yes
abc123
网卡修改成仅主机模式
配置网卡信息
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.100.201
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
重启网卡服务
systemctl restart network
启动脚本,开启服务
chmod +x web.sh
service web.sh start
systemctl start httpd
接下来我们到web2上进行配置,和web1配置相同,在网卡信息不同,以及在编写网页的时候,要注意和web1的内容不同
IPADDR=192.168.100.202
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
网页
<h1>this is abc 2</h1>
接下来,两台web机均重启lo:0网卡
ifup lo:0
接下来,我们回到lLVS1上配置keepalived
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1 ## 邮件服务器指向本地
smtp_connect_timeout 30
router_id LVS_01 指定router_ip,不能相同
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER ## 备机为BACKUP
interface ens33 ## 接口为物理网卡接口
virtual_router_id 51
priority 100 ## 备机优先级必须要小于主机
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.10 ## VIP地址
}
}
virtual_server 192.168.100.10 80 { ## 虚拟服务器IP地址及访问端口
delay_loop 6
lb_algo rr
lb_kind DR ## 指定LVS模式
persistence_timeout 50
protocol TCP
real_server 192.168.100.201 80 { ## 真实服务器IP地址
weight 1
TCP_CHECK { ## 健康状态检查
connect_port 80 ## 添加80端口
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.100.202 80 { ## 以下是另一台Web Server节点
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
复制到LVS2上
scp /etc/keepalived/keepalived.conf root@192.168.100.111:/etc/keepalived/
yes
abc123
然后我们在LVS2上进行修改
vim /etc/keepalived/keepalived.conf
router_id LVS_02 主为01,备就是02,不一样即可
state BACKUP 角色身份不能一样,要改为BACKUP
priority 90 优先级要改为90
两台LVS主机启动服务
[root@lvs1 ~]# systemctl start keepalived.service
[root@lvs2 ~]# systemctl start keepalived.service
配置完成,后续可以到同网段中的win10主机中,ping 192.168.100.10 进行验证 并打开网页,访问192.168.100.10 一直刷新,会发现网页会轮询访问web1和web2的网页