KEEPALIVED
准备俩台装有HTTP服务的虚拟机
实验前先做一个软链接
ln -s /usr/src/kernels/(uname -r)/ /usr/src/linux #如果没有/usr/src/kernels/uname -r 路径,很可能是因为缺少kernel-develop-(uname -r) 软件包, 可通过 yum install kernel-devel -y 安装
编译安装KEEPALIVED
wget http://www.keepalived.org/software/keepalived-1.1.19.tar.gz tar zxf keepalived-1.1.19.tar.gz cd keepalived-1.1.19 ./configure make make install
操作命令
/bin/cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/ /bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig mkdir /etc/keepalived -p /bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived /bin/cp /usr/local/sbin/keepalived /usr/sbin /etc/init.d/keepalived start ps -ef | grep keep /etc/init.d/keepalived stop #成功后,停止keepalived服务
主服务器配置文件 /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email { 437808591@qq.com #邮件报警 } notification_email_from Alexandre.Cassen@firewall.loc #指定发件人 smtp_server 10.0.0.1 #指定smtp服务器地址 smtp_connect_timeout 30 #指定smtp连接超时时间 router_id LVS_7 #负载均衡标识,在局域网内是唯一的 } vrrp_instance VI_1 { state MASTER #指定该keepalived节点的初始状态 interface eth0 #vrrp实例绑定的接口,用于发送VRRP包。 virtual_router_id 55 #指定VRRP实例ID,范围是0-255 priority 150 #指定优先级,优先级高的将成为MASTER advert_int 1 #指定发送VRRP通告的间隔,单位是秒。 authentication { auth_type PASS #指定认证方式。PASS简单密码认证(推荐),AH:IPSEC认证(不推荐) auth_pass 1111 #指定所使用的密码,最多8位 } virtual_ipaddress { 10.0.0.10/24 } }
备用服务器配置文件 /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email { 437808591@qq.com } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 10.0.0.1 smtp_connect_timeout 30 router_id LVS_2 } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 55 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.10/24 } }
配置完成以后,开启keepalived
/etc/init.d/keepalived start
使用客户端ping VIP是通的
然后关闭主服务器的keeplived服务
等待1-2秒,服务会切换到备用服务器上,ping包丢失一次,然后继续发包
这里用 ip a 命令查看服务的切换