测验:虚拟机运行
为什么QEMU的-netdev和-device是分开的?
- 它们只是历史遗迹,但实际功能是一样的。
- -netdev 适用于 IPv4,-device 适用于 IPv6。
- -netdev 指定主机端后端,-device 指定来宾看到的 NIC。
- -device 是仅在热插拔时使用的选项。
用hostfwd=tcp::12222-:22打开的端口在QEMU启动后立即处于监听状态。即使客人仍在启动。为什么?
- QEMU 甚至会生成访客 SSH 响应。
- 主机内核在来宾启动之前保留端口
- QEMU 的监听状态显示不正确。
- 转发套接字由 QEMU 进程打开,因此与来宾状态无关。
为什么需要在-drive file=disk.qcow2,if=virtio中指定format=qcow2?
- 这是因为如果指定格式,打开性能会提高。
- 如果未指定,QEMU 将从文件内容猜测格式。
- 因为qcow2没有被自动检测到
- 因为 libvirt 需要该条目
SeaBIOS和Booting from Hard Disk在串行控制台中可见,但没有内核消息。要检查什么?
- 确保磁盘映像未损坏
- 是不是访客内存不够?
- 检查加速器设置是否不正确。
- console=ttyS0 是否被传递到来宾内核?
如何将命令作为自动化脚本发送到正在运行的虚拟机?
- 通过 ssh 连接到 guest 并执行命令
- 作为 Unix 套接字打开监视器并使用 nc -U 发送命令
- 向 QEMU 进程发送信号
- 重新创建命令行并再次运行。
检查libvirt定义的VM的实际执行参数的最可靠方法是什么?
- 读取 XML 定义
- 用ps查看qemu进程的命令行
- 查看 virsh dominfo
- 查看日志文件