LVS+Keepalived高可用群集

keepalived主服务器配置

systemctl stop firewalld
setenforce 0
yum -y install keepalived ipvsadm    #安装keepalived和ipvsadm管理工具

将主配置文件备份并编辑文件

cd /etc/keepalived
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
global_defs {
   router_id R1    #本服务器的名称
}

vrrp_instance VI_1 {    #定义VRRP热备实例
    state MASTER        #热备状态,MASTER表示主服务器,BACKUP表示为备用服务器
    interface ens33     #承载VIP地址的物理接口
    virtual_router_id 1    #虚拟路由器的ID号,每个热备组保持一致
    priority 100    #优先级,数值越大优先级越高
    advert_int 1    #通告间隔秒数(心跳频率)
    authentication {    #认证信息
        auth_type PASS    #认证类型
        auth_pass pwd123    #密码
    }
    virtual_ipaddress {    #指定漂移地址(VIP)
        192.168.248.100
    }
}

配置完成后启动服务。此时主服务器仍然在线,VIP地址实际上仍然由主服务器控制,其他服务器处于备用状态,因此在备用服务器上将不会为ens33接口添加VIP地址。

systemctl start keepalived
ip addr show dev ens33

LVS+Keepalived高可用群集_第1张图片

为LVS配置虚拟IP地址

cd /etc/sysconfig/network-scipts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
.........
NAME=ens33:0
DEVICE=ens33:0    
ONBOOT=yes
IPADDR=192.168.248.100
NETMASK=255.255.255.0

LVS+Keepalived高可用群集_第2张图片

配置负载均衡分配策略

ipvsadm -C    #清除原有策略
ipvsadm -A -t 192.168.248.100:80 -s rr
ipvsadm -a -t 192.168.248.100:80 -r 192.168.248.30:80 -g -w 1
ipvsadm -a -t 192.168.248.100:80 -r 192.168.248.40:80 -g -w 1
ipvsadm-save    #保存策略

调整/prox响应参数

vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

sysctl -p

web地址池配置

vim /etc/keepalived/keepalived.conf

LVS+Keepalived高可用群集_第3张图片

同样也要为备用服务器配置相同的参数

 

备用服务器配置

systemctl stop firewalld
setenforce 0
yum -y install keepalived ipvsadm    #安装keepalived和ipvsadm管理工具

与主服务器相同配置大致相同,只要修改服务器的名称、热备状态、优先级就可以了

cd /etc/keepalived
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
global_defs {
   router_id R2    #本服务器的名称
}

vrrp_instance VI_1 {    #定义VRRP热备实例
    state BACKUP       #热备状态,MASTER表示主服务器,BACKUP表示为备用服务器
    interface ens33     #承载VIP地址的物理接口
    virtual_router_id 1    #虚拟路由器的ID号,每个热备组保持一致
    priority 99   #优先级,数值越大优先级越高
    advert_int 1    #通告间隔秒数(心跳频率)
    authentication {    #认证信息
        auth_type PASS    #认证类型
        auth_pass pwd123    #密码
    }
    virtual_ipaddress {    #指定漂移地址(VIP)
        192.168.248.100
    }
}

配置节点服务器(web服务器)

systemctl stop firewalld
setenforce 0

yum -y install httpd
echo "

AAAAAAAA

" >> /var/www/html/index.html #编写测试页 systemctl start httpd

通过浏览器查看网页是否可以正常查看

为服务器节点配置虚拟IP地址(VIP)

cd /etc/sysconfig/network-scripts
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.248.100
NETMASK=255.255.255.255
ONBOOT=yes
           

LVS+Keepalived高可用群集_第4张图片

调整/proc响应参数

vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

sysctl -p    

添加VIP本地访问路由,将访问VIP的数据限制在本地,以避免通信紊乱

vim /etc/rc.local
......
/sbin/route add -host 192.168.248.100 (VIP地址) dev lo:0
route add -host 192.168.248.100 dev lo:0

 

你可能感兴趣的:(LVS+Keepalived高可用群集)