keepalived双机热备

centos服务器双机热备,每台服务器都是双网卡,客户担心业务流量太大导致心跳线出问题,于是要求keepalived心跳线和业务线分开。我的问题是,keepalived的vip地址是给心跳线使用的,那么如何将心跳线上的vip地址也分配给业务线呢?比如eth1是走的业务,然后eth2是心跳线,两条线都接同一台交换机,然后划分vlan,如何让两台服务器的keepalived通过eth2监测心跳,然后让vip地址给eth1使用

keepalived是一种用于实现高可用和负载均衡的软件,它可以在多台服务器之间切换一个虚拟IP地址(VIP),以保证服务的连续性。keepalived使用VRRP协议来检测服务器的状态和选举主服务器(Master),主服务器会拥有VIP并提供服务,备用服务器(Backup)会监听主服务器的心跳包,如果主服务器故障,备用服务器会接管VIP并成为新的主服务器。
根据你的问题,你想要实现的是这样的一个场景:
你有两台服务器,每台服务器都有两个网卡,eth1是业务线,eth2是心跳线;
你想要在eth2上配置keepalived的心跳检测,让两台服务器互相监测对方的状态;
你想要在eth1上配置keepalived的VIP地址,让主服务器提供服务,备用服务器在主服务器故障时接管VIP。
要实现这样的配置,你需要以下几个步骤:
第一步,安装keepalived。你可以使用yum命令来安装keepalived软件包:
yum install keepalived

第二步,配置keepalived。你需要在每台服务器上创建或编辑/etc/keepalived/keepalived.conf文件,根据自己的需求填写以下内容:

global_defs {
  # 定义路由器标识符
  router_id proxy-serv01 # 在另一台服务器上改为proxy-serv02
}

vrrp_instance VI_1 {
  # 定义虚拟路由器ID
  virtual_router_id 51

  # 定义优先级,数值越大优先级越高
  priority 100 # 在另一台服务器上改为50

  # 定义状态,MASTER表示主服务器,BACKUP表示备用服务器
  state MASTER # 在另一台服务器上改为BACKUP

  # 定义心跳接口
  interface eth2

  # 定义心跳间隔时间(秒)
  advert_int 1

  # 定义认证方式和密码
  authentication {
    auth_type PASS
    auth_pass 123456
  }

  # 定义虚拟IP地址和掩码
  virtual_ipaddress {
    192.168.122.100/24 dev eth1 # VIP地址绑定到eth1接口上
  }
}

第三步,启动和测试keepalived。你需要在每台服务器上启动keepalived服务,并检查是否正常工作:
systemctl start keepalived
systemctl enable keepalived
systemctl status keepalived
ip addr show eth1 # 查看eth1接口是否有VIP地址
ip addr show eth2 # 查看eth2接口是否有心跳包

ping -c4 192.168.122.100 # 测试VIP地址是否能够正常响应

systemctl stop keepalived # 在主服务器上停止keepalived服务,观察备用服务器是否接管VIP地址

在CentOS服务器上配置双机热备份并将Keepalived心跳线和业务线分开,同时将VIP地址分配给业务线,可以按照以下步骤进行操作:

确保服务器上已安装并正确配置了Keepalived。你可以使用yum包管理器进行安装,然后根据需求配置Keepalived以实现双机热备份。

在每台服务器上,将一块网卡(例如eth2)用作心跳线,并将另一块网卡(例如eth1)用作业务线。确保这两个网卡都连接到同一台交换机,并使用VLAN进行划分。

在每台服务器上,将eth2网卡配置为用于Keepalived的心跳线。这意味着在Keepalived配置中,你将指定eth2作为心跳接口。

创建一个虚拟网络接口(例如eth1:1)并将其配置为使用VIP地址。这样,VIP地址就可以在业务线上使用了。在CentOS中,你可以通过编辑网络配置文件来创建虚拟接口,并为该接口分配VIP地址。

在Keepalived配置中,将虚拟接口eth1:1与VIP地址关联。这样,Keepalived将使用eth2进行心跳监测,但VIP地址将绑定到eth1:1,使其可供业务线使用。

高手

要将心跳线上的VIP地址分配给业务线,可以通过以下步骤实现:

  1. 在每台服务器上配置两个虚拟网络接口(VLAN):一个用于心跳线(eth2),另一个用于业务线(eth1)。

  2. 使用交换机来划分两个不同的VLAN,将心跳线和业务线分隔开。

  3. 配置keepalived以使用心跳线上的VIP地址。您可以在keepalived的配置文件中将VIP地址指定给eth2的虚拟接口(例如 eth2:1)。这样,keepalived将使用该VIP地址进行心跳检测。

  4. 将业务线的VIP地址分配给eth1的虚拟接口(例如 eth1:1)。这样,业务流量将通过eth1:1使用VIP地址。

通过这种方式,您能够同时使用同一台交换机上的两个不同VLAN,并将VIP地址分配到不同的网络接口上,实现心跳线和业务线的独立使用。