• openstack controller ha测试环境搭建记录(一)——操作系统准备


    为了初步了解openstack controller ha的工作原理,搭建测试环境进行学习。




    在学习该方面知识时,当前采用的操作系统版本是centos 7.1 x64。
    首先在ESXi中建立2台用于测试的虚机,最小化安装完成centos,配置IP分别为10.0.0.12、10.0.0.13,主机名分别为controller2、controller3。


    关闭防火墙:
    # systemctl stop firewalld
    # systemctl disable firewalld

    修改主机名:
    # hostnamectl set-hostname controller2

    升级系统至最新版本(升级至centos 7.1)并重启:
    # yum update -y

    下载pacemaker组件的repo文件:
    # cd /etc/yum.repos.d
    # wget http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-7/network:ha-clustering:Stable.repo

    安装相关软件:
    # yum install -y wget
    # yum install -y yum-plugin-priorities
    # yum install -y openstack-selinux
    # yum install -y ntp
    # yum install -y pacemaker corosync resource-agents
    # yum install -y crmsh cluster-glue
    # yum install -y haproxy

    配置/etc/hosts:
    10.0.0.11 controller
    10.0.0.12 controller2
    10.0.0.13 controller3

    配置NTP时间同步:
    # vi /etc/ntp.conf

    找到ntp.conf中指定server的部分,注释原文,增加测试环境中的NTP服务器(10.0.0.11):
         21 #server 0.centos.pool.ntp.org iburst
         22 #server 1.centos.pool.ntp.org iburst
         23 #server 2.centos.pool.ntp.org iburst
         24 #server 3.centos.pool.ntp.org iburst
         25 server controller iburst

    启动ntp服务:
    # systemctl enable ntpd.service
    # systemctl start ntpd.service

    验证ntp工作正常:
    # ntpq -c peers
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
    *controller      LOCAL(0)         6 u   65  128  377    0.213   -0.620   0.040
    # ntpq -c assoc

    ind assid status  conf reach auth condition  last_event cnt
    ===========================================================
      1  9233  965a   yes   yes  none  sys.peer    sys_peer  5


    相关资料地址:

    高可用实现官网描述地址:
    http://docs.openstack.org/ha-guide/controller-ha.html

    写得很好的openstack高可用博文:
    http://www.cnblogs.com/sammyliu/p/4741967.html

    CRM中的几个基本概念:
    http://www.toxingwang.com/linux-unix/haorlb/1660.html

    HAProxy 1.5官方文档:
    http://cbonte.github.io/haproxy-dconv/configuration-1.5.html

    HAProxy + Pacemaker实现MySQL的高可用负载均衡:
    http://www.zrwm.com/?cat=166

    官网centos7安装openstack文档(非高可用):
    http://docs.openstack.org/juno/install-guide/install/yum/content/neutron-controller-node.html

    为便于快速部署,本文直接粘贴已测试验证过的配置,有些参数甚至其它扩展的内容都直接略去了。
    这便是一种遗憾。故建议上述链接的资料还是蛮看看,尤其是官方资料。
    我在学习官网资料过程中,保留了一部分翻译,粘贴在每篇博文的尾处,不做排版和整理。


    --------------------------------------------------------------------------------------------------------
    OpenStack无状态的服务包括nova-api、nova-conductor、glance-api、keystone-api、neutron-api、nova-scheduler。
    OpenStack有状态的服务包括OpenStack数据库和消息队列。有状态服务高可用性取决于你可以选择主动/被动(Active/Passive)或主动/主动(Active/Active)配置。
    无状态服务的高可用性,需要提供冗余实例和负载平衡。

    1、主动/被动(Active/Passive)配置
    主备概念,主节点出问题时,备节点顶上。一般用VIP实现,使用Pacemaker和Corosync。

    2、主动/主动(Active/Active)配置
    无状态使用VIP进行负载平衡,可以使用HAProxy软件。

    OpenStack组件分成3类:
    1、使用Python语言写的API无状态服务
    2、状态类型服务,如SQL数据库
    3、AMQP,提供openstack内部的有状态服务

    MySQL/Galera集群在HAproxy之后运行,HAproxy对进来请求进行负载均衡,对外只暴露一个IP地址。

    MySQL使用主动/被动模式,以避免死锁的发生。
    多个RabbitMQ节点使用oslo.messaging文件进行配置。当一个AMQP节点失效,应用程序自动重连下一个AMQP节点。
    Memcached是分布式缓存,用于存放时效性很短的数据,如token。

  • 相关阅读:
    一步一步学习开发BPM工作流系统(三)开发WinForm的应用平台1
    支持多数据库本地和远程调用的数据访问层架构
    HF Web表单开发技术文档
    CDZSC_2015寒假新人(2) 数学 C
    CDZSC_2015寒假新人(2)——数学 A
    ZSC 1306: 沼跃鱼早已看穿了一切 题解
    解决”java.lang.UnsatisfiedLinkError: Native Library .dll already loaded in another classloader”的问题
    有目标就要坚持
    (转)新兴XML处理方法VTDXML介绍
    (转)Java远程通讯可选技术及原理
  • 原文地址:https://www.cnblogs.com/gzxbkk/p/6856353.html
Copyright © 2020-2023  润新知