OpenStack多区域之Icehouse和Mitaka的联姻

    /    2017-07-13

  由于历史原因,我司存在两个独立的OpenStack集群,运行在CentOS-6.8上面的Icehouse集群和运行在CentOS-7.2上的Mitaka集群,每次管理都需要登录两个不同Dashboard。所以2017年前准备将集群进行整合,变更为OpenStack多区域的方式管理,进行统一验证和登录管理。

  OpenStack multi-region介绍

  所谓openstack多region,就是多套openstack共享一个keystone和horizon。一个region一般对应一个物理集群,多个region之间共享Dashboard Service和Identity Service,其他服务均是各个region独立的拥有。可以在Dashboard上进行Region的切换,如下图所示:

  操作简介

  本项目的实施计划是以Mitaka版本的Keystone和Horzion为主,不再使用Icehouse集群的Keystone和Horzion。在Mitaka版本新增一个区域RegionTow。

  主要有两个坑:

  · 两个不同发布版的Keystone版本问题,I版的Keystone是V2版本,M版的Keystone是V3版本,需要兼容。

  · 已有数据库更新,由于使用统一的KeyStone,对于Icehouse老集群来说,用户和项目的数据都发生了变更,必然存在相关数据库表的更新。

  操作步骤

  下面将当时操作的记录,经过简单的整理发布出来,希望可以帮助到有类似需求的朋友,避免踩坑。

  1. KeyStone数据库备份

  备份OpenStack Mitaka版本的Keystone,以备恢复使用。

  # mysqldump-u root -p keystone > keystone_20161230.sql

  2.创建RegionTwo

  在OpenStack Mitaka版本的Keystone上增加RegionTwo的service和endpoint。

  # sourceadmin-openrc

  Keystone:

  # openstack endpoint create --region RegionTwo identity public http://192.168.11.53:5000/v2.0

  # openstack endpoint create --region RegionTwo identity internal http://192.168.11.53:5000/v2.0

  # openstack endpoint create --region RegionTwo identity admin http://192.168.11.53:35357/v2.0

  Glance:

  # openstack endpoint create --region RegionTwo image public http://192.168.11.53:9292

  # openstack endpoint create --region RegionTwo image internal http://192.168.11.53:9292

  # openstack endpoint create --region RegionTwo image admin http://192.168.11.53:9292

  Nova:

  # openstack endpoint create --region RegionTwo compute public http://192.168.11.53:8774/v2/%\(tenant_id\)s

  # openstack endpoint create --region RegionTwo compute internal http://192.168.11.53:8774/v2/%\(tenant_id\)s

  # openstack endpoint create --region RegionTwo compute admin http://192.168.11.53:8774/v2/%\(tenant_id\)s

  Neutron:

  # openstack endpoint create --region RegionTwo network public http://192.168.11.53:9696

  # openstack endpoint create --region RegionTwo network internal http://192.168.11.53:9696

  # openstack endpoint create --region RegionTwo network admin http://192.168.11.53:9696

  3.Icehouse版本配置变更

  修改OpenStack Icehouse集群的所有服务(Glance、Nova、Neutron、Cinder等),其中Keystone配置为Mitaka版本的KeyStone,并重启。当然你需要选择一个夜深人静的时刻,至少不会有云主机管理的操作再进行。

  4.修改Mitaka Keystone支持V2.0版本

  OpenStack Mitaka的Keystone是可以支持V2.0版本的,需要做一些变更:

  1.获取默认的Default Domain的ID

  # openstackdomain list

  2. 修改Keystone配置

  # vim/etc/keystone/keystone.conf

  [identity]

  default_domain_id = d0e436a913f94ec28f3a1892e0a7a240

  3.再次同步数据库

  # su -s/bin/sh -c "keystone-manage db_sync" keystone

  4.为兼容KeyStone V2.0,需要生成PKI的相关证书

  # keystone-manage pki_setup --keystone-user root --keystone-group root

  # systemctl restart httpd

  5.更新IceHouse版本集群的数据库

  对于老版本的Icehouse集群来说,由于更换了新的Keystone。用户ID和项目ID均发生了变化,但是之前创建的镜像、云主机、网络等都有关系的用户和项目信息,需要全部更新。

  新的Mitaka集群Keystone:

  cloud:

  · user_id:d510530fad43489e87632e6ef70055b7

  · project_id:8934d133f7634f7593dfa1ed3df4a556

(8)

分享至