Skip to content

icenoir/passthrough-disk-to-vm-proxmox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

How to: Passthrough HDD/SSD/Physical disks to VM on Proxmox VE(PVE)

Note: This guide only works for virtual machines not for containers(CT).

1 Install lshw on PVE 1.1 Bring up terminal from PVE directly or via SSH or by using “Shell” from PVE web gui

1.2 Enter following command to install lshw

apt install lshw

2 Check & note down details about physical disks we want to passthrough 2.1 Using following command


lshw -class disk -class storage

Output

... *-disk description: ATA Disk product: SHdi1uhJ-128s vendor: FakeName physical id: 0.0.0 bus info: scsi@2:0.0.0 logical name: /dev/sdb version: DC09 serial: SJFhf7219 size: 15000GiB (15TB) configuration: ansiversion=5 sectorsize=512 ...

We should use disk by their ID rather than name (/dev/sda) which can change and will cause trouble

2.2 Use following command to list all physical disk IDs

ls -l /dev/disk/by-id/

2.3 Now we need to find the one that matches the “product” or “serial”

e.g. ..... /dev/disk/by-id/ata-xxxxxxxxx-xxxxx_xxx ......

or try

ls -al /dev/disk/by-id | grep SHdi1uhJ

or


ls -al /dev/disk/by-id | grep SJFhf7219

3 Add the disk to VM 3.1 Bring up the terminal or shell for PVE host again

3.2 Execute following command


qm set 100 -scsi5 /dev/disk/by-id/ata-xxxxxxxxx-xxxxx_xxx

Output:

update VM 100: -scsi5 /dev/disk/by-id/ata-xxxxxxxxx-xxxxx_xxx 100: The VM id which can be found from PVE web gui (besides the VM’s name)

scsi5: The virtual port number which the disk will be using to attach to VM

For example, in the following configuration, the disk is attached by using -scsi0, if we want to attach another disk, we can use -scsi1 or -scsi2 or -scsi3 etc…..

4 Check if the disk attached successfully grep SHdi1uhJ /etc/pve/qemu-server/100.conf Output

scsi5: /dev/disk/by-id/ata-xxxxxxxxx-xxxxx_xxx, size=...... Note There are different Controller Types we can use, IDE (Slow), SCSI (Fast), VirtIO Block (May get deprecated in the future)

Using SCSI with VirtIO SCSI as SCSI Controller Type for VM disks is recommended

5 Bonus 5.1 How to passthrough HDD serial number to VM To passthrough HDD or SSD serial number, we can find the HDD serial number, manually edit the VM conf file and add the HDD serial number there.

Before start, make sure the relative VM is powered off.

5.1.1 To find HDD/SSH serial number by using lshw following step 5.1.1a OR using PVE web gui to find it directly following step 5.1.1b

5.1.1a Install lshw, then use this command to find the HDD/SSD serial we need


# Install lshw
apt install lshw
# Find the HDD/SSD disk serial number
lshw -C disk

We will get output like following

*-disk:0
description: ATA Disk product: Hitachi HTS10000 vendor: Hitachi physical id: 0 bus info: scsi@0:0.0.0 logical name: /dev/sda version: A980 serial: J100009BDS32SA size: 931GiB (1TB) capabilities: gpt-1.00 partitioned partitioned:gpt configuration: ansiversion=5 guid=e2ffe4a9-21a9-1bd1-ff00-5dfutv2s1b17 logicalsectorsize=512 sectorsize=4096 5.1.1b Using PVE web gui

Login to PVE https://IP:8006

From left hand side, Make sure it’s in Server View, Click on the node name

From right hand side panel, Click on Disks, now we can find out the disk serials

5.1.2 Note down the ID (Here we assume the VM ID is 100) of the VM we want to passthrough the disk serial for

5.1.3 From left hand side of PVE web gui, Right Click on the node name -> >_ Shell or login to PVE via SSH

5.1.4 Make a backup of the configuration file


cp /etc/pve/qemu-server/100.conf /root/100.conf

5.1.5 Edit the configuration file


nano /etc/pve/qemu-server/100.conf

Find the line like following

virtio1: /dev/disk/by-id/ata-WDC_xxxxxxx-xxxxxxxxxxxxxx,size=xxxxxxK We add the serial number to the end of the line, the final line looks like

virtio1: /dev/disk/by-id/ata-WDC_xxxxxxx-xxxxxxxxxxxxxx,size=xxxxxxK,serial=xxxxxx-xxxxxxx Note: The limit for serial is 18-20bytes (around 18 characters), no space allowed

Ctrl + X, Y, Enter key to Save and Exit the nano text editor

References [1] “Physical disk to kvm – Proxmox VE”, Pve.proxmox.com, 2020. [Online]. Available: https://pve.proxmox.com/wiki/Physical_disk_to_kvm

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published