logo资料库

openstack 高可用部署方案.docx

第1页 / 共69页
第2页 / 共69页
第3页 / 共69页
第4页 / 共69页
第5页 / 共69页
第6页 / 共69页
第7页 / 共69页
第8页 / 共69页
资料共69页,剩余部分请下载后查看
1部署环境准备
1.1物理环境
1.1.1组件
1.1.2拓扑结构
1.1.3整体规划
1.2基础环境
1.2.1设置hosts
1.2.2设置NTP
1.2.3关闭防火墙和selinux
1.2.4配置yum源
2基础服务组件部署
2.1Mariadb集群安装
2.2RabbitMQ集群安装
2.3Memcached集群安装
3高可用组件部署
3.1Pacemaker安装
3.1.1安装pacemaker
3.1.2构建集群
3.1.3启动
3.1.4设置属性
3.1.5配置VIP资源
3.1.6High availability management
3.2Haproxy集群安装
3.2.1安装Haproxy
3.2.2配置haproxy.cfg
3.2.3配置内核参数
3.2.4启动
3.2.5设置PCS资源
4Openstack核心组件部署
4.1Controller节点
4.1.1Keystone集群部署
4.1.1.1安装openstack工具
4.1.1.2创建keystone数据库
4.1.1.3安装keystone
4.1.1.4配置keystone.conf
4.1.1.5同步keystone数据库
4.1.1.6初始化fernet秘钥
4.1.1.7配置httpd.conf
4.1.1.8配置wsgi-keystone.conf
4.1.1.9认证引导
4.1.1.10启动服务
4.1.1.11创建domain, projects, users, 与roles
4.1.1.12openstack client 环境变量脚本
4.1.1.13设置pcs资源
4.1.2Glance集群部署
4.1.2.1创建glance数据库
4.1.2.2创建glance-api
4.1.2.3安装glance
4.1.2.4配置glance-api.conf
4.1.2.5配置glance-registry.conf
4.1.2.6同步glance数据库
4.1.2.7启动服务
4.1.2.8验证
4.1.2.9设置pcs资源
4.1.3Nova集群部署
4.1.3.1创建nova相关数据库
4.1.3.2创建nova/placement-api
4.1.3.3安装nova
4.1.3.4配置nova.conf
4.1.3.5配置00-nova-placement-api.conf
4.1.3.6同步nova相关数据库
4.1.3.7启动服务
4.1.3.8验证
4.1.3.9设置PCS资源
4.1.4Neutron集群部署
4.1.4.1创建neutron数据库
4.1.4.2创建neutron-api
4.1.4.3安装neutron
4.1.4.4配置neutron.conf
4.1.4.5配置ml2_conf.ini
4.1.4.6配置linuxbridge_agent.ini
4.1.4.7配置l3_agent.ini(self-networking)
4.1.4.8配置dhcp_agent.ini
4.1.4.9配置metadata_agent.ini
4.1.4.10配置nova.conf
4.1.4.11同步neutron数据库
4.1.4.12启动服务
4.1.4.13验证
4.1.4.14设置PCS资源
4.1.5Horizon集群部署
4.1.5.1安装dashboard
4.1.5.2配置local_settings
4.1.5.3配置openstack-dashboard.conf
4.1.5.4启动服务
4.1.5.5验证
4.1.6Cinder集群部署
4.1.6.1创建cinder数据库
4.1.6.2创建cinder-api
4.1.6.3安装cinder
4.1.6.4配置cinder.conf
4.1.6.5配置nova.conf
4.1.6.6同步cinder数据库
4.1.6.7启动服务
4.1.6.8安装cinder-volume服务
4.1.6.9验证
4.1.6.10设置pcs资源
4.2Compute节点
4.2.1 Nova集群部署
4.2.1.1安装nova-compute
4.2.1.2配置nova.conf
4.2.1.3启动服务
4.2.1.4向cell数据库添加计算节点
4.2.1.5验证
4.2.2Neutron集群部署
4.2.2.1安装neutron-linuxbridge
4.2.2.2配置neutron.conf
4.2.2.3配置linuxbridge_agent.ini
4.2.2.4配置nova.conf
4.2.2.5 启动服务
4.2.2.6验证
5遇到的问题
5.1MariaDB数据库的连接数超上限
5.2Nova同步数据时报错
5.3执行openstack任何命令偶尔会报500错误
5.4Dashboard访问出错
5.5新建实例处于错误状态
5.6集群中所有的Mariadb挂掉,如何重启
2019.01 高可用部署方案 (Openstack) 解决方案加速器 1
目录 1 部署环境准备............................................................................................................................ 4 1.1 物理环境.............................................................................................................................4 1.1.1 组件............................................................................................................................. 4 1.1.2 拓扑结构.................................................................................................................... 4 1.1.3 整体规划.................................................................................................................... 5 1.2 基础环境.............................................................................................................................5 1.2.1 设置 hosts..................................................................................................................5 1.2.2 设置 NTP....................................................................................................................6 1.2.3 关闭防火墙和 selinux............................................................................................ 6 1.2.4 配置 yum 源..............................................................................................................7 2 基础服务组件部署................................................................................................................... 8 2.1 Mariadb 集群安装........................................................................................................... 8 2.2 RabbitMQ 集群安装..................................................................................................... 11 2.3 Memcached 集群安装................................................................................................. 12 3 高可用组件部署..................................................................................................................... 13 3.1 Pacemaker 安装.............................................................................................................13 3.1.1 安装 pacemaker.................................................................................................... 13 3.1.2 构建集群..................................................................................................................13 3.1.3 启动...........................................................................................................................14 3.1.4 设置属性..................................................................................................................16 3.1.5 配置 VIP 资源.........................................................................................................17 3.1.6 High availability management..........................................................................17 3.2 Haproxy 集群安装.........................................................................................................18 3.2.1 安装 Haproxy......................................................................................................... 18 3.2.2 配置 haproxy.cfg...................................................................................................18 3.2.3 配置内核参数.........................................................................................................22 3.2.4 启动...........................................................................................................................22 3.2.5 设置 PCS 资源........................................................................................................23 4 Openstack 核心组件部署....................................................................................................23 4.1 Controller 节点...............................................................................................................23 2
4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 Keystone 集群部署...............................................................................................24 Glance 集群部署................................................................................................... 30 Nova 集群部署...................................................................................................... 35 Neutron 集群部署................................................................................................ 42 Horizon 集群部署.................................................................................................51 Cinder 集群部署....................................................................................................53 4.2 Compute 节点................................................................................................................ 59 4.2.1 4.2.2 Nova 集群部署...................................................................................................... 59 Neutron 集群部署................................................................................................ 63 5 遇到的问题...............................................................................................................................66 5.1 MariaDB 数据库的连接数超上限.............................................................................66 5.2 Nova 同步数据时报错................................................................................................. 67 5.3 执行 openstack 任何命令偶尔会报 500 错误......................................................67 5.4 Dashboard 访问出错....................................................................................................68 5.5 新建实例处于错误状态...............................................................................................68 5.6 集群中所有的 Mariadb 挂掉,如何重启...............................................................69 3
1 部署环境准备 1.1 物理环境 物理环境主要包括部署的组件、设计的拓扑结构以及节点的整体规划。 1.1.1 组件 组件 Centos 7.4 openstack queen 1.1.2 拓扑结构 版本 说明 三 个 Controller 和 两 个 Compute 节点都使用同一 个版本的操作系统。 1. 说明: congtroller 节点运行 keystone、glance、horizon、nova、neutron、cinder 等管理相关 组件以及 openstack 相关的基础服务 compute 节点运行 nova-compute,neutron-linuxbridge-agent 等相关服务 2. 3. 控制节点网络: 4
管理网络:含 host os 管理,api 等网络,如果生产环境允许,建议各逻辑网络使用独 立的物理网络,api 区分 admin/internal/public 接口,对客户端只开放 public 接口 外部网络:主要针对 guest os 访问 internet 租户(虚机)vlan 网络:guest os 之间通讯的网络,采用 vlan 方式; 4. 计算节点网络: 管理网络:含 host os 管理,api,ceph-public 等网络; 租户(虚机)vlan 网络:guest os 之间通讯的网络,采用 vlan 方式; 5. 前端采用 haproxy 做高可用; 无 状 态 的 服 务 , 如 xxx-api , 采 取 active/active 的 模 式 运 行 ; 有 状 态 的 服 务 , 如 neturon-xxx-agent,cinder-volume 等,建议采取 active/passive 的模式运行;自身具有集 群机制的服务,如 rabbitmq,memcached 等采用本身的集群机制即可。 1.1.3 整体规划 服务器 Controller01 Controller02 Controller03 服务 1. keystone 2. glance-api , glance-registry 3.nova-api,nova-conductor,nova-consoleauth,nova-schedule r, nova-novncproxy 说明 1. 控 制 节 点: keystone, glance, horizon, nova 、 neutron 、 cinder 4.neutron-api,neutron-linuxbridge-agent,neutron-dhcp-agen 管理组件 t, neutron-metadata-agent, neutron-l3-agent 5. cinder-api, cinder-schedulera、cinder-volume 6. dashboard 7. mariadb, rabbitmq, memcached 等 1. nova-compute 2. neutron-linuxbridge-agent Compute01 Compute02 2. openstack 基础服务 1.计算节点: hypervisor(kvm); 2.网络节点: 虚机网络等; 1.2 基础环境 1.2.1 设置 hosts 所有节点保持一致的 hosts 即可,以 controller01 节点为例; [root@controller01 ~]# vi /etc/hosts 5
1.2.2 设置 NTP 所有节点保持时钟同步,以 controller01 节点为例 [root@controller01 ~]# yum install chrony -y 编辑/etc/chrony.conf 文件,设置”192.168.10.100”为时钟源,同时设置 3 个控制节点作 为”备用”时钟源; 允许”192.168.10.0/24”网段主机从本地同步时钟 [root@controller01 ~]# egrep -v "^$|^#" /etc/chrony.conf server 192.168.10.2 iburst server controller01 iburst server controller02 iburst server controller03 iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync allow 192.168.10.0/24 logdir /var/log/chrony 设置开机启动,并重启 [root@controller01 ~]# systemctl enable chronyd.service [root@controller01 ~]# systemctl restart chronyd.service 查看状态 [root@controller01 ~]# systemctl status chronyd.service [root@controller01 ~]# chronyc sources -v 1.2.3 关闭防火墙和 selinux 第一步设置 selinux 为 disabled 6
[root@controller ~]# vi /etc/selinux/config enforcing - SELinux security policy is enforced. permissive - SELinux prints warnings instead of enforcing. disabled - No SELinux policy is loaded. # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # # # SELINUX=disabled # SELINUXTYPE= can take one of three two values: # # # SELINUXTYPE=targeted targeted - Targeted processes are protected, minimum - Modification of targeted policy. Only selected processes are protected. mls - Multi Level Security protection. 第二步:[root@controller ~]# systemctl disable firewalld 1.2.4 配置 yum 源 在/etc/yum.repos.d/目录删除其它的 yum 源,配置自己的 Yum 源,命令如下: vi /etc/yum.repos.d/CentOS-Base.repo 配置内容如下: [base] name=CentOS-$releasever - Base baseurl=http://114.67.224.50/base/ gpgcheck=0 enabled=1 [updates] name=CentOS-$releasever - Updates baseurl=http://114.67.224.50/updates/ gpgcheck=0 enabled=1 [rdo-qemu-ev] name=RDO QEMU EV baseurl=http://114.67.224.50/rdo-qemu-ev/ gpgcheck=0 enabled=1 [openstack-queens] name=OpenStack Queens Repository 7
baseurl=http://114.67.224.50/openstack-queens/ enabled=1 gpgcheck=0 [epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://114.67.224.50/epel/ enabled=1 gpgcheck=0 2 基础服务组件部署 2.1 Mariadb 集群安装 1. 安装 mariadb # 在全部 controller 节点安装 mariadb,以 controller01 节点为例 [root@controller01 ~]# yum install mariadb mariadb-server python2-PyMySQL -y # 安装 galera 相关插件,利用 galera 搭建集群 [root@controller01 ~]# yum install mariadb-server-galera mariadb-galera-common galera xinetd rsync -y 2. 初始化 mariadb # 在全部控制节点初始化数据库密码,以 controller01 节点为例; # root 初始密码为空 [root@controller01 ~]# systemctl restart mariadb.service [root@controller01 ~]# mysql_secure_installation Enter current password for root (enter for none): Set root password? [Y/n] y New password: Re-enter new password: Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] n Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y 3. 修改 mariadb 配置文件 # 在全部控制节点/etc/my.cnf.d/目录下新增 openstack.cnf 配置文件,主要设置集群同 步相关参数,以 controller01 节点为例,个别涉及 ip 地址/host 名等参数根据实际情况修改 [root@controller01 my.cnf.d]# cat /etc/my.cnf.d/openstack.cnf [mysqld] binlog_format = ROW bind-address = 192.168.10.2 default-storage-engine = innodb 8
分享到:
收藏