应用场景

为配合系统的 HA 架构,云平台提供了 VIP(虚拟 IP)服务,支持应用系统、中间件系统使用 Keepalive 软件与此服务配合搭建高可用集群,当 keepalive 发现服务器宕机后,可以下达指令,让虚拟 IP 会自动漂移到当前可用主机上让业务继续保持工作。

前提

1、准备好一个 centos6.5 镜像模板,同时配置好了国内的 yum 源,便于更新
2、确保镜像中 ec2config 版本要大于 1.6.4(这样才能通知 SDN 接受 VIP 变更)可以通过在虚拟机里面执行命令 #cat /usr/local/Ec2Config/VERSION 查看版本
3、确保拥有可以外部通讯(internet)的网络(因为后续需要通过 yum 或 wget 下载 keepalived 组件)
4、配置 keepalived 可以参考两篇文章:http://blog.51cto.com/blief/1707638(安装)、http://blog.51cto.com/lanlian/1303195(配置)

步骤

1、使用项目管理员身份用户登录 CMP

2、进入【自服务中心→我的资源→基础资源→实例】,创建 2 台 Linux 实例(keepalived1 和 keepalived2),网络和子网需要选择具备外部通讯的网络,等待完成启动

3、进入【云服务→网络&安全→虚拟 IP】,点击【获取】,网络和子网【选择与刚才的 2 个实例相同的网络】,VIP 用途【KeepAlive】

4、申请完毕后,点击 VIP 地址进入详情,然后点击【关联实例 tab 页】,然后点击【添加】按钮,分别添加 keepalived1 和 keepalived2 两个实例

5、分别使用 root 通过 ssh 远程登陆两台实例,安装 Keepalive 软件

  1. #yum install openssl openssl-devel popt popt-devel
  2. # yum install gcc gcc-c++ libstdc++-devel
  3. # wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz
  4. # tar zxvf keepalived-1.2.15.tar.gz -C /usr/local/src
  5. # cd /usr/local/src/keepalived-1.2.15/
  6. # ./configure –prefix=/usr/local/keepalived –sbindir=/usr/local/keepalived/sbin
  7. # make
  8. # make install
  9. # cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
  10. # cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  11. # cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
  12. # chkconfig –add keepalived
  13. # chkconfig –level 2345 keepalived on
  14. # mkdir -p /etc/keepalived
  15. # cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived
  16. #vi /etc/keepalived/conf
  17. 在 keepalived1 的/etc/keepalived/conf 中填入 keepalived-server1-config.txt 的内容(同时修改里面的 virtual_ipaddress 为 VIP 的地址)
  18. 在 keepalived2 的/etc/keepalived/keepalived.conf 中填入 keepalived-server2-config.txt 的内容(同时修改里面的 virtual_ipaddress 为 VIP 的地址)

6、分别修改两台虚拟机的 Keepalive 配置文件/etc/keepalived/keepalived.conf,在 keepalived1 中将 virtual_ipaddress 修改为 VIP 的地址

7、在 keepalived2 中将 virtual_ipaddress 修改为 VIP 的地址,将 state MASTER 修改为 state BACKUP,将 priority 100 修改为 priority 10

8、远程登陆到 keepalived1 和 keepalived2,分别执行命令 # service keepalived start, 此时观察【关联实例】列表,keepalived1 变为了 active

9、远程登陆 keepalived1 虚拟机,执行 # ip addr show 的时候可以发现 VIP 地址已经绑定给虚拟机了

10、将 keepalived1 实例关机,再次查看【虚拟 IP 详情】,通过日志查看虚拟 IP 切换情况

更多 BingoCMP 使用技巧介绍,请移步CMP 使用技巧目录