文書の過去の版を表示しています。


Proxmox VE 6.2でHDDをRDM (Raw Device Mapping)

物理HDDやSSDをVMに直接アタッチしてストレージとして使う、VMwareで言うところのRDMをProxmox VEで行う方法。

RDMはVMware用語?っぽく、Proxmoxではディスクパススルーと呼んでいる。厳密には仕組みも違うっぽい気がするけど、RDMの方が通りがいいので本記事ではRDMと呼ぶことにする。

  • Proxmox VE 6.2-4

ホスト側のデバイスファイルを、ブロックデバイスないし仮想ディスクとしてゲストにくっつけるだけで良いっぽい。

Proxmoxのストレージ画面でRDM対象のHDDを確認する。重要なのはHDDのモデル名とシリアル番号。

シェルを開いてHDDをVMにくっつける。

# qm set 100 -virtio0 /dev/disk/by-id/ata-HGST_HUH728080ALE604_VKHV9Z7X
# qm set 100 -virtio1 /dev/disk/by-id/ata-HGST_HUH728080ALE604_VLG7NZGY
# qm set 100 -virtio2 /dev/disk/by-id/ata-MARSHAL_MAL38000NS-T72_37F5K073FDMF
# qm set 100 -virtio3 /dev/disk/by-id/ata-TOSHIBA_MD05ACA800_37H1K0KYFYZD

HDDを指定するパスは/dev/disk/by-id/以下のものを使う。/dev/sdaみたいなパスでもRDM自体は出来るのだが、デバイス名とストレージの対応付けが変化する可能性があるため、確実に一意に定まるby-idのパスの方が良いというわけ。

-virtio0の部分はVMへの接続方法を表す。上記ではVirtIOのブロックデバイスとして出しているが、SCSIとして出したければ-scsi0という風にする。

ちなみに、現在はvirtio-scsiによるSCSI接続がよさげな予感。virtio-blkは開発が停滞していること、blkはPCIデバイス扱いなのでデバイス数制限がキツイこと、virtio-scsiはゲスト側でのホットプラグが望めることが理由。

問題なくアタッチできてれば、VM管理画面で「ハードディスク」が追加されているのが確認できる。

以上で、VM側から追加したHDDが仮想ストレージとして見える。

  • virtualization/proxmox_ve_6_2_rdm.1615165065.txt.gz
  • 最終更新: 2021-03-08 09:57
  • by Decomo