如何在OpenStack中从命令行创建可用区?

译文
开发 前端 OpenStack
在OpenStack术语中,可用区(AZ)的定义是计算(Nova)、块存储(cinder)和网络服务(neutron)的逻辑分区。需要可用区来隔离生产环境和非生产环境等环境的工作负载。

【51CTO.com快译】在OpenStack术语中,可用区(AZ)的定义是计算(Nova)、块存储(cinder)和网络服务(neutron)的逻辑分区。需要可用区来隔离生产环境和非生产环境等环境的工作负载。

如何在OpenStack中从命令行创建可用区?

假设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   | 
+-----------+-------------+ 
~# 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

想列出计算的可用区,运行以下Openstack命令: 

~# openstack availability zone list --compute 
+-----------+-------------+ 
| Zone Name | Zone Status | 
+-----------+-------------+ 
| internal  | available   | 
| nova      | available   | 
+-----------+-------------+ 
~# 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

想列出映射到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     | 
~# 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

不妨创建两个主机聚合组,名为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                       | 
+-------------------+----------------------------+ 
~# 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

现在创建可用区,并将它与各自的主机聚合组关联起来。

语法: 

# 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 
  • 1.
  • 2.
  • 3.

最后,将计算主机添加到主机聚合群。

语法: 

# 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 
  • 1.
  • 2.
  • 3.
  • 4.

同样,将计算主机添加到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 
  • 1.
  • 2.
  • 3.

执行以下Openstack命令,验证主机聚合组及其可用区: 

~# openstack aggregate list 
+----+----------------+-------------------+ 
| ID | Name           | Availability Zone | 
+----+----------------+-------------------+ 
|  7 | production     | production-az     | 
| 10 | non-production | non-production-az | 
+----+----------------+-------------------+ 
~# 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

运行以下命令,列出与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             | [u'compute-0-4', u'compute-0-5', u'compute-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             | [u'compute-0-7', u'compute-0-8', u'compute-0-9'] | 
| id                | 10                                          | 
name              | non-production                              | 
| properties        |                                             | 
| updated_at        | None                                        | 
+-------------------+---------------------------------------------+ 
~# 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.

上述命令的输出证实:我们已成功地创建了主机聚合组和可用区。

在可用区内启动虚拟机

现在不妨在这两个可用区内创建两个虚拟机;想在某个特定的可用区内创建虚拟机,运行以下命令:

语法:

# openstack server create –flavor –image –nic net-id= –security-group –key-name –availability-zone  
  • 1.

例子如下所示:

~# 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 
  • 1.

运行以下命令以验证虚拟机的细节:

~# openstack server show test-vm-prod-az 
  • 1.

想在可用区下某个特定的计算节点内创建虚拟机,运行以下命令:

语法:

# openstack server create –flavor –image –nic net-id= –security-group –key-name {Keypair-Name} –availability-zone : 
  • 1.

假设我们想在特定计算(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 
  • 1.

执行以下命令以验证虚拟机的细节:

~# openstack server show test-vm-prod-az-host 
  • 1.

上述命令的输出会类似如下:

同样,我们可以在非生产可用区内创建虚拟机,例子如下所示:

~# 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 
  • 1.

使用以下命令以验证虚拟机的细节:

~# openstack server show vm-nonprod-az 
  • 1.

上述命令的输出会类似如下:

删除主机聚合组和可用区

假设我们想删除上述创建的主机聚合组和可用区;为此,我们先得从主机聚合组删除主机,使用以下命令:

~# openstack aggregate show production 
  • 1.

上述命令将为我们列出已添加到生产主机聚合组的计算主机。

使用以下命令从主机聚合机删除主机:

语法: 

# 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                       | 
+-------------------+----------------------------+ 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

我们可以从上述输出看出,没有与生产主机聚合组关联的计算主机,现在我们可以删除组了。

使用以下命令来删除主机聚合组及关联的可用区:

~# openstack aggregate delete production 
  • 1.

运行以下命令,以核实可用区有没有删除: 

~# openstack availability zone list | grep -i production-az  
~# 
  • 1.
  • 2.

同样,你可以参照上述步骤来删除非生产主机聚合组及其可用区。

以上就是本教程的全部内容,但愿上述内容可帮助你深入了解OpenStack主机聚合和可用区,欢迎留言交流。

原文标题:How to Create Availability Zones in OpenStack from Command Line,作者:Pradeep Kumar

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:未丽燕 来源: 51CTO.com
相关推荐

2016-12-15 08:30:02

Linux命令

2014-10-22 12:03:14

Linux嗅探HTTP

2012-02-08 16:37:36

ibmdw

2020-12-06 08:00:46

scanimage命令行Linux

2022-06-30 12:19:22

Linux

2019-07-15 05:50:19

Linux命令行VirtualBox版

2014-04-10 10:10:16

KVMDebianUbuntu

2015-02-10 10:05:11

LinuxLinux命令

2023-02-07 09:49:26

Linux命令行合并文件

2022-10-20 16:51:44

Linux命令行IP 地址

2022-10-14 19:30:29

Linux

2014-06-06 10:00:56

命令行监控Nginx Web服务

2019-01-22 13:46:01

LinuxUnix系统命令行

2019-08-15 15:00:31

Linux命令行PDF

2018-06-19 16:05:27

LinuxStratis存储

2023-08-01 13:31:18

模型Alpacaicuna

2020-10-31 08:20:39

curl命令命令行互联网

2021-09-18 09:19:21

Linux

2021-08-30 07:50:42

脚本语言命令行

2019-04-12 15:25:15

Fedora 30内核命令行
点赞
收藏

51CTO技术栈公众号