ssd デバイス#
最近、virt-manager で仮想ディスクを追加しようとすると、どのようにしても hdd として認識されてしまうことに気づきました。調査した結果、how-to-add-virtual-storage-as-ssd-in-kvmを見つけましたが、残念ながらこの方法は使用できず、デバイスが見つからないエラーが発生します。最終的に、公式ドキュメントで次のような記述を見つけました。
オプションの属性 rotation_rate は、SCSI、IDE、または SATA バス上のディスクのストレージの回転速度を設定します。1025 から 65534 の範囲の値は、回転メディアの速度を回転数 / 分で示すために使用されます。値 1 は、固体状態または非回転ストレージを示すために使用されます。これらの値は、基礎となるホストストレージの値と一致する必要はありません。0.0.3 以降;0.4.3 以降の「bus」属性;0.9.11 以降の「tray」属性;0.4.4 以降の「usb」属性値;0.9.7 以降の「sata」属性値;1.1.3 以降の「removable」属性値;7.3.0 以降の「rotation_rate」属性値
機械翻訳結果は以下の通りです。
オプションの属性 rotation_rate は、SCSI、IDE、または SATA バス上のディスクのストレージの回転速度を設定します。1025 から 65534 の範囲の値は、回転メディアの速度(回転数 / 分)を示します。値 1 は、固体状態または非回転ストレージを示します。これらの値は、ホストストレージの値と一致する必要はありません。0.0.3 以降;0.4.3 以降の「bus」属性;0.9.11 以降の「tray」属性;0.4.4 以降の「usb」属性値;0.9.7 以降の「sata」属性値;1.1.3 以降の「removable」属性値;7.3.0 以降の「rotation_rate」属性値
また、次の例を見つけました。
<disk type='block' device='lun'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sda'>
<slices>
<slice type='storage' offset='12345' size='123'/>
</slices>
<reservations managed='no'>
<source type='unix' path='/path/to/qemu-pr-helper' mode='client'/>
</reservations>
</source>
<target dev='sda' bus='scsi' rotation_rate='1'/>
<address type='drive' controller='0' bus='0' target='3' unit='0'/>
</disk>
virt-manager-> 編集 -> 設定 -> 一般 ->XML 編集を有効にし、target 属性にrotation_rate='1'
を追加します。
nvme デバイス#
ヘッダーを次のように変更します。
<domain type='kvm'>
を
<domain xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm">
最後に次を追加します。
......
</devices>
<qemu:commandline>
<qemu:arg value="-drive"/>
<qemu:arg value="file=/mnt/windows/tmp/archlinux.qcow2,format=raw,if=none,id=nvm"/>
<qemu:arg value="-device"/>
<qemu:arg value="nvme,drive=nvm,serial=nvm"/>
<qemu:arg value="-drive"/>
<qemu:arg value="file=/var/lib/libvirt/images/archlinux-3.qcow2,format=raw,if=none,id=nvm-1"/>
<qemu:arg value="-device"/>
<qemu:arg value="nvme,drive=nvm-1,serial=nvm-1,bus=pcie.0,addr=0x11"/>
</qemu:commandline>
</domain>
仮想 PCIe スロットのアドレスが重複している場合は、addr の値を変更できます。