虚拟IP+heartbeat(一)

记录一下,这是个小规模的高可用方案。适合单机房、几个实例,机器不多的情况。

虚拟IP(virtual IP,简称VIP)

流量通过虚拟IP访问,而不是物理IP。 

举个例子, 内网服务中, DNS到物理IP。如果物理IP变动,这是非常麻烦的事儿,需要用户刷新本地dns缓存。 可是 DNS服务到的是虚拟IP,那影响面就少很多了。

下面是虚拟IP配置示例:

首先我创建了2个虚拟机克隆。 分别是   

192.168.146.80、
192.168.146.81
虚拟机1

ens33 Link encap:Ethernet HWaddr 00:50:56:28:60:52 
inet addr:192.168.146.80 Bcast:192.168.146.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe28:6052/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1483 errors:0 dropped:0 overruns:0 frame:0
TX packets:1202 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:145275 (145.2 KB) TX bytes:114981 (114.9 KB)


虚拟机2

ens33 Link encap:Ethernet HWaddr 00:50:56:28:60:52 
inet addr:192.168.146.81 Bcast:192.168.146.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe28:6052/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1483 errors:0 dropped:0 overruns:0 frame:0
TX packets:1202 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:145275 (145.2 KB) TX bytes:114981 (114.9 KB)

192.168.146.85 作为虚拟IP吧~ 

用别名的方式使用虚拟IP

ifconfig ens33:0 192.168.146.85 netmask 255.255.255.0 up

ifconfig 就发现多了一个网卡和IP了

ens33:0   Link encap:Ethernet  HWaddr 00:50:56:28:60:52  
          inet addr:192.168.146.85  Bcast:192.168.146.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

删除虚拟Ip

ifconfig ens33:0 down

上面的方式 机器重启、restart networking就失效的了。 最好就写在配置中。

写在配置中

追加 /etc/network/interfaces

auto ens33:0
iface ens33:0 inet static
name Ethernet alias LAN card
address 192.168.146.85
netmask 255.255.255.0
broadcast 192.168.146.255
network 192.168.146.1

测试

分别在2台机器上安装了 nginx。

修改nginx文件的html内容。 机器1的显示 nginx1、 机器2显示nginx2。

访问 192.168.146.85。

关闭机器1,显示机器2。 则验证通过。

原文地址:https://www.cnblogs.com/ELMND/p/11389876.html