LVS+Keepalived高可用群集

1、 keepalived软件安装
yum install keepalived -y

注:
/etc/keepalived/keepalived.conf     #keepalived服务主配置文件
/etc/rc.d/init.d/keepalived         #服务启动脚本

 

2、配置文件说明
1-13行表示全局配置

 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        #定义路由标识信息,相同局域网唯一
 }  

15-30行 虚拟ip配置 brrp

vrrp_instance VI_1 {   #定义实例
    state MASTER         #状态参数 master/backup 只是说明
    interface eth0       #虚IP地址放置的网卡位置
    virtual_router_id 51 #同一家族要一直,同一个集群id一致
    priority 100         # 优先级决定是主还是备    越大越优先
    advert_int 1        #主备通讯时间间隔
    authentication {     # ↓
        auth_type PASS    #↓
        auth_pass 1111    #认证
    }                        #↑ 
    virtual_ipaddress {  #↓
        192.168.200.16    设备之间使用的虚拟ip地址
        192.168.200.17
        192.168.200.18
    }
}

 

实验:
keepalived热备份(双机热备)
主keepalived服务器:192.168.80.180  
备keepalived服务器:192.168.80.105

 

修改后的配置如下:
主负载均衡服务器配置
! Configuration File for keepalived

global_defs {
   router_id lb01
}

vrrp_instance VI_1 {
    state MASTER
    interface ens32
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.80.188
    }
}

备负载均衡服务器配置
! Configuration File for keepalived

global_defs {
   router_id lb02
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens32
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
     192.168.80.188
    }
}

 

service keepalived  start  启动keepalived

ip  addr  show ens32  

cat  /var/log/messages  用日志查看

主:

从:

-----

【总结】配置文件修改
Keepalived主备配置文件区别:
1. router_id 信息不一致
2. state 状态描述信息不一致
3. priority 主备竞选优先级数值不一致

4.你的物理网卡名字 一定要先ifconfig看一下  是多少 interface后面就写多少


到此,keepalived主备部署完成。

 

--
-----

------------------------------------------------------------------------------------------------------------------------------------------

环境:
主keepalived服务器:192.168.80.100
从keepalived服务器:   192.168.80.101

Web服务器:192.168.80.102
          192.168.80.103

windows7 :192.168.80.20

主从keepalived服务器上:
modprobe ip_vs

yum install   ipvsadm  -y

yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel

tar xf keepalived-1.4.2.tar.gz  -C  /opt

cd keepalived-1.4.2/

./configure --prefix=/

make && make install

cp keepalived/etc/init.d/keepalived /etc/init.d/     //加入系统管理服务

systemctl enable keepalived


在主服务器上
vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
   router_id LVS_01            //本服务器的名称
}
vrrp_instance VI_1 {            //定义VRRP热备实例
    state MASTER             //热备状态,MASTER表示主服务器,BACKUP表示从服务器
    interface ens32            //承载VIP地址的物理接口
    virtual_router_id 51        //虚拟路由器的ID号,每个热备组保持一致
    priority 110               //优先级,数值越大优先级越高
    advert_int 1               //通告间隔秒数(心跳频率)
    authentication {            //热备认证信息,每个热备组保持一致
        auth_type PASS        //认证类型
        auth_pass 6666        //密码字符串
    }
    virtual_ipaddress {          //指定漂移地址(VIP),可以有多个
        192.168.80.188
    }
}
virtual_server 192.168.80.188 80 {      //虚拟服务器地址(VIP)、端口
        delay_loop 6               //健康检查的间隔时间(秒)
        lb_algo rr                  //轮询(rr)调度算法
        lb_kind DR                 //直接路由(DR)群集工作模式
        persistence_timeout 60       //连接保持时间(秒)
        protocol TCP                //应用服务器采用的是TCP协议
real_server 192.168.80.102 80 {         //第一个Web服务器节点的地址、端口
        weight 1                   //节点的权重
        TCP_CHECK {                //健康检查方式
        connect_port 80             //检查的目标端口
        connect_timeout 3           //连接超时(秒)
        nb_get_retry 3              //重试次数
        delay_before_retry 3          //重试间隔
        }
}
real_server 192.168.80.103 80 {           //第二个Web服务器节点的地址、端口
        weight 1
        TCP_CHECK {
             connect_port 80
             connect_timeout 3
             nb_get_retry 3
             delay_before_retry 3
     }
  }
}


service keepalived start
ip addr show dev ens32

ipvsadm –Ln       //查看LVS虚拟服务器

cat  /var/log/messages

配置从keepalived服务器:
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   router_id LVS_02
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens32
    virtual_router_id 51
    priority 105
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 6666
    }
    virtual_ipaddress {
        192.168.80.188
    }
}
virtual_server 192.168.80.188 80 {
        delay_loop 6
        lb_algo rr
        lb_kind DR
        persistence_timeout 60
        protocol TCP
real_server 192.168.80.102 80 {
        weight 1
        TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        }
}
real_server 192.168.80.103 80 {
        weight 1
        TCP_CHECK {
             connect_port 80
             connect_timeout 3
             nb_get_retry 3
             delay_before_retry 3
     }
  }
}

service keepalived start
ipvsadm –Ln

验证热备结果


配置web节点服务器
第一台web节点:
yum install -y httpd
 vi /etc/httpd/conf/httpd.conf

 cd /var/www/html/
 echo "<h1>SERVER AA</h1>" > index.html
service httpd start

 vi web.sh
#!/bin/bash
#haha
ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up
route add -host 192.168.80.188 dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p &>/dev/null

sh web.sh
ifconfig

第二台web节点:
 yum install -y httpd
 vi /etc/httpd/conf/httpd.conf

 cd /var/www/html/
 echo "<h1>SERVER BB</h1>" > index.html
service httpd start

 vi web.sh
#!/bin/bash
#haha
ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up
route add -host 192.168.80.188 dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p &>/dev/null

sh web.sh
ifconfig

 

测试LVS+Keepalived高可用群集
在客户端的浏览器中,能够通过LVS+Keepalived群集的漂移地址(192.168.80.100)正常访问web页面内容,则验证群集构建成功。
1. 验证两台Web服务器轮询工作
Win7访问http://192.168.80.188

2. 模拟主调度器故障,验证结果
systemctl stop keepalived 
//主调度器keepalived停止工作

3、模拟Web服务器aa故障

LVS+Keepalived已成功搭建并测试完成


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值