Linux----Keepalived双机热备份(LVS+Keepalive高可用群集)

                                                   (实验准备1号机主keepalived,2号机从keepalived,3号机web1,4号机web2)

1号机#

#vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

IPADDR=172.16.16.173                                 (ESC:wq)

#ifdown ens33; ifup ens33

#systemctl stop firewalld

#setenfore 0
#vim /etc/sysctl.conf                     //  配置内核参数,防止icmp重定向
添加:

net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
保存退出
#sysctl -p
#modprobe ip_vs             //调用lvs

#mount /dev/cdrom /mnt

#cd /etc/yum.repos.d/

#ls     (默认将第一个备份为Centos-Base.repo.bak)

#mv Centos-Base.repo  Centos-Base.repo.bak

#vim Centos-Base.repo

【a】

  baseurl=file:///mnt

gpgcheck=0                                                (ESC:wq)保存退出

#yum clean all (清除缓存)

#yum -y install  keepalived ipvsadm 

#vim /etc/keepalived/keepalived.conf                     // 配置keepalive  主

! Configuration File for keepalived

global_defs {                               //删除以下8行
   router_id LVS_HA_R1            //本路由名称          (删除DEVEL改为HA_R1)
}

vrrp_instance VI_1 {           //定义热备份 
    state MASTER                //主热备份
    interface ens33                    //改eth0为ens33  (承载ip的物理接口)
    virtual_router_id 1              //改55为1    (虚拟路由ID每个热备份组需要保持一致)
    priority 100                       //主优先级(主比从大些)
    advert_int 1                         //通知间隔秒数
    authentication {                   认证信息
        auth_type PASS               认证类型
        auth_pass 1111             密码字符串
    }
    virtual_ipaddress {                   
        172.16.16.172                   //指定漂移ip地址

    }
}
virtual_server 172.16.16.172 80 {            //虚拟服务IP地址
    delay_loop 6                                        健康检查间隔时间
    lb_algo rr                                         轮询调度算法
    lb_kind DR                                   直接路由DR群集工作模式
!   persistence_timeout 50                   //连接保持时间,启用去除!
    protocol TCP                                采用TCP协议

    real_server 172.16.16.177 80 {                 //第一个web节点地址,端口号
        weight 1
        TCP_CHECK {                  //手动添加以下6行
                connect_port 80          //检查目标端口
                connect_timeout 3      //连接超时
                nb_get_retry 3            //重试次数
                delay_before_retry 4   //重试间隔

        }
    }

    real_server 172.16.16.178 80 {            //第二个节点  (复制第一个节点的9行)
        weight 1
        TCP_CHECK {
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
        }
    }
}                             //切记添加此符号
保存退出
#systemctl start keepalived                    //启动keepalive

#ip addr show dev ens33                        //查看漂移地址

2号机#

#vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

IPADDR=172.16.16.174                                 (ESC:wq)

#ifdown ens33; ifup ens33

#systemctl stop firewalld

#setenfore 0
#vim /etc/sysctl.conf                     //  配置内核参数,防止icmp重定向
添加:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
保存退出
#sysctl -p
#modprobe ip_vs             //调用lvs

#mount /dev/cdrom /mnt

#cd /etc/yum.repos.d/

#ls     (默认将第一个备份为Centos-Base.repo.bak)

#mv Centos-Base.repo  Centos-Base.repo.bak

#vim Centos-Base.repo

【a】

  baseurl=file:///mnt

gpgcheck=0                                                (ESC:wq)保存退出

#yum clean all (清除缓存)

#yum -y install  keepalived ipvsadm 

#vim /etc/keepalived/keepalived.conf                     // 配置keepalive  从

! Configuration File for keepalived

global_defs {
   router_id LVS_HA_R2               //第二遍路由
}

vrrp_instance VI_1 {
    state BACKUP                //从备份
    interface ens33
    virtual_router_id 1
    priority 90                               //从数字比主要小

    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.16.16.172

    }
}
virtual_server 172.16.16.172 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
!   persistence_timeout 50
    protocol TCP

    real_server 172.16.16.177 80 {
        weight 1
        TCP_CHECK {
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
        }
    }

    real_server 172.16.16.178 80 {
        weight 1
        TCP_CHECK {
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
        }
    }
}

保存退出

#systemctl start keepalived                //启动keepalive
#ip addr show dev ens33                   //查看漂移地址

3号机#

#vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

IPADDR=172.16.16.177                                 (ESC:wq)

#ifdown ens33; ifup ens33

#systemctl stop firewalld

#setenfore 0

#cd /etc/sysconfig/network-scripts/

#cp ifcfg-lo ifcfg-lo:0

#vim ifcfg-lo:0

改为:
    DEVICE=lo:0
    IPADDR=172.16.16.172
    NETMASK=255.255.255.255
    ONBOOT=yes
    保存退出

#ifup lo:0

#vim /etc/rc.local

添加到低行:

/sbin/route  add -host 172.16.16.172 dev lo:0                                            (esc:wq)保存退出

#route add -host 172.16.16.172 dev lo:0

#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

#mount /dev/cdrom /mnt

#cd /etc/yum.repos.d/

#ls     (默认将第一个备份为Centos-Base.repo.bak)

#mv Centos-Base.repo  Centos-Base.repo.bak

#vim Centos-Base.repo

【a】

  baseurl=file:///mnt

gpgcheck=0                                                (ESC:wq)保存退出

#yum clean all (清除缓存)

#yum -y install httpd

#echo "www.benet.com" > /var/www/html/index.html

#systemctl start httpd

4号机#

#vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

IPADDR=172.16.16.178                                (ESC:wq)

#ifdown ens33; ifup ens33

#systemctl stop firewalld

#setenfore 0

#cd /etc/sysconfig/network-scripts/

#cp ifcfg-lo ifcfg-lo:0

#vim ifcfg-lo:0

改为:
    DEVICE=lo:0
    IPADDR=172.16.16.172
    NETMASK=255.255.255.255
    ONBOOT=yes
    保存退出

#ifup lo:0

#vim /etc/rc.local

添加到低行:

/sbin/route  add -host 172.16.16.172 dev lo:0                                            (esc:wq)保存退出

#route add -host 172.16.16.172 dev lo:0

#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

#mount /dev/cdrom /mnt

#cd /etc/yum.repos.d/

#ls     (默认将第一个备份为Centos-Base.repo.bak)

#mv Centos-Base.repo  Centos-Base.repo.bak

#vim Centos-Base.repo

【a】

  baseurl=file:///mnt

gpgcheck=0                                                (ESC:wq)保存退出

#yum clean all (清除缓存)

#yum -y install httpd

#echo "www.accp.com" > /var/www/html/index.html

#systemctl start httpd

                  (本主机:172.16.16.172测试)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值