×

宿主机通过命令行关闭/启动ovs虚拟机

Falcon 2025-06-12 views:
自动摘要

正在生成中……

你可以在宿主机通过命令行关闭虚拟机,前提是你使用的是常见的虚拟化方式,如 libvirt (KVM/QEMU) 或类似系统。以下是常见几种方式:


✅ 方法一:使用 virsh 命令关闭虚拟机(推荐)

如果你使用 libvirt(多数情况下是),可以使用以下命令:

1. 查看当前运行的虚拟机列表:

virsh list

输出示例:

 Id    Name                           State
----------------------------------------------------
 3     iStoreVM                       running

2. 关闭虚拟机(优雅方式):

virsh shutdown iStoreVM

等效于按电源键关机,适用于系统还能响应。

3. 如果虚拟机卡死(强制关闭):

virsh destroy iStoreVM

相当于直接拔电源,请谨慎使用。


✅ 方法二:使用 qemu 进程手动 kill(不推荐但可行)

如果你没有 virsh,可以直接查找 QEMU 进程并终止它:

1. 找出 QEMU 进程:

ps aux | grep qemu

找到对应 iStore 虚拟机的进程(一般会包含磁盘路径或名称)。

2. 杀掉该进程:

sudo kill -9 <PID>

🛠️ 如果你不确定虚拟机名称

你可以列出所有 libvirt 的虚拟机配置:

virsh list --all

或查看它们的定义文件:

ls /etc/libvirt/qemu/

🚀 建议

你当前虚拟机无法获取 IP,建议:

  • 手动在 VNC 内设置静态 IP 测试连通性。
  • 检查是否虚拟网卡(如 vnet3)从 OVS 中掉了。
  • 检查 DHCP 是否正常工作,或是否 MAC 绑定导致拒发。

你可以使用 virsh start 命令在宿主机的命令行下启动虚拟机:


✅ 开启虚拟机命令:

virsh start iStoreVM

其中 iStoreVM 是你虚拟机的名称。如果你不确定名称,可以先列出所有虚拟机:

virsh list --all

输出示例:

 Id   Name        State
-----------------------------
 -    iStoreVM    shut off

此时你就可以执行:

virsh start iStoreVM

如果一切正常,你可以再用 VNC 连接查看启动过程,或者配合日志/网络确认恢复状态。


🔁 附加命令(可选)

  • 查看启动日志(如果设置了 VNC,可以观察图形启动):

    journalctl -xe
    
  • 确认虚拟网卡是否重新挂载:

    ovs-vsctl show
    
  • 检查虚拟机网卡是否重新获得 IP(在虚拟机内执行):

    ip a
    
本文收录于