Skip to main content

KTDEVX

Proxmox VE上の仮想マシンに物理ディスクをパススルーする

Table of Contents

ここでは、Proxmox VE上の仮想マシンに物理ディスクをパススルーする方法について説明します。

# はじめに

仮想マシンに物理ディスクをパススルーする前に、現在仮想マシンに接続されているディスクをlsblkコマンドで確認してみます。

root@openmediavault:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   32G  0 disk
|-sda1   8:1    0   31G  0 part /
|-sda2   8:2    0    1K  0 part
`-sda5   8:5    0  975M  0 part [SWAP]
sr0     11:0    1 1024M  0 rom

今回はここに1TBの物理ディスクをパススルーして接続します。

# ディスクの確認

物理ディスクの型番を確認後、Proxmox VEがインストールされたサーバーにディスクを接続しましょう。

接続後、Proxmox VEのシェルでls -l /dev/disk/by-id/と打ってディスクを確認します。

root@pve:~# ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 Apr  6 23:28 ata-TOSHIBA_DT01ACA100_X7P8MYTFS -> ../../sda
lrwxrwxrwx 1 root root 10 Apr  6 23:28 ata-TOSHIBA_DT01ACA100_X7P8MYTFS-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Apr  5 22:12 dm-name-pve-root -> ../../dm-1
lrwxrwxrwx 1 root root 10 Apr  5 22:12 dm-name-pve-swap -> ../../dm-0
lrwxrwxrwx 1 root root 10 Apr  5 22:46 dm-name-pve-vm--100--disk--0 -> ../../dm-6
...

/dev/disk/by-id/は、Linuxにおいてストレージデバイスへのシンボリックリンクが集められたディレクトリです。

/dev/sdXのような名前は、起動順や接続順で変わる可能性がありますが、/dev/disk/by-id/のリンクは、デバイス固有のIDを使ってアクセスできるパスを提供するため、常に同じディスクをマウントしたい場合に非常に便利です。

今回接続したディスクへのパスは/dev/disk/by-id/ata-TOSHIBA_DT01ACA100_X7P8MYTFSでした。これを控えておきましょう。

# ディスクを仮想マシンにパススルー

仮想マシンに物理ディスクをパススルーするには、qm setコマンドを使用します。

qm set <VM ID> -scsi<SCSIインターフェースの番号> <物理ディスクへのパス>

今回は以下のように設定しました。

root@pve:~# qm set 100 -scsi1 /dev/disk/by-id/ata-TOSHIBA_DT01ACA100_X7P8MYTFS
update VM 100: -scsi1 /dev/disk/by-id/ata-TOSHIBA_DT01ACA100_X7P8MYTFS

これにより、VM IDが100の仮想マシンに、SCSI1を介して、指定した物理ディスクが接続されます。

# パススルーしたディスクの確認

物理ディスクをパススルーした後、仮想マシンを再起動して仮想マシンのシェルにログインしましょう。

lsblkコマンドでディスクを確認してみます。

root@openmediavault:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0    32G  0 disk
|-sda1   8:1    0    31G  0 part /
|-sda2   8:2    0     1K  0 part
`-sda5   8:5    0   975M  0 part [SWAP]
sdb      8:16   0 931.5G  0 disk
`-sdb1   8:17   0 931.5G  0 part
sr0     11:0    1  1024M  0 rom

無事、物理ディスクがパススルー出来ていることを確認できました。