Перезапуск службы в Openstack, установленной с помощью Devstack

Как перезапустить конкретную службу openstack, установленную с помощью devstack?


person user3170122    schedule 11.05.2014    source источник


Ответы (7)


Когда ./stack.sh завершается, openstack якобы запускается.

как пользователь стека вы можете выполнить следующую команду:

screen -dr

это должно открыть сеанс экрана с окнами для каждой из служб. службы запускаются из этих сеансов экранного терминала или ptys.

вы можете просто убить процесс и перезапустить его с этих ptys.

конечно, применяется стандартный логический порядок операций. если mysql мертв, nova-api запускается не очень хорошо. то же самое касается выключенного трапецеидального искажения. Итак, обратите внимание на зависимости.

если вы не знаете, как выполнять службы в терминалах, сначала выполните ps auxww | grep service или что-то подобное. Это должно дать некоторое представление о том, как снова запустить двоичные файлы.

Удачи.

person Matt Joyce    schedule 12.05.2014
comment
Есть ли способ сделать это с помощью команды, аналогичной перезапуску службы xxxxx? Я хочу автоматизировать это. В настоящее время не может этого сделать. - person Ankur Bhatia; 18.10.2016
comment
Я написал это много лет назад ... сейчас в стеке разработки могут быть определения сервисов, но я в этом сомневаюсь. это не то, для чего предназначен devstack. - person Matt Joyce; 24.10.2016

Вернуться к экрану стека как

./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, чтобы отсоединиться от экрана стека.

person woooh77    schedule 06.08.2014
comment
Но как его запустить после того, как я убью процесс командой kill -9. Я не вижу экран n-cpu после того, как убил -9 ‹pid› - person Ankur Bhatia; 19.10.2016

Для запуска экранной команды

 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.

person Viswesn    schedule 23.04.2015
comment
Но как его запустить после того, как я убью процесс командой kill -9. Я не вижу экран n-cpu после того, как убил -9 ‹pid› - person Ankur Bhatia; 19.10.2016
comment
Вы должны знать путь к двоичному файлу и аргументы, которые были переданы двоичному файлу; kill -9 за пределами экрана не рекомендуется; Перейдите на экран, чтобы остановить и запустить службу; Это был бы правильный выбор. - person Viswesn; 19.10.2016

rejoin-stack.sh был удален в соответствии с этим git commit, вам нужно сделать screen -c / path / to / devstack_install / stack-screenrc

person Cristian    schedule 25.10.2016

Выполните эту команду от имени пользователя root (например: для запуска службы Keystone)

$ systemctl start [email protected]

Вы можете использовать restart, stop, status и т. Д. Вместо start по мере необходимости.

вы также можете использовать подстановочные знаки. Как показано ниже.

$ systemctl start devstack @ *

=> он запустит все службы devstack.

person Ali    schedule 11.05.2017

Ситуация изменилась в новой версии 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

person NewBee    schedule 30.08.2020

вы можете использовать systemctl start devstack@* для перезапуска каждой службы стека разработчиков

person Aprilian8    schedule 23.06.2021