openSUSE 15.x KVM自动安装阶段1后无法自动重启进入阶段2
解决openSUSE KVM自动安装阶段1完成后不自动重启问题
以下是针对问题的排查和解决步骤:
1. 检查virt-install的--wait参数
这是最常见的触发原因:如果你的virt-install命令中使用了--wait N(N为具体秒数),超时后virt-install会暂停虚拟机,而非让其自动重启进入阶段2。
- 解决方案:
去掉--wait参数,或者将其设置为--wait -1(表示无限等待虚拟机完成安装重启)。示例修正后的命令:virt-install \ --name opensuse-15.6-vm \ --ram 4096 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/opensuse-vm.qcow2,size=40 \ --location http://download.opensuse.org/distribution/leap/15.6/repo/oss/ \ --extra-args "autoyast=http://your-server-ip/autoinst.xml" \ --wait -1
2. 排查autoinst.xml的冲突配置
即使设置了<final_reboot config:type="boolean">true</final_reboot>,以下配置可能会覆盖重启行为:
- 检查是否存在自定义post脚本执行关机命令:
如果autoinst.xml中有类似以下的post脚本,会直接触发关机而非重启,需删除或修改为reboot:<scripts> <post-scripts config:type="list"> <script><text>poweroff</text></script> </post-scripts> </scripts> - 确保未设置互斥的关机参数:
添加<final_halt config:type="boolean">false</final_halt>到<finish>节点,明确禁用关机行为:<finish> <final_reboot config:type="boolean">true</final_reboot> <final_halt config:type="boolean">false</final_halt> </finish>
3. 检查KVM虚拟机的电源行为配置
虚拟机的电源管理设置可能导致系统关机后被销毁而非重启:
- 执行
virsh edit <你的虚拟机名称>打开虚拟机XML配置 - 确保以下节点配置为
restart:
如果原来的值为<on_poweroff>restart</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash>destroy,修改后保存退出即可生效。
4. 验证Ansible执行逻辑
检查你的Ansible Playbook是否在virt-install执行后,额外执行了暂停/关机虚拟机的操作(比如virsh shutdown或virsh suspend任务),这类操作会打断自动重启流程。
内容的提问来源于stack exchange,提问作者bbdd
相关产品推荐
相关产品推荐

