带有 virtio scsi 和 rbd 的 kvm

带有 virtio scsi 和 rbd 的 kvm

我目前正在使用 virtio-blk,但我想换成新的 virtio-scsi,特别是因为它支持 trim/discard。主机是 ubuntu 量子系统(内核 3.5.0,qemu 1.2.0)。

这就是我开始我的客人的方式:

kvm -cpu kvm64 -smp sockets=1,cores=2 -cpu kvm64 -m 1024 -device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 -drive file=rbd:data/disk-1,if=none,id=drive-scsi1,cache=writeback,aio=native -device scsi-hd,drive=drive-scsi1,id=scsi1,bus=scsihw0.0,channel=0,scsi-id=0,lun=1,bootindex=100 -device virtio-net-pci,netdev=net0,bus=pci.0,addr=0x12,id=net0,mac=62:79:D8:1E:E0:BF,bootindex=200 -netdev type=tap,id=net0,vhost=on -enable-kvm -nodefaults -boot menu=on -vga cirrus -cdrom rbd:data/ubuntu-12.10-server.iso

VM 启动正常,我可以使用控制台和 vnc 连接。

info block控制台上显示两个驱动器都在那里:

drive-scsi1: removable=0 io-status=ok file=rbd:data/disk-1 ro=0 drv=raw encrypted=0 bps=0 bps_rd=0 bps_wr=0 iops=0 iops_rd=0 iops_wr=0
ide1-cd0: removable=1 locked=1 tray-open=0 io-status=ok file=rbd:data/ubuntu-12.10-server.iso ro=1 drv=raw encrypted=0 bps=0 bps_rd=0 bps_wr=0 iops=0 iops_rd=0 iops_wr=0

但是,无法从虚拟机内部以任何方式访问磁盘:

  1. BIOS 启动菜单中不显示磁盘。只有 cdrom 和网卡 (pxe)。

  2. 当我从 cdrom 启动 ubuntu quantal(内核 3.5.0)时,它无法检测到磁盘,尽管我在某处读到 virtio-scsi 设备应该从内核 3.4.0 开始受支持。

我做错了什么以及如何使其正常工作?:)

答案1

要验证您的 qemu 版本是否支持 virtio-scsi 设备,请在您的 Linux 主机上运行以下命令:

kvm -device ? 2>&1|grep virtio

参见以下输出:

name "virtio-scsi-pci", bus PCI, alias "virtio-scsi"

相关内容