BobbyQuineのブログ(備忘録)

Linux関係の備忘録、その他タバコ、Vape関連なんかも。

Proxmox VE上のVMから実ディスクにアクセスする(ディスクパススルー)

参考にしたページ

https://kiyoka.moe/2020/08/04/proxmox-ve-hdd-attach-with-kvm/

 

背景

ラックマウントサーバを入手してとりあえずはArch Linuxを入れて遊んでいたがリソース余りまくりなのでProxmox VEを入れて色々試そうと思った.OSに認識されるディスクは/dev化にsda,sdb,sdcと3つある状態であった.必要な情報をsdaからsdbに移し,sdaにProxmox VEを入れ,その中にArch LinuxVM(VMidは100)を立てた.今回の目的はこのArch LinuxVMから直接sdb内に触れるようにすること.また,今回使用したDiskはSAS規格のものである.

 

ハードウェアパススルーではない.

 

設定

proxmox自体のシェルを ' pve # ' で,proxmox上の仮想マシン(今回はArch Linux)のシェルを ' vm # ' とする.

 

pve # ls /dev/disk/by-id

ata-hp_DVDROM_略
dm-name-pve-root
dm-uuid-LVM-略
lvm-pv-uuid-略
lvm-pv-uuid-略
scsi-3609999c2222c0aaaaaaaaaaaaaaaaaa
scsi-3609999c2222c0aaaaaaaaaaaaaaaaaa-part1
scsi-3609999c2222c0bbbbbbbbbbbbbbbbbb
scsi-3609999c2222c0bbbbbbbbbbbbbbbbbb-part1
scsi-3609999c2222c0dddddddddddddddddd
scsi-3609999c2222c0dddddddddddddddddd-part1
scsi-3609999c2222c0dddddddddddddddddd-part2
scsi-3609999c2222c0dddddddddddddddddd-part3
scsi-3609999c2222c0dddddddddddddddddd-part4
以下略

 

今回はSAS規格のHDDなのでscsiから始まるものがHDDである.SATAのHDDを使っている場合ataから始まる.part1等となっているのはディスクのパーティションである.そのためディスクそのものは無印のものである.part4まであるものはProxmoxのインストールディスクである(おそらく普通はpart3まで.個人的用途で4つにパーティションを区切っている).

今回scsi-3609999c2222c0aaaaaaaaaaaaaaaaaaをVMにマウントすることにする.

 

pve # cat /etc/pve/nodes/servername/qemu-server/100.conf|grep scsi

scsi0: Drive1:vm-100-disk-0,size=45G

 

scsi0は予約されているため

pve # qm set 100 -scsi1 /dev/disk/by-id/scsi-3609999c2222c0aaaaaaaaaaaaaaaaaa

構文としては

pve # qm set VMid -scsiX DiskNum

 

再度

pve # cat /etc/pve/nodes/servername/qemu-server/100.conf|grep scsi

を実行するとscsiが追加されているのが分かる.

 

あとはVMを再起動(おそらくrebootコマンドではなく一旦shutdownしてからProxmox VEのWeb管理画面で再度電源を入れないとダメ)してから

vm # ls /dev

でsdbやsdb1が表示されればOK

 

Windows等でうまくいくかは知らない

以上