В терминологии OpenStack зоны доступности известны как логический раздел сетевой сервис (Neutron), блочное хранилище (Cinder) и compute (Nova). Основной задачей зон доступности является группировка рабочей нагрузки настроек. Эти параметры включают как непроизводственные, так и производственные.
В этой статье мы собираемся показать, как вы можете создавать и использовать зоны доступности в OpenStack через командная строка Linux.
Как создать зоны доступности в OpenStack из командной строки Linux?
В то время, когда вы будете развертывать OpenStack, затем compute (Nova) будут созданы автоматически. Это default Availability Zone. Nova AZ включает все вычислительные узлы.
- Если вы хотите проверить список зон доступности, вам нужно выполнить следующую командную строку OpenStack.
~# source openrc ~# openstack availability zone list
- В случае, если вы хотите запустить зоны доступности вычислений, вам необходимо выполнить следующую командную строку OpenStack. Проверьте это:
~# openstack availability zone list -compute
- Чтобы проверить вычислительные узлы, которые отображены на зоны доступности compute, необходимо выполнить следующую командную строку.
~# список хостов openstack | grep -E "Zone|nova"
- Теперь нам нужно создать две группы host-aggregate. Имя одного хост-агрегата будет non-production, а другой будет иметь имя production. Пришло время добавить compute- 7, 8 & 9 в непроизводственную группу и вычислительные узлы — 4, 5 & 6 для производственной группы. Вы должны использовать команды OpenStack, упомянутые ниже:
~# openstack aggregate create non-production ~# openstack aggregate create production
- На данный момент необходимо создать зоны доступности и связать их с определенными группами.
# openstack aggregate set -zone <az_name> <имя_агрегата_хоста>
- Наконец, вам нужно добавить вычислительный узел в его группу host-aggregate.
# openstack aggregate add host <имя_агрегата_хоста> <вычислительный_хост>
- Таким же образом нужно добавить вычислительный узел в непроизводственную группу host-aggregate.
~# 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
- В это время вам нужно выполнить следующую командную строку Linux для проверки зон доступности и агрегатных групп хостов.
~# список агрегаторов openstack
- Для проверки списка вычислений, связанных с зонами доступности и группами host-aggregate, необходимо выполнить следующие команды.
~# openstack aggregate show production ~# openstack aggregate show non-production
Приведенный выше вывод команды покажет вам, что вы успешно создали зоны доступности в OpenStack из командной строки Linux.
Создание виртуальных машин в зонах доступности
После создания зон доступности вы можете создавать различные виртуальные машины в двух зонах доступности.
- Чтобы создать виртуальную машину в одной конкретной AZ, необходимо использовать следующую команду:
~# openstack server create -flavor <flavor-name> -image <Image-Name-Or-Image-ID> -nic net-id=<Network-ID> -security-group <Security-Group-ID> -key-name <Keypair-Name> -availability-zone <AZ-Name> <VM-Name>
- Пример этой команды выглядит следующим образом:
~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6- S789b0Sbfb4c --security-group f8dda7?c3-f£7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone production-az test-vm-prod-az
- Чтобы получить подробную информацию о виртуальной машине, вам необходимо выполнить следующую командную строку Linux.
~# openstack server show test-vm-prod-az
- Если вы хотите создать виртуальную машину на определенном вычислительном узле, то это не проблема! Все, что вам нужно сделать, это использовать следующую командную строку Linux:
~# openstack server create -flavor <flavor-name> -image <Image-Name-Or-Image-ID> -nic net-id=<Идентификатор сети> -security-group <Security-Group-ID> -key-name {Keypair-Name} -availability-zone <AZ-Name>:<Compute-Host> <VM-Name>
- Например, нам нужно запустить виртуальную машину в производственной зоне доступности конкретного вычислителя 0-6. Чтобы все прошло успешно, нам нужно использовать следующую командную строку:
~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6-S789b0Sbfb4c --security-group f8dda7?c3-f£7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone production-az:compute-0-6 test-vm-prod-az-host
- Чтобы снова проверить детали виртуальной машины, необходимо выполнить командную строку Linux, указанную ниже:
~# openstack server show test-vm-prod-az-host
- Когда вы выполните приведенную выше командную строку, вы получите следующий результат:
- Аналогичным образом, мы можем создать виртуальные машины в непроизводственных зонах доступности. Взгляните на следующий пример:
~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6- S789b0Sbfb4c --security-group f8dda7?c3-f£7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone non-production-az vm-nonprod-az
- Проверьте детали виртуальной машины с помощью следующей команды.
~# openstack server show vm-nonprod-az
- После выполнения приведенной выше команды вы получите результат, подобный следующему.