在 Proxmox VE (PVE) 中,你可以为 虚拟机(VM) 或 容器 设置启动顺序。通过设置启动顺序,你可以控制虚拟机在 PVE 主机启动时以怎样的顺序自动启动,以及它们之间的启动延迟。这个功能非常有用,特别是当你有依赖关系的服务或需要按照特定顺序启动的虚拟机。
要设置 PVE 虚拟机的启动顺序,你可以通过 Web 界面来完成,或者使用命令行工具。我们先看看通过 Web 界面如何设置:
1. 通过 Web 界面设置启动顺序
步骤:
打开 Proxmox VE 管理界面(通过浏览器访问 PVE 节点的 IP 地址)。
选择你想要设置启动顺序的虚拟机或容器。
在右侧点击 "Options"(选项)。
找到 "Start/Shutdown Order"(启动/关闭顺序) 选项,并点击 "Edit"(编辑)。
在弹出的窗口中,你可以设置以下三个参数:
- Start at boot:是否在主机启动时自动启动该虚拟机或容器。勾选此项会启用自动启动。
- Order:启动顺序的优先级。数字越小,越优先启动。默认值为 1。数字大的虚拟机会在数字小的虚拟机启动完成后才会启动。
- Startup delay:启动延迟,表示在前一个虚拟机启动后等待多少秒再启动该虚拟机。单位是秒,默认值为 0。
- Shutdown timeout:关机时的超时时间。如果虚拟机在指定时间内无法关闭,系统会强制关机。默认是 180 秒。
具体参数解释:
Start at boot(是否开机自启动):
如果勾选此选项,当 PVE 主机启动时,该虚拟机会自动启动。
如果不勾选,虚拟机只会在手动操作时启动。
Order(启动顺序):
这个参数用来控制虚拟机的启动优先级。数字越小优先级越高,即数字小的虚拟机会先启动。
例如,设置虚拟机 A
的顺序为 1
,虚拟机 B
的顺序为 2
,那么 A
会先于 B
启动。
Startup delay(启动延迟):
启动延迟是指当前虚拟机在前一个虚拟机启动后,需要等待多少秒才开始启动。
这个功能适合用于依赖性服务之间的顺序控制。例如,如果 VM B
依赖于 VM A
的服务,你可以给 VM B
设置一个启动延迟,以确保 VM A
完全启动后再启动 VM B
。
Shutdown timeout(关闭超时):
这是关机时的超时时间,表示 PVE 在尝试正常关闭虚拟机时的等待时间。如果超时,该虚拟机会被强制关闭。默认时间为 180
秒。
如果某个虚拟机或容器在关机过程中有问题(比如卡住或未响应),此超时可以确保 PVE 不会无限等待关机完成。
2. 通过 命令行 设置启动顺序
如果你熟悉命令行操作,使用 qm 或 pct 命令可以更灵活地配置启动顺序。
虚拟机 使用 qm
命令:
qm set <vmid> --onboot 1 --bootorder <order> --startupdelay <delay> --shutdown-timeout <timeout>
例如,设置 VMID
为 100
的虚拟机,在主机启动时优先启动,启动顺序为 1
,启动延迟为 10
秒,关机超时为 180
秒:
qm set 100 --onboot 1 --bootorder 1 --startupdelay 10 --shutdown-timeout 180
容器 使用 pct
命令:
pct set <ctid> --onboot 1 --bootorder <order> --startupdelay <delay> --shutdown-timeout <timeout>
例如,设置容器 ID
为 200
的容器,在主机启动时按顺序启动,延迟 5
秒:
pct set 200 --onboot 1 --bootorder 2 --startupdelay 5 --shutdown-timeout 120
总结:
- Start at boot:是否在主机启动时自动启动虚拟机或容器。
- Order:设置虚拟机启动优先级,数字越小越优先启动。
- Startup delay:前一个虚拟机启动后等待的时间,适用于依赖性较强的服务。
- Shutdown timeout:关机时的超时时间,超时后将强制关闭虚拟机。
这些设置可以帮助你根据虚拟机的依赖关系和重要性控制启动顺序和延迟,实现更平滑的系统启动和关闭流程。