这里只用到keepalived 或者pacemaker两种方法,可二选一来配置,官方提供的是pacemaker,但我们实际测试环境和生产环境上使的是keepalive
 
 
首先在4台controller上安装包(kxcontroller1 \ kxcontroller2 \ controller1 \ controller2 )
yum -y install gcc openssl-devel popt-devel keepalived pcre-devel
 
配置 keepalived(防止局域网内不与keepalived组冲突的,可更改默认router_id LVS_DEVEL与 virtual_router_id 51  的值)
 
 
我以办公网测试环境的2台controller的配置为例,科兴网的配置类同,只是IP不一样而已
 
 /etc/keepalived/keepalived.conf-- 配置说明

 
内容:
! Configuration file for keepalived
global_defs {
   notification_email {
#用来接收的邮件
               noc-xxx@qq.com
        }
#用来发送提醒的邮件
   notification_email_from noc-xxx@qq.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVE
}
 
vrrp_instance VI_1 {
#均采用BACKUP 防止相互抢占
    state BACKUP
#监听的网卡名
    interface eth0或bond0
    virtual_router_id 52
#本机IP
    mcast_src_ip 10.40.42.1
#权重  -- 主的权重要大于备的
    priority 49
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass chtopnet
    }
    virtual_ipaddress {
#分配VIP
        10.40.42.10
    }
}
 
配置样例
[root@controller1 ~]# vi  /etc/keepalived/keepalived.conf
! Configuration file for keepalived
global_defs {
   notification_email {
               noc-xxx@qq.com
        }
   notification_email_from noc-xxx@qq.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEi
}
 
vrrp_instance VI_1 {
    state BACKUP
    interface eno1
    virtual_router_id 52
    mcast_src_ip 10.40.42.1
    priority 40
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass chtopnet
    }
#分配VIP
    virtual_ipaddress {
        10.40.42.10
    }
}
 
 
[root@controller2 ~]# cat  /etc/keepalived/keepalived.conf
! Configuration file for keepalived
global_defs {
   notification_email {
               noc-xxx@qq.com
        }
   notification_email_from noc-xxx@qq.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEi
}
 
vrrp_instance VI_1 {
    state BACKUP
    interface eno1
    virtual_router_id 52
    mcast_src_ip 10.40.42.2
    priority 50
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass chtopnet
    }
    virtual_ipaddress {
        10.40.42.10
    }
}
 
 
启动keepalived服务
service keepalived start
chkconfig keepalived on
 
如果配置,由于controller2的权重比controller1大,同时开启服务器,controller2会获取VIP,但因为我配置禁止抢占VIP的配置,所以你的服务是先后启动的话,VIP会先分到第1台启动的controller上,只有主动切换后VIP才会重新选举
 
切换测试VIP,
使用ip addr 命令查看当前的VIP使用在哪一台机器,一边长PING这个VIP,一边关闭交换机的端口,再实时使用ip addr 这条linux命令查看是否切换
PS:如果发现你的VIP在2台controller上都同时看到的话,应该及时查看/var/log/message日志,一般是由于没有关闭防火墙或者selinux而导致的。

openstack私有云布署实践【3 keepalive配置(VRRP虚IP)】的更多相关文章

  1. openstack私有云布署实践【0 前言】

    管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符 ...

  2. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  3. openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  4. openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】

    采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那 ...

  5. openstack私有云布署实践【2 安装前的服务器基本环境准备】

    服务器物理机都安装centos7.2 1511版本 , 此次采用的分区方式全是自动XFS格式LVM,在装系统时就将所有本地raid5硬盘都加入LVM全用了.默认/home目录有着最大的硬盘空间 并且我 ...

  6. openstack私有云布署实践【15 创建租户网络+实例】

    这里以办公网测试环境为例,   (一)创建租户demo的网络   使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040 ...

  7. openstack私有云布署实践【16.3 Windows Server2008 R2 只有C盘分区镜像制作】

    之所以要只有C盘分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   参考http://www.iyunv.com/thread-45149-1-1.html的灵感   ...

  8. openstack私有云布署实践【11.3 计算nova - compute节点-nova用户免密登录(用于云主机冷迁移+扩展云主机大小)】

    云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 k ...

  9. openstack私有云布署实践【16.2 Ubuntu1404 只有根分区镜像制作】

    之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: ...

随机推荐

  1. HTTP协议系列(2)--顺带离职的一些想法

    一.聊聊离职感悟      来杭州也是将近3个月了,也迎来我的第一次辞职,有可能你会说我傻怎么不拿年终奖,也有可能你会不理解为什么3个月就要辞职:我只能说我是怀揣的梦想来的,我想着进一步的提升,想着成 ...

  2. Excel单元格所在的行和列变色

    网友问到如何通过移动光标选择单元格,所在的行和列变色.如每次输入价格的时候,想想在横竖方向上有颜色标识,这样方便对照输入价格 . 这里可以使用窗体的Worksheet_SelectionChange ...

  3. Linux实战教学笔记10:正则表达式

    第十节 正则表达式 标签(空格分隔):Linux实战教学笔记 ---更多资料点我查看 第1章 什么是正则表达式 正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法 通过定义的这些特殊符号的 ...

  4. Node.js调用百度地图Web服务API的Geocoding接口进行点位反地理信息编码

    (从我的新浪博客上搬来的,做了一些修改.) 最近迷上了node.js以及JavaScript.现在接到一个活,要解析一个出租车点位数据的地理信息.于是就想到使用Node.js调用百度地图API进行解析 ...

  5. python爬虫框架scrapy初试(二点一)

    功能:爬取某网站部分新闻列表和对应的详细内容. 列表页面http://www.zaobao.com/special/report/politic/fincrisis 实现代码: import scra ...

  6. js便利json 数组的方法

    这篇文章主要介绍了JQuery遍历json数组的3种方法,本文分别给出了使用each.for遍历json的方法,其中for又分成两种形式,需要的朋友可以参考下 $(function () { var ...

  7. [6278009]使用Visual Stuido Code 编写Markdown

    使用Visual Stuido Code 编写Markdown void main() { printf("Hello world!"); } void main() { Cons ...

  8. python 之 批量替换文件中文本后缀

    代码示例如下: #!/usr/local/bin python import os def swapextensions(dir, before, after): if before[:1] != ' ...

  9. CentOS6.5 安装mysql5.6.30

    1.下载解压由于系统会自带mysql5.1版本的数据库,需要卸载.[root@localhost src]# yum remove -y mysql-libs[root@localhost src]# ...

  10. ngrok内网穿透神器

    ngrok类似国内的花生壳,可以将本地的内网映射到公网上,这样就可以做web开发,微信开发了.下面就介绍下ngrok是怎么配置的吧. 方式一: 一.打开ngrok的官网https://ngrok.co ...