Linux-Centos-VIP

转载:

一、直接挂载方式:
这里我们创建两个虚拟机环境,IP地址分别为192.168.209.121和192.168.209.122,如下图所示:

 

 

 

 在192.168.209.122上添加一个VIP地址为:192.168.209.22,执行如下命令:

ifconfig eth0:1 192.168.209.22 broadcast 192.168.209.255 netmask 255.255.255.0 up

eth0:1表示这个VIP绑定的目标网卡设备,192.168.209.22就是VIP的值,广播地址为192.168.209.255,子网掩码为:255.255.255.0,up表示立即启用这个VIP。
接着我们通过route命令,在路由表上添加对这个VIP的路由信息
route add -host 192.168.209.22 dev eth0:1

此时,我们在192.168.209.122 这台虚拟机上执行ifconfig命令如下:

 

 多了一张eth0:1网卡,说明VIP创建成功。

接下来,我们ping 192.168.209.22
如下图:

 

 ping成功,说明我们的VIP创建测试成功。

注意:这种方式的VIP信息在主机重启后会消失,所以我们最好是将创建VIP的命令写成一个脚本vip.sh,将脚本配置到环境变量和开机启动项:
脚本信息如下:

#!/bin/bash
ifconfig eth0:1 192.168.209.22 broadcast 192.168.209.255 netmask 255.255.255.0 up
route add -host 192.168.209.22 dev eth0:1

二、keepalived方式vip:

 keepalived第三方设置vip方式...通过vrrp协议的keepalived.

 在两台机器上做高可用,分别问A,B. 两台服务都要安装keepalived,yum安装.

  假设服务为nginx的高可用。A,B同时装有nginx服务。

  A: 10.200.11.1     master,keepalived,nginx

  B:10.200.11.2 backup ,keepalived,nginx

  vip:10.200.11.3

yum install keepalived -y
keepalived -V
cd /etc/keepalived &&
cat keepalived.conf

  mastr节点配置:

global_defs {
    router_id do118  
    vrrp_skip_check_adv_addr
    vrrp_garp_interval 0
    vrrp_gna_interval 0
    script_user root
    enable_script_security
}

vrrp_script chk_nginx {
     script "/usr/bin/killall -0 nginx && exit 0 || exit 1"
   #script "/usr/bin/pkill -0 nginx" interval 1 weight -10 fall 2 rise 1 } vrrp_instance VI_1 { state MASTER # master主节点 interface ens192 # 网卡 virtual_router_id 118 #master和backup一致 priority 100 # master>backup advert_int 1 unicast_src_ip 10.200.11.1 unicast_peer { 10.200.11.2 } authentication { auth_type PASS auth_pass Abc@123 } virtual_ipaddress { 10.200.11.3/24 brd 10.200.11.255 dev ens192 label ens192:1 } track_script { chk_nginx } }

slave节点配置:

global_defs {
   router_id do116
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   script_user root
   enable_script_security
}

vrrp_script chk_nginx {
    script "/usr/bin/killall -0 nginx && exit 0 || exit 1"
   #script "/usr/bin/pkill -0 nginx" interval 1 weight -10 fall 2 rise 1 } vrrp_instance VI_1 { state BACKUP # 从节点,值:BACKUP interface ens192 # 网卡 virtual_router_id 118 #需路由ID,与主节点一致 priority 95 # 小于主节点值 advert_int 1 unicast_src_ip 10.200.11.2 unicast_peer { 10.200.11.1 } authentication { auth_type PASS auth_pass Abc@123 } virtual_ipaddress { 10.200.11.3/24 brd 10.200.11.255 dev ens192 label ens192:1 } track_script { chk_nginx } }

  

分别启动服务:
  Systemctl start keepalived
  Systemctl start nginx
  ifconfg 查看ip情况
停掉主节点nginx服务,观察vip是否漂移到backup节点。




 

posted @ 2020-07-03 15:10  Macoffee  阅读(1019)  评论(0)    收藏  举报