Openstack Compute не может запускать экземпляры в зависимости от разновидности и количества экземпляров.

Я пытаюсь создать различные экземпляры, и Compute не может создать некоторые из них.

Мой экземпляр имеет следующие характеристики:

Имя: ThirdInstance Создано из образа: CentOS-7-x86_64 Вариант: m1.medium (2 VCPU, 4 ГБ RAM, 40 ГБ на диске)

У меня есть два других экземпляра. Мне не удалось создать эти экземпляры, если я не использовал вариант m1.small (1VCPU, 2 ГБ ОЗУ, 20 ГБ на диске). Любое отклонение от этого варианта и создание экземпляра не удавалось.

К сожалению, мой ThirdInstance не появляется независимо от используемого варианта. Я пытался создать его с помощью m1.small, и он постоянно терпит неудачу.

Я просмотрел журналы Nova и заметил, что когда я пытаюсь создать этот экземпляр, я постоянно получаю следующее сообщение в файле nova-conductor.log:

2020-08-29 13:21:09.637 98391 ERROR nova.conductor.manager
2020-08-29 13:21:09.637 98391 ERROR nova.conductor.manager
2020-08-29 13:21:09.890 98391 WARNING nova.scheduler.utils [req-30539015-22f1-4d46-b8b7-63f9c679eed1 4c4c7de6dd134250972958ce260530f2 166dc91ccec24f21963c71a437380ee9 - default default] Failed to compute_task_build_instances: No valid host was found.
Traceback (most recent call last):

  File "/usr/lib/python3.6/site-packages/oslo_messaging/rpc/server.py", line 241, in inner
    return func(*args, **kwargs)

  File "/usr/lib/python3.6/site-packages/nova/scheduler/manager.py", line 200, in select_destinations
    raise exception.NoValidHost(reason="")

nova.exception.NoValidHost: No valid host was found.
: nova.exception_Remote.NoValidHost_Remote: No valid host was found.
2020-08-29 13:21:09.891 98391 WARNING nova.scheduler.utils [req-30539015-22f1-4d46-b8b7-63f9c679eed1 4c4c7de6dd134250972958ce260530f2 166dc91ccec24f21963c71a437380ee9 - default default] [instance: fe54feaf-ecb6-4725-97e9-7d208066ddb0] Setting instance to ERROR state.: nova.exception_Remote.NoValidHost_Remote: No valid host was found.

Что мне здесь не хватает? Что вызывает эти сбои No Host Found, когда я пытаюсь использовать варианты, отличные от m1.small, и почему третий экземпляр не может появиться независимо от используемого варианта??? Как (если возможно) заставить эти экземпляры работать правильно?

ПРИМЕЧАНИЕ. Я использую установку, созданную из Packstack на CentOS 8. Моя машина двухъядерная, с 32 ГБ оперативной памяти и 3 терабайтами дискового пространства. Версия Openstack — Ussuri.


person Factor Three    schedule 29.08.2020    source источник


Ответы (1)


Мне кажется, что у вас не хватает ресурсов, особенно CPU-ядер. Вы написали, что у вашей ноды всего два ядра и вы уже породили 2 виртуальные машины с малым ароматом, для каждой из которых требуется по 1 ядру. Эта No valid host was found-ошибка возникает также, когда не найден вычислительный хост с достаточным количеством ресурсов для выбранного варианта.

Вы можете проверить это самостоятельно:

Запустите openstack hypervisor list, чтобы отобразить ваш гипервизор, а затем openstack hypervisor show <ID> с идентификатором вашего гипервизора. В выводе вы найдете vcpus и vcpus_used. vcpus — это максимально доступное количество процессорных ядер на выбранном вычислительном хосте. Основываясь на информации вашего вопроса, я думаю, что оба этих значения в вашем случае равны 2, и это покажет вам, что у вас недостаточно ресурсов для вашей третьей виртуальной машины.

person Tobias    schedule 31.08.2020
comment
Таким образом, похоже, что количество экземпляров, которые вы можете создать, зависит от количества ядер вашего оборудования. Вопрос: можно ли остановить один или несколько запущенных экземпляров, чтобы можно было запустить другой? Я еще новичок в некоторых вопросах... - person Factor Three; 01.09.2020
comment
Это зависит от ваших доступных ресурсов в целом (процессор, оперативная память, диск). Кроме того, имеет значение и вкус ваших виртуальных машин. Чем больше вариантов, тем меньше доступное количество виртуальных машин. Для ядер также можно использовать overprovisioning, но сам я этим никогда не пользовался. При этом также должна быть возможность запускать больше на том же количестве ядер. Единственный способ освободить выделенные ядра и оперативную память ВМ, не удаляя ВМ. Насколько я знаю, это openstack shelve-команда. Остаются только данные на диске и метаданные в openstack-базе и гипервизор снова свободен. - person Tobias; 01.09.2020
comment
Спасибо за информацию, Тобиас. Я обновил свою машину так, чтобы в ней был процессор с 8 ядрами. Теперь у меня есть мощность процессора, но оказывается, что мешает мне что-то делать, так это место на диске. Хотя у меня 3 терабайта, мой корневой раздел слишком мал. Это другая проблема, которая потребует другого вопроса. - person Factor Three; 02.09.2020