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 配置 webAB 服务自定义 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
配置 webAB 的 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
在 node1node2 分别安装 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
- keepalived+LVS/DR
来源: http://www.bubuko.com/infodetail-2517120.html