虚拟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。 则验证通过。

 

posted on 2019-08-21 17:09  Emmerich.Luang  阅读(441)  评论(0编辑  收藏  举报

导航