openstack多region的实现

来源:互联网 发布:ap100编程教程 编辑:程序博客网 时间:2024/06/09 08:31

1、需求和原理说明

有两台openstack环境,都是regionOne ,现在的需求是 
将两个region整合在一个dashboard中,其中一个为regino1,一个为region2

这里写图片描述

这里写图片描述

2、环境总览

  • 主机详情
主机操作系统openstack版本原region名新regions名10.0.0.101CentOS Linux release 7.0.1406 (Core)kiloregionOneregionOne10.0.0.102CentOS Linux release 7.0.1406 (Core)kiloregionOneregiontwo
  • 说明

本篇中MySQL无密码

3、准备工作

1、 备份数据库

因为以后设计到数据库的更改,所以需要提前做好备份

region1mysqldump -uroot keystone > keystone_101bak.sqlregion2mysqldump -uroot keystone > keystone_102bak.sql
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2、操作前的测试

    1、两个region的服务是否正常      nova-manage service list      keystone endpoint-list    2、两个region的dashboad的各个选项或者按钮是否有错误(测试api的调用)    3、两个region使用普通用户是否能顺利创建出虚拟机

4、region重命名

regiontwo的设置

  • region表添加regiontwo条目, 并将所有endpoin设为regiontwo
mysql -uroot -e "insert into keystone.region(id,parent_region_id,extra,url) values ('regiontwo',NULL,'{}',NULL);" update endpoint set region_id='regiontwo';
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3
  • 验证是否生效
source keystonerc keystone endpoint-list
  • 1
  • 2
  • 1
  • 2

这里写图片描述

  • 重新验证regiontwo 
    创建个虚拟机,查看是否正常

  • 导出regiontwo的keystone的service和endpoint表

mysqldump -uroot keystone endpoint > endpoint_102.sqlmysqldump -uroot keystone service > service_102.sql    
  • 1
  • 2
  • 1
  • 2
  • 修改导出的两个表 
    删除导出数据表文件中的DROP 条目(因为后面会将regiontwo导出的表添加导入到regionOne中,所以不能覆盖) 
    这里写图片描述

regionOne的设置

  • keystone数据库的region添加regiontwo条目
mysql -uroot -e "insert into keystone.region(id,parent_region_id,extra,url) values ('regiontwo',NULL,'{}',NULL);" mysql -uroot -e "select * from keystone.region;"+-----------+-------------+------------------+-------+------+| id        | description | parent_region_id | extra | url  |+-----------+-------------+------------------+-------+------+| regionOne |             | NULL             | {}    | NULL || regiontwo |             | NULL             | {}    | NULL |+-----------+-------------+------------------+-------+------+
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 将regiontwo的endpoint和service表导入到regionOne中
mysql -uroot keystone < endpoint_102.sql mysql -uroot keystone < service_102.sql 
  • 1
  • 2
  • 1
  • 2
  • 修改数据库,将导入的regiontwo的keystone的endpoint url(35357和5000端口) 
    地址修改为regionone

这里写图片描述

  • 验证 
    查看endpoint 
    这里写图片描述

登录web界面查看是否有两个region 
这里写图片描述

5、修改regiontwo设置

修改regiontwo的openstack各个组件的keystone的endpoint

修改endpoint

sed -i 's/192.168.100.102:35357/192.168.100.101:35357/'  /etc/nova/nova.confsed -i 's/192.168.100.102:5000/192.168.100.101:5000/'    /etc/nova/nova.confsed -i 's/192.168.100.102:35357/192.168.100.101:35357/' /etc/glance/glance-api.confsed -i 's/192.168.100.102:5000/192.168.100.101:5000/'   /etc/glance/glance-api.confsed -i 's/192.168.100.102:35357/192.168.100.101:35357/' /etc/glance/glance-registry.confsed -i 's/192.168.100.102:5000/192.168.100.101:5000/'   /etc/glance/glance-registry.confsed -i 's/192.168.100.102:35357/192.168.100.101:35357/'  /etc/neutron/neutron.confsed -i 's/192.168.100.102:5000/192.168.100.101:5000/'    /etc/neutron/neutron.confsed -i 's/192.168.100.102:5000/192.168.100.101:5000/' /etc/neutron/metadata_agent.inised -i 's/192.168.100.102:35357/192.168.100.101:35357/' /etc/cinder/api-paste.inised -i 's/192.168.100.102:5000/192.168.100.101:5000/' /etc/cinder/api-paste.ini
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

修改keystone的admin_pass

配置(和regionone)相同

openstack-config --set  /etc/neutron/neutron.conf keystone_authtoken admin_password a654587d34c1433bopenstack-config --set  /etc/nova/nova.conf keystone_authtoken admin_password 6e9b8624dcc8460bopenstack-config --set /etc/cinder/api-paste.ini filter:authtoken admin_password fe71d1ce4ff44131openstack-config --set  /etc/neutron/metadata_agent.ini DEFAULT admin_password a654587d34c1433bopenstack-config --set  /etc/neutron/api-paste.ini filter:authtoken admin_password a654587d34c1433bopenstack-config --set /etc/glance/glance-registry.conf keystone_authtoken  admin_password cfbe16dd7a0e4094openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken admin_password cfbe16dd7a0e4094
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

修改完重启regiontwo的服务(最好重启下服务器)

openstack-service restart nova openstack-service restart neutron openstack-service restart glance openstack-service restart cinder
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

测试

登录regionone的dashboard,通过切换region,测试各个功能是否正常使用

原创粉丝点击