Примеры практических решений с использованием интерфейса командной строки (CLI)¶
Изменение IP адреса, назначенного на порт инстанса¶
Примечание
Привязка IP адреса в Openstack осуществляется не к инстансу напрямую, а к порту который инстансу назначен. Поэтому, для изменения IP адреса по которому должен быть доступен инстанс, нужно произвести смену IP адреса для порта.
Используемые команды:
- Показать свойства проекта
openstack project show <ProjectName>
- где
<ProjectName> - имя облачного проекта
- Показать список портов для проекта
openstack port list --project <ProjectID>
- где
<ProjectID> - идентификатор облачного проекта
- Удалить текущий фиксированный IP адрес порта
openstack port set --no-fixed-ip <PortID>
- где
<PortID> - идентификатор порта для которого будет измененено значение IP адреса
- Назначить фиксированный IP адрес для порта
openstack port set --fixed-ip subnet=<SubnetID>,ip-address=<IPaddress> <PortID>
- где
<SubnetID> - идентификатор подсети из диапазона которой будет выделяться IP адрес<IPaddress> - IP адрес который будет назначен на порт<PortID> - идентификатор порта для которого будет назначен IP адресИсходные данные:
- «demo» - имя проекта
- 10.100.100.4 - текущий IP адрес
- 10.100.100.8 - новый IP адрес, на который мы хотим изменить текущий
Порядок действий:
1. Определить идентификатор проекта по имени проектаopenstack project show demo +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | | | domain_id | b90911e0cc464e4d83c04bed2febc37a | | enabled | True | | id | a84030ae422a4173b4d0e7495cda2581 | | is_domain | False | | name | demo | | parent_id | b90911e0cc464e4d83c04bed2febc37a | +-------------+----------------------------------+
- Значение в поле «id» (a84030ae422a4173b4d0e7495cda2581) - это наш идентификатор
2. Получить список портов для проекта и их параметры$ openstack port list --project a84030ae422a4173b4d0e7495cda2581 +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+ | ID | Name | MAC Address | Fixed IP Addresses | Status | +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+ ... | c9153547-e72a-4f20-8792-6f6574d5baff | | fa:16:3e:a6:d0:0d | ip_address='172.16.0.3', subnet_id='17f8d13a-31cd-494d-a161-95e360ad3cd8' | ACTIVE | | 27ad2d67-e35f-4b6f-877f-fdd36690d72f | | fa:16:3e:22:93:a6 | ip_address='10.100.100.4', subnet_id='8e82d9b3-0757-4ddc-9cf7-c82f1024d277' | ACTIVE | ... +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+
- Выбираем необходимые нам данные:
Значение «ID» (c95d4d1d-233b-4322-8b3a-d77df89b3bf1) — это наш <PortID> Значение «ip_address» (10.100.100.4) - это наш <IPaddress> Значение «subnet_id» (8e82d9b3-0757-4ddc-9cf7-c82f1024d277) - это наш <SubnetID>3. Теперь, зная все необходимые данные мы:
Удаляем старое значение IP адреса для нашего порта
openstack port set --no-fixed-ip 27ad2d67-e35f-4b6f-877f-fdd36690d72fНазначаем нужный нам IP на порт
openstack port set --fixed-ip subnet=8e82d9b3-0757-4ddc-9cf7-c82f1024d277,ip-address=10.100.100.8 27ad2d67-e35f-4b6f-877f-fdd36690d72f4. В свойствах порта или инстанса мы видим новый, назначенный нами IP адрес:$ openstack port list --project a84030ae422a4173b4d0e7495cda2581 +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+ | ID | Name | MAC Address | Fixed IP Addresses | Status | +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+ ... | c9153547-e72a-4f20-8792-6f6574d5baff | | fa:16:3e:a6:d0:0d | ip_address='172.16.0.3', subnet_id='17f8d13a-31cd-494d-a161-95e360ad3cd8' | ACTIVE | | 27ad2d67-e35f-4b6f-877f-fdd36690d72f | | fa:16:3e:22:93:a6 | ip_address='10.100.100.8', subnet_id='8e82d9b3-0757-4ddc-9cf7-c82f1024d277' | ACTIVE | ... +--------------------------------------+------+-------------------+-----------------------------------------------------------------------------+--------+
Удалится ли диск/диски при удалении инстанса?¶
Примечание
При создании инстанса есть возможность установить признак «Удалить диск при удалении инстанса» (по умолчанию - нет). Если признак установлен, то при удалении инстанса его диск/диски удалятся автоматически.
Для проверки используем команду «nova» из Openstack CLI:
- Синтаксис команды
nova show <INSTANCE-ID>
- где
<INSTANCE-ID> - цифро-буквенный код для инстансаПри этом будут показаны статусы delete_on_termination для каждого из дисков присоединённых к инстансу. Если статус «delete_on_termination - false» значит диск не удалится.
Пример выполнения команды и вывода для инстанса с тремя дисками:
nova show 6e191f55-d55d-4a9c-9c23-b3f54fa508a7 | grep os-extended-volumes | os-extended-volumes:volumes_attached | [{"id": "71bd8e60-fe96-4676-95af-1fd69ad0f731", "delete_on_termination": false}, {"id": "dec6e381-243d-4f19-9d7d-37bfc2772b68", "delete_on_termination": false}, {"id": "6e8f3773-f0bc-47c1-a6c4-c42fb33335e6", "delete_on_termination": false}] |
Загрузка инстанса с загрузочного тома который имеет UEFI загрузчик¶
Примечание
В SIM-Cloud есть возможность мигрировать свой загрузочный диск имеющий UEFI загрузчик.
Чтобы инстанс с такого диска загрузился успешно, с помощью Openstack CLI, укажем что нужно использовать UEFI.
- Синтаксис команды
openstack volume set --image-property hw_firmware_type=uefi <volume ID>
- где
<volume ID> - цифро-буквенный код для загрузочного дискового тома с UEFIПосле этого можно создавать и запускать инстанс с этого тома.
Обратная команда:
openstack volume unset --image-property hw_firmware_type <volume ID>
- где
<volume ID> - цифро-буквенный код для загрузочного дискового тома с UEFI