Cómo crear zonas de disponibilidad (AZ) en OpenStack desde la línea de comandos

En pila abierta terminología, Zonas de disponibilidad (AZ) se define como una partición lógica de cómputo (nova), almacenamiento de bloques (cinder) y servicio de red (neutron). Las zonas de disponibilidad son necesarias para segregar la carga de trabajo de entornos como producción y no producción, permítanme elaborar esta declaración.

Disponibilidad-Zonas-OpenStack-Command-Line

supongamos que tenemos un arrendatario en OpenStack que quiere implementar sus máquinas virtuales en producción y no producción, por lo que para crear este tipo de configuración en openstack, primero tenemos que identificar qué cómputos se considerarán como producción y no producción, luego tenemos para crear un grupo agregado de host donde agregaremos los cálculos al grupo agregado de host y luego asignaremos el grupo agregado de host a la zona de disponibilidad.

En este tutorial, demostraremos cómo crear y usar zonas de disponibilidad de cómputos en openstack a través de la línea de comandos.

Creación de zonas de disponibilidad informática

Cada vez que se implementa OpenStack, Nova es la zona de disponibilidad predeterminada (AZ) creada automáticamente y todos los nodos de cómputo pertenecen a Nova AZ. Ejecute el siguiente comando openstack desde el nodo del controlador para enumerar las zonas de disponibilidad,

~# source openrc
~# openstack availability zone list
+-----------+-------------+
| Zone Name | Zone Status |
+-----------+-------------+
| internal  | available   |
| nova      | available   |
| nova      | available   |
| nova      | available   |
+-----------+-------------+
~#

Para enumerar solo las zonas de disponibilidad de cómputo, ejecute el comando debajo de openstack,

~# openstack availability zone list --compute
+-----------+-------------+
| Zone Name | Zone Status |
+-----------+-------------+
| internal  | available   |
| nova      | available   |
+-----------+-------------+
~#

Para enumerar todos los hosts de cómputo que están asignados a la zona de disponibilidad de nova, ejecute el siguiente comando:

~# 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     |
~#

Vamos a crear un grupo agregado de dos hosts con nombre producción y no producción, agregue cómputo-4, 5 y 6 al grupo agregado de host de producción y cómputo 7, 8 y 9 al grupo agregado de host que no sea de producción.

Cree un agregado de host de producción y no producción utilizando los siguientes comandos de OpenStack,

~# 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                       |
+-------------------+----------------------------+
~#

Ahora cree las zonas de disponibilidad y asócielas a sus respectivos grupos agregados de host

Sintaxis:

# conjunto agregado openstack –zone

~# openstack aggregate set --zone production-az production
~# openstack aggregate set --zone non-production-az non-production

Finalmente, agregue el host de cómputo a su grupo agregado de host

Sintaxis:

# openstack agregado agregar 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

De manera similar, agregue el host de cómputo al grupo de agregación de host que no es de producción,

~# 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

Ejecute los siguientes comandos openstack para verificar el grupo agregado de Host y su zona de disponibilidad

~# openstack aggregate list
+----+----------------+-------------------+
| ID | Name           | Availability Zone |
+----+----------------+-------------------+
|  7 | production     | production-az     |
| 10 | non-production | non-production-az |
+----+----------------+-------------------+
~#

Ejecute los siguientes comandos para enumerar los cálculos asociados a AZ y al grupo agregado de host

~# 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                                        |
+-------------------+---------------------------------------------+
~#

El resultado del comando anterior confirma que hemos creado con éxito un grupo agregado de host y zonas de disponibilidad.

Lanzar máquinas virtuales en zonas de disponibilidad

Ahora vamos a crear un par de máquinas virtuales en estas dos zonas de disponibilidad, para crear una máquina virtual en una zona de disponibilidad particular, use el siguiente comando,

Sintaxis:

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

El ejemplo se muestra a continuación:

~# 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

Ejecute el siguiente comando para verificar los detalles de la máquina virtual:

~# openstack server show test-vm-prod-az

Openstack-Server-AZ-comando

Para crear una máquina virtual en un nodo de cómputo específico en la zona de disponibilidad, use el siguiente comando,

Sintaxis:

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

Supongamos que queremos hacer girar una máquina virtual en producción AZ en un cálculo específico (compute-0-6), así que para lograr esto, ejecute el siguiente comando,

~# 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

Ejecute el siguiente comando para verificar los detalles de la VM:

~# openstack server show test-vm-prod-az-host

La salida del comando anterior sería algo como lo siguiente:

Host específico de OpenStack-VM-AZ

De manera similar, podemos crear máquinas virtuales en AZ que no sean de producción, el ejemplo se muestra a continuación

~# 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

Use el siguiente comando para verificar los detalles de la VM,

~# openstack server show vm-nonprod-az

La salida del comando anterior sería algo como a continuación,

OpenStack-Non-Production-AZ-VM

Leer también : Cómo crear una política de afinidad y antiafinidad en OpenStack

Eliminación de grupos agregados de host y zonas de disponibilidad

Supongamos que queremos eliminar/eliminar el grupo agregado de host creado anteriormente y las zonas de disponibilidad, para eso primero debemos eliminar el host del grupo agregado de host, use el siguiente comando,

~# openstack aggregate show production

El comando anterior le dará la lista de hosts de cómputo que se agregan al grupo agregado de hosts de producción.

Use el siguiente comando para eliminar el host del grupo agregado de host

Sintaxis:

# openstack added remove host

~# openstack aggregate remove host production compute-0-4
~# openstack aggregate remove host production compute-0-5
~# openstack aggregate remove host production compute-0-6

Una vez que elimine todos los hosts del grupo, vuelva a ejecutar el siguiente comando,

~# 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                       |
+-------------------+----------------------------+
~#

Como podemos ver en la salida anterior, no hay un host de cómputo asociado al grupo agregado de host de producción, ahora podemos eliminar el grupo

Use el siguiente comando para eliminar el grupo agregado de host y su zona de disponibilidad asociada

~# openstack aggregate delete production

Ejecute el siguiente comando para verificar si la zona de disponibilidad se ha eliminado o no,

~# openstack availability zone list | grep -i production-az
~#

De manera similar, puede consultar los pasos anteriores para eliminar o eliminar el agregado de host que no es de producción y su zona de disponibilidad.

Eso es todo de este tutorial, en caso de que el contenido anterior lo ayude a comprender el agregado de host de OpenStack y las zonas de disponibilidad, comparta sus comentarios y opiniones.

Lea también: Las 30 principales preguntas y respuestas de entrevistas de OpenStack

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *