openstack多region介绍与实践

版权声明:本文为原创文章,转载请注明出处。

概念介绍

所谓openstack多region,就是多套openstack共享一个keystone和horizon。每个区域一套openstack环境,可以分布在不同的地理位置,只要网络可达就行。个人认为目的就是为了提供环境隔离的功能,选择启虚拟机的时候可以根据自己所处的位置就近选择。

既然提到region了,那不如就此总结下openstack中其他的至上而下的不同的区域概念。

Region

每个region都有个完整的Openstack部署环境, 有自己的一套服务的endpoint(服务入口)。

不同的region共享一套keystone和horizon来提供访问控制与web操作,regions之间完全隔离,但是多个regions之间共享同一个keystone和dashboard。

Cells

cell英译细胞,主要解决openstack的扩展性和规模瓶颈(rabbitmq和database组件),通过每个cell引进自己独立的rabbitmq和db来解决。

cell被实现为树形的分级调度,在每个cell中引入cell的概念:

(1)Messages的路由,即父cell通过nova-cell将Messages路由到子cell的AMQP模块。

(2)分级调度功能,即调度某个instances的时候先要进行cell的选择,根据调度策略。
(3)资源统计,子cell定时的将自己的资源信息上报给父cell,用来给分级调度策略提供决策数据和基于cell的资源监控。
(4)cell之间的通信(通过rpc完成)
  最后,所有的子cell公用底层cell的nova-api,子cell包含除了nova-api之外的其他nova服务,当然所有的cell都共用keystone服务。
(注:nova-*是指除了nova-api之外的其他nova服务,子cell + 父cell才构成了完整的nova服务)

小结一下:我的理解就是在原来的nova-api访其他服务之前加了一层,先选择哪个子cell来提供计算服务。父cell才有nova api服务,子cell提供nova的其他服务,cell之间通过nova-cell把消息传递到子cell的rabbitmq(AMQP)。

AZ(Availability Zones)

region中的计算结点可以被逻辑上划分为不同的availability zones,具有独立的电力供应设备,如下图。用户可见,在启动虚拟机时,可以指定特定的AZ来启动该虚拟机实例,通常你看到的就是默认nova。

修改availability zone,直接修改 nova.conf中的 字段node_availability_zone即可。

机器之间是否有明确的物理隔离,或者是考虑冗余。 如果的确有,则可考虑AZ。

Host Aggregate

除了AZ,计算结点也可以被逻辑上划分为主机集合,具有相同特性的集群,比如使用一个带有SSD磁盘的主机集合,或一个装有万兆网卡的主机集合。Host Aggregates是用户不可见的概念。

小结一下:AZ用于让用户指定从哪个特定的服务器组合里发起虚拟机,主机集合主要用来为具有特定性能的主机分组以此让调度器根据某种特性在特定的集合中发起虚拟机。

是否有基于硬件能力的隔离, 如果有很可能要使用HA。

以上是一些openstack的区域分级的概念,当然keystone里面还有分domain,project,Telnet,user,role等的概念后面另外再介绍。

多region的实践

openstack多region,就是多套openstack共享一个keystone和horizon,那么很容易想到,在一套openstack的keystone的服务实例中创建另外一个区域的服务入口点,只不过认证的服务endpoint一样罢了,horizon自动识别region。

环境介绍

以我自己的例子,先搭建了两套openstack环境,因为是为了实践,所以我简单的搞了两套allinone的。

A主机是10.133.47.95 ,定义成我的region one;

B主机是10.133.47.20,定义成我的region two。

配置

1.在A主机上创建nova、glance、cinder服务入口endpoint,定义为region two。


 [[email protected] ~(keystone_admin)]# keystone endpoint-create --service-id $(keystone service-list | awk ‘/ compute / {print $2}‘) --publicurl http://10.133.47.95:5000/v2.0 --internalurl http://10.133.47.95:5000/v2.0 --adminurl http://10.133.47.95:35357/v2.0 --region RegionTwo

[[email protected] ~(keystone_admin)]# keystone endpoint-list|grep RegionTwo

注意:1.这里的endpoint地址都是主机B上的openstack环境中的服务endpoint。

2.glance,cinder以及其他服务,一样操作。

2.在主机B上对相应的服务配置修改

①编辑nova配置文件,在/etc/nova/nova.conf


auth_uri=http://10.133.47.95:5000/v2.0

identity_uri=http://10.133.47.95:35357

admin_token = 3a64046c0c9a4ef4af3d13819a451461

admin_user=nova

admin_password=cd2b0a687cd14376

admin_tenant_name=services

注:1.原来uri这里是47.20,因为我们要和regionone共享keystone,所以认证url改为主机A上的keystone。

2.admin_token需要增加,也是主机Akeystone配置文件中的,必须要加不然认证没法通过,user和password要和A的文件中的一致。

[neutron]


url=http://10.133.47.20:9696

admin_username=neutron

admin_password=072bdefd676644ca

admin_tenant_name=services

admin_auth_url=http://10.133.47.95:5000/v2.0

2.修改cinder.conf文件

[keystone_authtoken]


auth_uri = http://10.133.47.95:5000/v2.0

region_name = RegionTwo

identity_uri = http://10.133.47.95:35357

admin_user = cinder

admin_password = e3cdaaf26e774509

admin_token = 3a64046c0c9a4ef4af3d13819a451461

admin_tenant_name = services

3.glance配置修改和nova cinder类似,只不过要改api.conf和register.conf。


[keystone_authtoken]

auth_uri=http://10.133.47.95:5000/v2.0

identity_uri=http://10.133.47.95:35357

admin_user=glance

admin_password=bdda12a1e36e4d70

admin_tenant_name=services

admin_token = 3a64046c0c9a4ef4af3d13819a451461

[keystone_authtoken]

auth_uri=http://10.133.47.95:5000/v2.0

identity_uri=http://10.133.47.95:35357

admin_user=glance

admin_password=bdda12a1e36e4d70

admin_token = 3a64046c0c9a4ef4af3d13819a451461

admin_tenant_name=services

总结:要将B机器上所有的验证url都改成A的验证url,另外注意将B中各种配置文件中的token改成A中的admin_token。还有注意两台机器的时间一定要接近,不然还是会出现未授权的错误。

验证:

修改好之后就可以登录到horizon上去看了,horizon不需要修改,它可以自己识别多region。

Region one

Region two

至此,我们就可以通过一个horizon界面去操作不同环境的openstack去创建虚拟机,资源是完全隔离的,是不是很方便了。

以上,是我在完成后再写的步骤,细节的地方可能会有纰漏,但是思路基本就是这样。

另外,cell的实验会在后续介绍。

时间: 2024-11-05 15:26:58

openstack多region介绍与实践的相关文章

管理openstack多region介绍与实践

转:http://www.cnblogs.com/zhoumingang/p/5514853.html 概念介绍 所谓openstack多region,就是多套openstack共享一个keystone和horizon.每个区域一套openstack环境,可以分布在不同的地理位置,只要网络可达就行.个人认为目的就是为了提供环境隔离的功能,选择启虚拟机的时候可以根据自己所处的位置就近选择. 既然提到region了,那不如就此总结下openstack中其他的至上而下的不同的区域概念. Region

微软云计算介绍与实践(实践之十二)

今天主要实践使用远程 SMB 存储共享保存 VHD.由于周末要看球等原因,内容不多,有料就行.(^_^) 接前面,公司私有云管理员小张已经执行了迁移,他还需要在最近已部署的 Virtual Machine Manager 环境中检查虚拟机设置.所以下一步小张需要确认 Guest01 的存储已经位于 HyperV02 上的 SMB 3.0 共享中,并且虚拟机通过 EvalCluster 群集运行. 1.打开 Virtual Machine Management 控制台,输入用户名 CONTOSO\

微软云计算介绍与实践(实践之二十)

接上面章节,有同学说为什么要搞这么一些东西,刚好我给大家贴一张图,看一下微软私有云解决方案中这几大组件相互关系,看完后大家也就明白我今天为什么还在做各种环境搭建,配置准备工作了. 一.配置System Center 2012虚拟机管理器集成包 上一章节,小张同学可以使用已有的的集成包,但他需要配置一下它们,让其和服务器正确连接.在接下来的步骤中,小张同学是要配置的是他刚刚注册和部署的四个集成包.关于使用集成包的先决条件.可以参考如下TechNet网页:http://technet.microso

微软云计算介绍与实践(实践之十五)

-- 接上回,继续动态扩展负载的存储. 26.关闭向导前选中创建卷选项,然后点击关闭. 27.随后会打开新建卷向导,点击下一步. 28.查阅设置并点击下一步. 29.确认磁盘容量为 21.9GB 然后点击下一步. 30.选择驱动器盘符 E: 并点击下一步. 31.更改卷标为 Data 然后点击下一步. 32.点击创建. 33.随后将创建一个新卷.点击关闭. 34.在服务器管理器中点击文件与存储服务,然后点击卷.确认新卷已经显示在这里,并且可用空间符合实际情况.如果给新建的卷分配的盘符不是 E:,

微软云计算介绍与实践(实践之二十一)

接前面两篇,告诉大家一个坏消息和一个好消息:坏消息是本篇依旧环境搭建.配置准备工作,好消息是这是最后一篇. 一.数据仓库注册 小张下面注册数据仓库. 1.在System Center 2012 Service Manager控制台,转至管理 2.在管理概述页面,点击注册与服务管理数据仓库 3.在开始之前页面,选择下一步 4.在数据仓库页面,输入服务器名称ServiceMgrDW并选择Test Connection按钮 5.如果连接测试成功,请选择下一步 6.在认证页面,选择DW_ServiceM

微软云计算介绍与实践(实践之十九)

以下板块的实践着重于如何通过自动化来提升效率,通过自助服务和授权控制,并对基础设施提供统一的管理,这些实践中使用的重要组件为Service Manager.Orchestrator.App Controller 以及 Virtual Machine Manager. 一.微软私有云中的自动化自助服务 关于微软私有云中的自动化自助服务,相关背景知识和产品功能介绍,我就不多说了,贴上几张图,大家看了明白个大概就行. (IT需求和System Center功能) (租户和应用程序所有者的场景) 二.O

微软云计算介绍与实践(实践之二十七)

创建服务目录组 我们小张创建一个服务目录组,将用于基于角色的特定服务访问请求.比如小张希望人力资源组用户只显示基于AD的可用资源.特别说明:在服务管理器中的用户角色权限是累积的.下面是他的操作步骤: 1.从系统中心服务管理控制台,依次单击库 2.然后选择服务目录 3.在右侧栏中,单击创建目录组 4.从创建组向导点击下一步 5.接着我们小张创建一个目录组名为Contoso的服务目录组,并增加所有服务内容 6.从附加的成员界面点击添加 7.选择创建私有云和基础设施服务,然后单击确定 8.确认创建私有

微软云计算介绍与实践(实践之四十)

谢天谢地,微软私有云的介绍和实践,到今天这里就要终结了.现在回头总结一下实践方面所做的事情,主要围绕着五个板块(方面)展开,相关知识点简单整理如下: 实践板块一:管理私有云资源 这个实践主要是微软私有云可提供的部分功能.这些功能可用于创建强大,低成本,有适应性的基础架构,同时展现了私有云的一些特点: 可扩展和弹性 资源池和共享 可用性和持续在线 实践板块二:管理私有云容量 成功实施私有云之后,可以充分利用 Windows Server 2012 与 System Center 2012 SP1

微软云计算介绍与实践(实践之三十二)

好,今晚的工作很简单,就是创建.NET应用程序监视器.操作步骤如下: 1.单击监视,然后浏览到应用程序监控-.NET监视 2.点击IIS8.0的ASP.NET Web应用程序清单,等待销售(人员)的应用出现在此窗口中.这可能要15分钟左右才出现 3.当出现后,点击制作 4.右键单击管理包模板,然后选择添加监视向导 5.选择.NET应用程序性能监控,然后点击下一步 6.在名称字段中键入Sales应用程序监视器 7.单击新建按钮旁的目标管理包 8.在Name字段中输入Contoso管理,然后单击下一