虚拟IP+heartbeat(一)

摘要:
通过虚拟IP而不是物理IP访问虚拟IP流量。然而,DNS服务是虚拟IP,其影响要小得多。以下是虚拟IP配置的示例:首先,我创建了2个虚拟机克隆。192.168.146.80和192.168.146.81虚拟机1ens33Linkencap:EthernetHWaddr00:50:56:28:60:52详细地址:192.168.146.80Cast:192.168.146.255任务:255.255.255.0inet6地址:fe80::250:56ff:fe28:6052/64作用域:LinkUPBROADCASTRUNDINGMTICATU:1500度量:1RXpackets:1483错误:0删除:0覆盖:0帧:0Txpackets:1202错误:0丢弃:0覆盖物:0载波:0冲突:0txqueuelen:1000RXbytes:145275TXbytes:114981虚拟机2ens33Linkencap:EthernetHWaddr00:50:56:28:60:52内部地址:192.168.146.81广播:192.168.146.255任务:255.255.255.0inet6地址:fe80::250:56ff:fe28:6052/64范围:LinkUPBROADCAST TRUNNING MULTICATU:1500度量:1RXpackets:1483错误:0丢弃:错误:0帧:0TXpackets:1202错误:0丢失:错误:0carrier:0冲突:0txqueuelen:1000RXbytes:145275TXbytes:114981192.168.146.85用作虚拟IP~别名方法使用虚拟IPifconfig ens33:0192.16 46.85netmask 255.255.255.0upifconfig,它发现有一个额外的网卡和IP地址。ens33:0Linkencap:EthernetHWaddr00:50:56:28:60:52详细地址:192.168.146.85广播:192.168.146.255任务:255.255.255.0UPBROADCAST MULTICASTTU:1500度量:1删除虚拟Ipifconfigures33:down以上方法(计算机重新启动和重新启动网络)无效。将/etc/network/interfaces autoens33:0ifaceens33:0inetstaticnameEthernetaliasLAN卡地址192.168.146.85netmask255.255.0广播192.168.146.255network192.168.146.255网络192.168.146.146.1添加到配置中。修改nginx文件的html内容。机器1显示nginx 1,机器2显示nginx2。

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

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

免责声明:文章转载自《虚拟IP+heartbeat(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Task :app:lintVitalRelease FAILED报错记录:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS7.X)和ossec-agent(CentOS7.X))(图文详解)

OSSEC是一款开源的基于主机的入侵检测系统,可以简称为HIDS。它具备日志分析,文件完整性检查,策略监控,rootkit检测,实时报警以及联动响应等功能。详细的介绍和文档可以参考官网网站:http://www.ossec.net/环境本文中的环境极其简单,两台CentOS7虚拟机。CentOS7的安装详解服务端:  计算机名:ossec-server  I...

xcode模拟器不显示键盘解决方案

当我们使用Xcode进行开发时,我们并不总是需要在iPhone上运行代码。有时模拟器可以解决这些问题。但当你使用模拟器时,你会发现,如果你使用模拟器上的键盘在TextFiled中输入信息,这是可以的,但如果你使用键盘输入信息,那么你会发现模拟器上的屏幕将不再显示。这是因为默认情况下,xcode使用计算机键盘作为外部键盘,不会弹出虚拟键盘。...

从零开始制作Galgame——我的Ren'py学习笔记(一)

然后点击“启动工程”点击“开始游戏”效果应该是这样的好了,现在你就制作出了属于自己的第一个游戏角色在一般的Galgame中,不是所有话都是“旁白”说的,一个完整的游戏里面应该有主角那么,怎么在ren'py中定义角色呢我们把刚才的代码更改一下definel=Characterlabelstart:l"HelloWorld!...

IOS崩溃日志解析(crash log)

IOS的应用程序少不了crash,互联网统计分析工具友盟有一项目错误分析的功能,专门用于应用程序崩溃日志统计,最近研究友盟上统计到的崩溃日志,在此对崩溃日志做一个简单的总结。否则,应用将被iOS终止,并产生低内存崩溃报告。这样,我们去我们的dSYM文件看看我们的UUID是否和崩溃日志上的UUID一致,只有dSYM文件的UUID和崩溃日志上的UUID一致,我们...

flutter 蓝牙开发记录

返回设备ID列表//您可以提前注册以扫描收听事件FlutterBlueflatterBlue=FlutterBlue。例子输出到uisetState((){this._blueDevice.add(r);防止多个扫描操作报告错误)FlutterBlueflatterBlue=FlutterBlue.instance;...

oracle触发器调试

如果触发器执行成功,不会出现第4个图,不成功,会出现数据调试信息,具体报错位置会定位到。F7单步执行4.出错时,会出现调试数据,双击调试数据,可以复制出来...