Как перезапустить конкретную службу openstack, установленную с помощью devstack?
Перезапуск службы в Openstack, установленной с помощью Devstack
Ответы (7)
Когда ./stack.sh завершается, openstack якобы запускается.
как пользователь стека вы можете выполнить следующую команду:
screen -dr
это должно открыть сеанс экрана с окнами для каждой из служб. службы запускаются из этих сеансов экранного терминала или ptys.
вы можете просто убить процесс и перезапустить его с этих ptys.
конечно, применяется стандартный логический порядок операций. если mysql мертв, nova-api запускается не очень хорошо. то же самое касается выключенного трапецеидального искажения. Итак, обратите внимание на зависимости.
если вы не знаете, как выполнять службы в терминалах, сначала выполните ps auxww | grep service
или что-то подобное. Это должно дать некоторое представление о том, как снова запустить двоичные файлы.
Удачи.
Вернуться к экрану стека как
./rejoin-stack.sh
и перейдите на указанную страницу службы с помощью ctrl + a + ", затем введите номер экрана, который вам нужно перейти.
Нажмите 9, а затем ctrl + C. Сейчас служба будет остановлена. Повторно запустите следующую команду devstack, чтобы запустить службу: (например, для nova-network) cd / opt / stack / nova && / usr / bin / nova-network --config /etc/nova/nova.conf || echo "n-net не удалось запустить" | тройник "/opt/stack/stack/n-net.failure"
Нажмите Ctrl + d, чтобы отсоединиться от экрана стека.
Для запуска экранной команды
screen -r
Теперь вы попадете в экранное окно и увидите список сервисов Openstack; Например, «q-svc», «горизонт», «клавиша доступа» внизу экрана; Текущий активный экран будет отмечен * как «горизонт *».
Чтобы перейти к конкретному сервису Openstack, нажмите
"Ctrl + a" and "0-9"
Example: "Ctrl + a" 5
перейти к фактическому обслуживанию; Вы также можете перейти к следующему или предыдущему экрану, используя следующие команды
"Ctrl + a" and n --- > for next
"Ctrl + a" and p --- > for previous
Теперь остановимся и запустим службу; Перейдите в соответствующее окно экрана и нажмите
"Ctrl + c"
Остановить службу; Это теперь покажет экран bash в соответствующем окне экрана; и, чтобы запустить службу, нажмите стрелку ВВЕРХ, чтобы увидеть последнюю выполненную команду в окне экрана, и нажмите ввод, чтобы запустить то же самое.
Жизнь проще с экраном для запуска и остановки служб Openstack, настроенных для работы с Devstack.
rejoin-stack.sh был удален в соответствии с этим git commit, вам нужно сделать screen -c / path / to / devstack_install / stack-screenrc
Выполните эту команду от имени пользователя root (например: для запуска службы Keystone)
$ systemctl start [email protected]
Вы можете использовать restart
, stop
, status
и т. Д. Вместо start
по мере необходимости.
вы также можете использовать подстановочные знаки. Как показано ниже.
$ systemctl start devstack @ *
=> он запустит все службы devstack.
Ситуация изменилась в новой версии devstack.
По умолчанию DevStack запускается со всеми службами в виде файлов модулей systemd. Systemd теперь является системой инициализации по умолчанию почти для каждого дистрибутива Linux, а systemd кодирует и решает многие проблемы, связанные с плохо работающими процессами.
Предположим, что это устройство n-cpu, чтобы сделать примеры более понятными.
Enable a unit (allows it to be started):
sudo systemctl enable [email protected]
Для получения дополнительной информации посетите https://docs.openstack.org/devstack/latest/systemd.html
вы можете использовать systemctl start devstack@*
для перезапуска каждой службы стека разработчиков