记录一下,这是个小规模的高可用方案。适合单机房、几个实例,机器不多的情况。
虚拟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。 则验证通过。