keepalived 是解决单故障节点的软件 1、 keepalived+LVS/DR 2、 任意单故障节点 的 高可用 作 分发器 的 高可用 用 keepalived 作 LVS/DR 模式 分发器 的 高可用 实验拓扑 client node1主、node2备 webA 、webB
浮动资源有: 浮动ip、策略
IP 规划 client 192.168.4.254 node1 192.168.4.50 node2 192.168.4.55 浮动ip(vip) 192.168.4.252 webA 192.168.4.51 webB 192.168.4.52
配置步骤 #chkconfig iptables off #取消开机自起 #service iptables stop #关闭防火墙 #setenforce 0 #关闭selinux
1 配置好网络环境 所有地址的IP #vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.4.50 NETMASK=255.255.255.0 GATEWAY=192.168.4.10 DNS1=202.106.0.20 ... #service network restart #systemctl restart NetworkManager
2 配置webA、B 服务自定义Web页面 #yum install -y httpd #echo “192.168.4.51” > /var/www/html/index.html #echo “192.168.4.52” > /var/www/html/index.html #service httpd start ; chkconfig httpd on #rhel6 #systemctl start httpd;systemctl enable httpd #rhel7
配置webA、B的vip 和DR模式的网络配置 临时修改方法可写在/etc/rc.local文件里开机执行 #ifconfig lo:1 192.168.4.252/32 #echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore #echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
永久修改方法
#vim /etc/sysctl.conf
.. ..
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
#sysctl -p
在node1、node2 分别安装 keepalived 软件包 #yum -y install keepalived ipvsadm 修改配置node1 #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 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.4.252
}
}
virtual_server 192.168.4.252 80 {
delay_loop 6
lb_algo rr #集群算法
lb_kind DR #DR模式
nat_mask 255.255.255.0
#persistence_timeout 50 #坚持时间同一客户端50秒内访问分配同一服务器注释掉实现实时轮询
protocol TCP
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
real_server 192.168.4.51 80 {
weight 1
}
real_server 192.168.4.52 80 {
weight 1
}
}
node2: #vim /etc/keepalived/keepalived.conf state MASTER priority 150
#systemctl start keepalived
#ipvsadm -Ln
验证 254: http://192.168.4.252/index.html