Linux vip(浮动IP)
首先解释一下浮动IP 的概念:
在高可用集群环境中,一般都需要使用浮动IP来实现web高可用(High Availability)。
1、为什么要有浮动IP这个东西
现在有一个场景,在一台Linux上部署一个web应用,应用跑在tomcat里面,linux网卡上的ip是115.239.100.120
大致就是如下的部署关系:
用户通过输入IP地址就能访问这个应用了,但是天有不测风云,有时候因为一些原因,服务会挂掉。于是开发人员就想了一个办法,在另外一个Linux上,部署同样的一个应用,这样这个服务挂了,另外一个顶上,于是架构就变成了下面
这个样子:
如果用户访问100.120访问不了,就访问100.121就行了,但是这样引入了一个问题,用户需要记住两个IP,很不方便!所以这个时候就需要浮动IP了。
2、浮动IP是什么
上面我们搭建了两个一模一样的服务,但是用户需要记住两个IP,实在是太麻烦了,于是我们可以采用另外一个策略,
我们给其中一个机器在添加一个IP,让用户访问这个IP,一个网卡是可以添加多个IP的。
例如上面,我们给100.120主机添加一个100.80的IP,用户访问115.239.100.80这个IP,如果这台机器的服务挂了,我们就将
这个ip转移到100.121这个机器上,这样对于用户而言,他们始终访问的就只是一个IP而已。
在上面的场景中:115.239.100.80这个ip就是浮动IP,他会随着主机服务挂掉而转移到另外一个能够提供相同服务的主机上,
对于用户而言,他们始终觉得服务是正常的。一般而言,在高可用集群中使用的比较多,例如LVS集群等
其实一个高可用集群一般而言都有浮动IP的,如果没有,机器宕机了还怎么玩?
3.如何创建浮动IP:
在主服务器上拷贝ifcfg-ens34为 ifcfg-ens34:1,并做修改。
修改DEVICE为ens34:1,NM_CONTROLLED设置为no,IPADDR改为浮动IP地址192.168.88.140,去掉网关信息,修改完如下
[root@cs02 network-scripts]# cp ifcfg-ens34 ifcfg-ens34:1
[root@cs02 network-scripts]# vim ifcfg-ens34:
TYPE=Ethernet
BOOTPROTO=static
IPV4_FAILURE_FATAL=no
DNS1=192.169.88.1
IPADDR=192.168.88.140
NAME=ens34:1
DEVICE=ens34:1
ONBOOT=yes
然后重启network,查看是否有浮动IP地址:
[root@cs02 network-scripts]# systemctl restart network
[root@cs02 network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a1:0b:33 brd ff:ff:ff:ff:ff:ff
inet 99.1.184.109/24 brd 99.1.184.255 scope global noprefixroute dynamic ens33
valid_lft 3599sec preferred_lft 3599sec
inet6 fe80::20c:29ff:fea1:b33/64 scope link
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a1:0b:3d brd ff:ff:ff:ff:ff:ff
inet 192.168.88.131/24 brd 192.168.88.255 scope global noprefixroute ens34
valid_lft forever preferred_lft forever
inet 192.168.88.140/24 brd 192.168.88.255 scope global secondary noprefixroute ens34:1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fea1:b3d/64 scope link tentative
valid_lft forever preferred_lft forever
接着访问浮动IP地址192.168.88.140,能访问成功,即和主服务器192.168.88.131访问的一样,则说明配置成功
更多推荐
所有评论(0)