HA+LVS 高可用集群

在这里插入图片描述
keepalived:采用VRRP热备份协议,可一主多备,优先级不一样。
NFS不作 NAT模式那一篇有html

使用keepalived实现双机热备。

chkconfig NetworkManager off
chkconfig iptables off
cat /etc/sysconfig/selinux  #例行公事四台都要这样。

装插件两台lvs都要装
yum -y install kernel-devel openssl-devel popt-devel ipvsadm keepalived

在这里插入图片描述

modprobe ip_vs #加载ipvs模块 两台lvs都须要

在这里插入图片描述

#修改内核参数( /etc/sysctl.conf)文件,关闭ICMP重定向。
vim /etc/sysctl.conf 
sysctl -p

在这里插入图片描述
在这里插入图片描述

chkconfig --add keepalived 
chkconfig keepalived on
#添加为系统服务 开机自启 两台都要

在这里插入图片描述

配置主调度器

/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_DEVEL1 #本路由器名称
}

vrrp_instance VI_1 {   #定义vrrp热备份实例
    state MASTER       #热备状态 MASTER表示主服务器  BACKUP表示备份
    interface eth0      #承载VIP地址的物理接口
    virtual_router_id 51 #承载路由器的ID号,每一个热备组要保持一致
    priority 100         #优先级,越大优先级越高,也叫占先权
    advert_int 1         #通告间隔秒数(心跳频率)
    authentication {     #认证信息 每一个热备组保持一致
        auth_type PASS   #认证类型
        auth_pass 1111    #密码字串
    }
    virtual_ipaddress {   #指定漂移地址(vip)能够有多个
     200.0.0.100
	 }
}

virtual_server 200.0.0.100 80 {    #虚拟服务器(vip)地址、端口
    delay_loop 15                  #健康检查的间隔时间
    lb_algo rr                     #rr轮询调度算法
    lb_kind DR                     #直接路由(DR)群集模式
    !persistence_timeout 50        #链接保持时间,启用就去掉感叹号,这个配置文件"!"表明注释
    protocol TCP                   #应用服务采用TCP协议

    real_server 200.0.0.4 80 {      #第二个web节点地址、端口
        weight 1                    #权重
        TCP_CHECK {                 #健康检查方式
            connect_port 80         #检查的目标端口
	    connect_timeout 3           #链接超时(秒)
            nb_get_retry 3          #重试次数
            delay_before_retry 3    #重试间隔(秒)
        }
    }
    real_server 200.0.0.3 80 {         #第三个web节点地址、端口
        weight 1
        TCP_CHECK {
            connect_port 80
	    connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

service keepalived start
ip a #启动服务 查看漂移地址

在这里插入图片描述

从调度器配置

scp root@200.0.0.1:/etc/sysctl.conf /etc/
sysctl -p  #从主服务器复制文件,刷新
scp root@200.0.0.1:/etc/keepalived/keepalived.conf  /etc/keepalived/

在这里插入图片描述
这里把主配文件须要改的东西列出来linux

router_id LVS_DEVEL2 #改本路由器名字
   state BACKUP         #BACKUP从服务器模式
   priority 90          #优先级  要低于主调度器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

chkconfig --add keepalived 
chkconfig keepalived on
service keepalived start

在这里插入图片描述

web1服务器的配置

#修改内核参数 /etc/sysctl.conf文件,关闭ARP应答。
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

在这里插入图片描述
在这里插入图片描述

# ifcfg-lo:0配置群集ip地址200.0.0.100,子网掩码为255.255.255.255
DEVICE=lo:0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=200.0.0.100
NETMASK=255.255.255.255
ifup lo:0

在这里插入图片描述
在这里插入图片描述

#创建测试网页
echo 111111 > /var/www/html/index.html
service httpd start

在这里插入图片描述

route add -host 200.0.0.100 dev lo:0 #写路由记录,最好写进/etc/rc.local  开机自动运行

在这里插入图片描述

web 2 配置与web1基本相同

scp root@200.0.0.3:/etc/sysctl.conf  /etc/
sysctl -p

在这里插入图片描述

scp root@200.0.0.3:/etc/sysconfig/network-scripts/ifcfg-lo:0 /etc/sysconfig/network-scripts/

ifup lo:0     #远程复制过来,启用

在这里插入图片描述

echo 55555555 > /var/www/html/index.html
service httpd start

在这里插入图片描述

route add -host 200.0.0.100 dev lo:0

在这里插入图片描述
client访问
在这里插入图片描述
分配给了不一样的服务器
在这里插入图片描述web

poweroff
#关闭主调度器

在这里插入图片描述
主出现问题 由从接管服务
在这里插入图片描述
在这里插入图片描述算法

#主正常以后,漂移地址变回来了。

在这里插入图片描述