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
转载于:https://blog.51cto.com/45545613/2083341