21.3. 创建 virsh Dump 文件
执行 virsh dump 命令将客户端虚拟机的核心转储到文件,以便可以诊断虚拟机中的错误。运行此命令可能需要您手动确保文件和通过参数 corefilepath 指定的路径的正确权限。virsh 转储 命令与 coredump(或 crash 实用程序)类似。要创建 virsh dump 文件,请运行:
#virsh dump <domain> <corefilepath> [--bypass-cache] { [--live] | [--crash] | [--reset] } [--verbose] [--memory-only]
尽管域(guest 虚拟机域名)和 corefilepath(新创建的内核转储文件的位置)是必需的,以下参数是可选的:
- --live 在运行的机器上创建转储文件,且不会暂停它。
- --crash 会停止客户机虚拟机并生成转储文件。主要区别在于,guest 虚拟机不会被列为 Stopped,其原因为 Crashed。请注意,在 virt-manager 中,其状态将显示为 Paused。
- --reset 将在成功转储后重置 guest 虚拟机。请注意,这三个交换机是相互排斥的。
- --bypass-cache 使用 O_DIRECT 绕过文件系统缓存。
- -- 仅 内存转储文件将保存为 elf 文件,并且仅包括域内存和 cpu 常见的寄存器值。如果域直接使用主机设备,此选项非常有用。
- --verbose 显示转储的进度
整个转储过程可以使用 virsh domjobinfo 监控,并可通过运行 virsh domjobabort 来取消。