CHSHJ 发表于 2015-11-19 14:23:09

keepalived之虚拟ip应用

  继续上次keepalived和redis的集群,更改keepalived.conf配置文件的虚拟ip为192.168.2.190,即对外服务ip为192.168.2.190.
  1. 执行keepalived后,ip add操作:
  

root@dead:~# /usr/local/redis-2.8.13/src/redis-server /usr/local/redis-2.8.13/redis.conf
root@dead:~# keepalived
root@dead:~# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:2e:52:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.140/24 brd 255.255.255.254 scope global eth0
    inet 192.168.2.190/32 scope global secondary eth0
    inet6 fe80::20c:29ff:fe2e:5264/64 scope link
       valid_lft forever preferred_lft forever
2.对主从机上的keepalived.conf文件中虚拟ip改为192.168.2.190/24,重启虚拟机  
  再次执行ip add操作:



root@dead:~# keepalived
root@dead:~# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:2e:52:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.140/24 brd 255.255.255.254 scope global eth0
inet 192.168.2.190/24 scope global secondary eth0
inet6 fe80::20c:29ff:fe2e:5264/64 scope link
valid_lft forever preferred_lft forever
在从机141上执行,是看不到190虚拟ip的:  
  

root@gone:~# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:30:26:f8 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.141/24 brd 255.255.255.254 scope global eth0
inet6 fe80::20c:29ff:fe30:26f8/64 scope link
valid_lft forever preferred_lft forever


在主机140上执行ip route:  
  

192.168.2.0/24 dev eth0proto kernelscope linksrc 192.168.2.140
default via 192.168.2.1 dev eth0

  
  在140上关闭redis 后:
  

root@dead:~# /usr/local/redis-2.8.13/src/redis-cli -p 12002 shutdown
root@dead:~# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:2e:52:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.140/24 brd 255.255.255.254 scope global eth0
inet6 fe80::20c:29ff:fe2e:5264/64 scope link
valid_lft forever preferred_lft forever
在141上执行ip add操作,虚拟ip 漂移到141上:  
  


root@gone:~# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:30:26:f8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.141/24 brd 255.255.255.254 scope global eth0
    inet 192.168.2.190/24 scope global secondary eth0
    inet6 fe80::20c:29ff:fe30:26f8/64 scope link
       valid_lft forever preferred_lft forever





  

java 程序测试:  

public static void main(String[] args) {
Jedis jedis = new Jedis(&quot;192.168.2.190&quot;,12002);
//      jedis.set(&quot;id&quot;, &quot;10000&quot;);
String id = jedis.get(&quot;id&quot;);
//      jedis.set(&quot;name&quot;, &quot;javaboy2012&quot;);
String name = jedis.get(&quot;name&quot;);
System.out.println(&quot;id=&quot;+id);
System.out.println(&quot;name=&quot;+name);
System.out.println(&quot;name=&quot;+jedis.get(&quot;ray&quot;));
}






  

版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: keepalived之虚拟ip应用