您现在的位置是:亿华云 > 应用开发
如何在OpenStack中从命令行创建可用区?
亿华云2025-10-09 03:40:14【应用开发】2人已围观
简介【.com快译】在OpenStack术语中,可用区(AZ)的定义是计算(Nova)、块存储(cinder)和网络服务(neutron)的逻辑分区。需要可用区来隔离生产环境和非生产环境等环境的工作负载。
【.com快译】在OpenStack术语中,命令可用区(AZ)的行创定义是计算(Nova)、块存储(cinder)和网络服务(neutron)的用区逻辑分区。需要可用区来隔离生产环境和非生产环境等环境的命令工作负载。
假设OpenStack中一个租户想要在生产环境和非生产环境中部署虚拟机,行创于是用区想在Openstack中创建这种类型的架构,我们先要确定哪些计算将被视为生产环境和非生产环境,命令然后我们要创建主机聚合组(host-aggregate group),行创我们会将计算添加到主机聚合组,用区然后我们将该主机聚合组映射到可用区。命令
我们在本教程中将演示如何通过命令行在Openstack中创建和使用计算可用区。行创
创建计算可用区
无论何时部署OpenStack,用区Nova都是命令自动创建的默认可用区(AZ),所有计算节点都属于Nova AZ。行创从控制器节点运行以下Openstack命令,用区列出可用区:
~# source openrc ~# openstack availability zone list +-----------+-------------+ | Zone Name | Zone Status | +-----------+-------------+ | internal | available | | nova | available | | nova | available | | nova | available | +-----------+-------------+ ~#想列出计算的可用区,运行以下Openstack命令:
~# openstack availability zone list --compute +-----------+-------------+ | Zone Name | Zone Status | +-----------+-------------+ | internal | available | | nova | available | +-----------+-------------+ ~#想列出映射到Nova可用区的所有计算节点,执行以下命令:
~# openstack host list | grep -E "Zone|nova" | Host Name | Service | Zone | | compute-0-1 | compute | nova | | compute-0-2 | compute | nova | | compute-0-4 | compute | nova | | compute-0-3 | compute | nova | | compute-0-8 | compute | nova | | compute-0-6 | compute | nova | | compute-0-9 | compute | nova | | compute-0-5 | compute | nova | | compute-0-7 | compute | nova | ~#不妨创建两个主机聚合组,网站模板名为production和non-production,将计算4、5和6添加到production主机聚合组,将计算7、8和9添加到non-production主机聚合组。
使用以下OpenStack命令,创建Production和Non-Production主机聚合:
~# openstack aggregate create production +-------------------+----------------------------+ | Field | Value | +-------------------+----------------------------+ | availability_zone | None | | created_at | 2019-08-17T03:02:41.561259 | | deleted | False | | deleted_at | None | | id | 7 | | name | production | | updated_at | None | +-------------------+----------------------------+ ~# openstack aggregate create non-production +-------------------+----------------------------+ | Field | Value | +-------------------+----------------------------+ | availability_zone | None | | created_at | 2019-08-17T03:02:53.806713 | | deleted | False | | deleted_at | None | | id | 10 | | name | non-production | | updated_at | None | +-------------------+----------------------------+ ~#现在创建可用区,并将它与各自的主机聚合组关联起来。
语法:
# openstack aggregate set –zone <az_name> <host_aggregate_name> ~# openstack aggregate set --zone production-az production ~# openstack aggregate set --zone non-production-az non-production最后,将计算主机添加到主机聚合群。
语法:
# openstack aggregate add host ~# openstack aggregate add host production compute-0-4 ~# openstack aggregate add host production compute-0-5 ~# openstack aggregate add host production compute-0-6同样,将计算主机添加到non-production主机聚合组:
~# openstack aggregate add host non-production compute-0-7 ~# openstack aggregate add host non-production compute-0-8 ~# openstack aggregate add host non-production compute-0-9执行以下Openstack命令,验证主机聚合组及其可用区:
~# openstack aggregate list +----+----------------+-------------------+ | ID | Name | Availability Zone | +----+----------------+-------------------+ | 7 | production | production-az | | 10 | non-production | non-production-az | +----+----------------+-------------------+ ~#运行以下命令,列出与AZ和主机聚合组有关的计算:
~# openstack aggregate show production +-------------------+--------------------------------------------+ | Field | Value | +-------------------+--------------------------------------------+ | availability_zone | production-az | | created_at | 2019-08-17T03:02:42.000000 | | deleted | False | | deleted_at | None | | hosts | [ucompute-0-4, ucompute-0-5, ucompute-0-6] | | id | 7 | | name | production | | properties | | | updated_at | None | +-------------------+--------------------------------------------+ ~# openstack aggregate show non-production +-------------------+---------------------------------------------+ | Field | Value | +-------------------+---------------------------------------------+ | availability_zone | non-production-az | | created_at | 2019-08-17T03:02:54.000000 | | deleted | False | | deleted_at | None | | hosts | [ucompute-0-7, ucompute-0-8, ucompute-0-9] | | id | 10 | | name | non-production | | properties | | | updated_at | None | +-------------------+---------------------------------------------+ ~#上述命令的输出证实:我们已成功地创建了主机聚合组和可用区。
在可用区内启动虚拟机
现在不妨在这两个可用区内创建两个虚拟机;想在某个特定的可用区内创建虚拟机,运行以下命令:
语法:
# openstack server create –flavor –image –nic net-id= –security-group –key-name –availability-zone例子如下所示:
~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --security-group f8dda7c3-f7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone production-az test-vm-prod-az运行以下命令以验证虚拟机的细节:
~# openstack server show test-vm-prod-az想在可用区下某个特定的计算节点内创建虚拟机,运行以下命令:
语法:
# openstack server create –flavor –image –nic net-id= –security-group –key-name { Keypair-Name} –availability-zone :假设我们想在特定计算(compute-0-6)上的生产可用区下启用虚拟机,为了执行这项操作,运行以下命令:
~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --security-group f8dda7c3-f7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone production-az:compute-0-6 test-vm-prod-az-host执行以下命令以验证虚拟机的细节:
~# openstack server show test-vm-prod-az-host上述命令的云服务器提供商输出会类似如下:
同样,我们可以在非生产可用区内创建虚拟机,例子如下所示:
~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --security-group f8dda7c3-f7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone non-production-az vm-nonprod-az使用以下命令以验证虚拟机的细节:
~# openstack server show vm-nonprod-az上述命令的输出会类似如下:
删除主机聚合组和可用区
假设我们想删除上述创建的主机聚合组和可用区;为此,我们先得从主机聚合组删除主机,使用以下命令:
~# openstack aggregate show production上述命令将为我们列出已添加到生产主机聚合组的计算主机。
使用以下命令从主机聚合机删除主机:
语法:
# openstack aggregate remove host <host-aggregate-name> <compute-name> ~# openstack aggregate remove host production compute-0-4 ~# openstack aggregate remove host production compute-0-5 ~# openstack aggregate remove host production compute-0-6 一旦你从该组删除所有主机,随后重新运行以下命令: ~# openstack aggregate show production +-------------------+----------------------------+ | Field | Value | +-------------------+----------------------------+ | availability_zone | production-az | | created_at | 2019-08-17T03:02:42.000000 | | deleted | False | | deleted_at | None | | hosts | [] | | id | 7 | | name | production | | properties | | | updated_at | None | +-------------------+----------------------------+我们可以从上述输出看出,没有与生产主机聚合组关联的计算主机,现在我们可以删除组了。
使用以下命令来删除主机聚合组及关联的可用区:
~# openstack aggregate delete production运行以下命令,以核实可用区有没有删除:
~# openstack availability zone list | grep -i production-az ~#同样,你可以参照上述步骤来删除非生产主机聚合组及其可用区。
以上就是本教程的全部内容,但愿上述内容可帮助你深入了解OpenStack主机聚合和可用区,欢迎留言交流。
原文标题:How to Create Availability Zones in OpenStack from Command Line,作者:Pradeep Kumar
【译稿,合作站点转载请注明原文译者和出处为.com】
很赞哦!(28974)
相关文章
- 用户邮箱的静态密码可能已被钓鱼和同一密码泄露。在没有收到安全警报的情况下,用户在适当的时间内不能更改密码。在此期间,攻击者可以随意输入帐户。启用辅助身份验证后,如果攻击者无法获取移动电话动态密码,他将无法进行身份验证。这样,除非用户的电子邮件密码和手机同时被盗,否则攻击者很难破解用户的邮箱。
- 框架篇:分布式一致性解决方案
- 华为多款机型开启鸿蒙尝鲜:微博已适配HarmonyOS小尾巴
- Typescript 类型检查原理之Override 是如何实现的
- ④注册门槛低
- 解Bug之路-记一次线上请求偶尔变慢的排查
- 如何快速实现一个连接池?
- Spring Native与WebFlux一样注定昙花一现?
- 公司名字不但要与其经营理念、活动识别相统一,还要能反映公司理念,服务宗旨、商品形象,从而才能使人看到或听到公司的名称就能产生愉快的联想,对商店产生好感。这样有助于公司树立良好的形象。
- 给Dubbo贡献源码,做梦都在修bug