【发布时间】:2014-06-28 21:34:59
【问题描述】:
如何重启使用 devstack 安装的特定 openstack-service?
【问题讨论】:
如何重启使用 devstack 安装的特定 openstack-service?
【问题讨论】:
您可以使用systemctl start devstack@* 重新启动每个 devstack 服务
【讨论】:
新版本的 devstack 发生了变化。
默认情况下,DevStack 将所有服务作为 systemd 单元运行 文件。 Systemd 现在是几乎所有 Linux 的默认初始化系统 发行版和 systemd 编码并解决了许多与 进程运行不佳。
假设单位为n-cpu,让例子更清晰。
Enable a unit (allows it to be started):
sudo systemctl enable devstack@n-cpu.service
欲了解更多信息,请访问https://docs.openstack.org/devstack/latest/systemd.html
【讨论】:
以root身份运行此命令(例如:启动keystone服务)
$ systemctl start devstack@keystone.service
您可以根据需要使用restart、stop、status 等代替start。
您也可以使用通配符。如下所示。
$ systemctl start devstack@*
=> 它将启动所有 devstack 服务。
【讨论】:
rejoin-stack.sh 已根据 git commit 删除,您需要执行 screen -c /path/to/devstack_install/stack-screenrc
【讨论】:
运行屏幕命令
screen -r
现在,您将在屏幕窗口中看到 Openstack 服务列表;像屏幕底部的“q-svc”、“horizon”、“key-access”; 当前活动屏幕将标有 *,如 "horizon*"
要移动到特定的 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 屏幕;要启动服务,请按向上箭头标记在屏幕窗口中查看最后执行的命令,然后按 Enter 启动相同的命令。
屏幕可以更轻松地启动和停止配置为与 Devstack 一起运行的 Openstack 服务。
【讨论】:
重新加入堆栈屏幕
./rejoin-stack.sh
并使用ctrl+a+"移动到指定的服务页面,然后输入你需要去的屏幕编号。
按 9,然后按 ctrl+C。该服务现在将停止。重新运行以下 devstack 命令以启动服务: (例如对于新星网络) cd /opt/stack/nova && /usr/bin/nova-network --config /etc/nova/nova.conf || echo "n-net 启动失败" | tee "/opt/stack/stack/n-net.failure"
按 Ctrl+d 可从堆栈屏幕分离。
【讨论】:
当 ./stack.sh 完成时,openstack 表面上正在运行。
作为您的堆栈用户,您可以发出以下命令:
screen -dr
这应该为每个服务打开一个带有窗口的屏幕会话。服务从那些屏幕终端会话或 pty 运行。
您可以简单地终止该进程并从这些 pty 重新启动它。
当然适用标准的逻辑操作顺序。如果 mysql 死了,nova-api 将无法很好地启动。 keystone 关闭也是如此。所以,请注意依赖关系。
如果您不确定如何在终端中执行服务,请先执行ps auxww | grep service 或类似的操作。这应该提供一些关于如何再次运行二进制文件的见解。
祝你好运。
【讨论】: