管理虚拟磁盘

概述

虚拟磁盘类型主要包含virtio-blk、virtio-scsi、vhost-scsi等。virtio-blk模拟的是一种block设备,virtio-scsi和vhost-scsi模拟的是一种scsi设备。

  • virtio-blk:普通系统盘和数据盘可用,该种配置下虚拟磁盘在虚拟机内部呈现为vd[a-z]或vd[a-z][a-z]。
  • virtio-scsi:普通系统盘和数据盘建议选用,该种配置下虚拟磁盘在虚拟机内部呈现为sd[a-z]或sd[a-z][a-z]。
  • vhost-scsi:对性能要求高的虚拟磁盘建议选用,该种配置下虚拟磁盘在虚拟机内部呈现为sd[a-z]或sd[a-z][a-z]。

操作步骤

虚拟磁盘的配置步骤,请参见”虚拟机配置 > 配置虚拟机设备 > 存储设备”。本节以virtio-scsi磁盘为例,介绍挂载和卸载虚拟磁盘的简单方法。

  • 挂载virtio-scsi磁盘:

    使用virsh attach-device命令挂载virtio-scsi虚拟磁盘:

    1. # virsh attach-device <VMInstance> <attach-device.xml>

    上述命令可以为虚拟机在线挂载磁盘,其中磁盘信息由attach-device.xml文件指定。下面是一个attach-device.xml文件的例子:

    1. ### attach-device.xml ###
    2. <disk type='file' device='disk'>
    3. <driver name='qemu' type='qcow2' cache='none' io='native'/>
    4. <source file='/path/to/another/qcow2-file'/>
    5. <backingStore/>
    6. <target dev='sdb' bus='scsi'/>
    7. <address type='drive' controller='0' bus='0' target='1' unit='0'/>
    8. </disk>

    通过上述命令挂载的磁盘,在虚拟机关机重启后失效。如果需要为虚拟机持久化挂载虚拟磁盘,需要使用带—config参数的virsh attach-device命令。

  • 卸载virtio-scsi磁盘:

    通过在线挂载的磁盘,如果不需要再使用,可以通过virsh detach命令动态卸载:

    1. # virsh detach-device <VMInstance> <detach-device.xml>

    其中,detach-device.xml指定了需要卸载的磁盘的XML信息,与动态挂载时的XML信息保持一致。