使用 qemu 模拟 nvme 设备,本篇可以参考。引用本文请注明出处: 使用 qemu 来模拟 nvme 设备_qemu nvme-CSDN博客
通过文件在当前系统模拟 nvme 设备,请参考: 使用文件来模拟 nvme 设备_configshell-fb-CSDN博客
1. 确认 qemu 支持 nvme 设备
qemu-kvm -device help
...
name "nvme", bus PCI, desc "Non-Volatile Memory Express"
...
如果有如上输出,说明可以使用 qemu 来模拟 nvme 设备。否则,请重新编译 qemu 或者更换支持的系统。
2. 创建 nvme 虚拟设备
方法一:
dd if=/dev/zero of=/path/to/nvme.img bs=1M count=4096
方法二:
qemu-img create -f raw /path/to/nvme.raw 50G
3. 启动
方法一: 使用 qemu 直接启动虚拟机
qemu-kvm -enable-kvm -m 2048 -smp 1 /path/to/vm.qcow2 -boot c -drive file=/path/to/nvme.raw,if=none,id=D22 -device nvme,drive=D22,serial=1234
说明:
vm.qcow2 是一台已经安装好操作系统的虚拟机镜像。
方法二: 使用 virsh 启动虚拟机
编辑 <vm> 配置
virsh edit <vm>
将
<domain type='kvm'>
改为
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
再 "</domain>"(最后一行)上一行添加
<qemu:commandline>
<qemu:arg value='-drive'/>
<qemu:arg value='file=/path/to/nvme.raw,if=none,id=D22'/>
<qemu:arg value='-device'/>
<qemu:arg value='nvme,drive=D22,serial=1234'/>
</qemu:commandline>
启动虚拟机:
virsh start <vm>