Proxmox Festplatte direkt per vt-d in einer VM einbinden

Nachfolgend beschreibe ich, wie ich unter Proxmox VE eine Festplatte vom Hostsystem direkt an eine virtuelle Maschine durchreiche und mittels VT-d einbinde.

Proxmox VE – Festplatte per VT-d direkt in einer virtuellen Maschine einbinden

  1. die virtuelle Maschien in der die Festplatte hinzugefügt werden soll, muss gestoppt sein
  2. zu erst lasse ich mir ein paar Hardwareinformationen zu den angeschlossenen Geräten anzeigen um herauszufinden an welchem Device das Gerät hängt: # lshw -class disk -class storage

*-usb
description: Mass storage device
product: NS1066
vendor: Norelsys
physical id: 2
bus info: usb@3:2
logical name: scsi4
version: 1.00
serial: 0123456789ABCDE
capabilities: usb-3.00 scsi emulated scsi-host
configuration: driver=usb-storage maxpower=8mA speed=5000Mbit/s
*-disk
description: SCSI Disk
vendor: Inateck
physical id: 0.0.0
bus info: scsi@4:0.0.0
logical name: /dev/sdc
version: 1A05
serial: E34LUX72
size: 931GiB (1TB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=6 logicalsectorsize=512 sectorsize=512 signature=1e0dcdbe

  1. hier also an /dev/sdc, nun lese ich die eindeutige UUID von sdc wie folgt aus: # ls -lsa /dev/disk/by-uuid/ |grep sdc
    0 lrwxrwxrwx 1 root root 10 Aug 20 00:24 fc2b44a9-08ab-415e-8a46-ca24271d699f -> ../../sdc1
  2. oder die Disk ID per: # ls -lsa /dev/disk/by-id/ |grep sdc
  3. da ich nun die UUID habe, kann ich diese Festplatte direkt in der KVM einbinden,
  4. um die Proxmox VE ID (VMID) zu wissen, kann man sich diese mit dem Befehl: # qm listanzeigen lassen
  5. nun führe ich folgenden Befehl aus und binde die USB-Disk als zusätzliches VIRTIO2 Laufwerk in die VM 107 ein (-virtio2 <- sollte nicht vorhanden sein, ansonten numerisch hochzählen z.b. auf -virtio3 oder für eine weitere Disk dann -virtio4)
  6. :
    1. per UUID
      1. # qm set 107 -virtio2 /dev/disk/by-uuid/fc2b44a9-08ab-415e-8a46-ca24271d699f
    2. geht aber auch per Disk ID :
      1. # qm set 107 -virtio2 /dev/disk/by-id/usb-Inateck_NS1066_0123456789ABCDE-0:0
        update VM 107: -virtio2 /dev/disk/by-id/usb-Inateck_NS1066_0123456789ABCDE-0:0
    3. ob die Zuweisung in der VM erfolgt ist, lässt sich dann z.B. so anzeigen: # grep usb /etc/pve/qemu-server/107.conf
      virtio2: /dev/disk/by-id/usb-Inateck_NS1066_0123456789ABCDE-0:0,size=976762584K
  7. nun kann die virtuelle Maschine wieder gestartet werden: # qm start 107
  8. bei mir wurde die neue Disk als /dev/vdb1 eingebunden

Thats it

4 thoughts on “Proxmox Festplatte direkt per vt-d in einer VM einbinden

    1. JARVIS Post author

      Hi Joscha,
      also so wie ich es beschrieben habe, habe ich es nun des öfteren erfolgreich durchgeführt. Die HDD ist im Hostsystem “fdisk -l” z.B., schon zu sehen oder? Merkwürdig, aber ohne das ich selber drauf schauen könnte, wüßte ich so auch nicht woran es noch liegen könnte, kann nur eine Fehlkonfiguration an irgendeiner stelle sein. Dein System unterstützt doch vt-d oder?

      Reply
  1. Joscha Müller

    Leider bekomme ich auf “qm set 101 -virtio2 /dev/disk/by-uuid/2FEC9A7D-1C68-471E-BFA0-88568E4FFF73”
    ein “does not exists” UUID und VMID stimmen und wurden ersetzt.
    Ich bin mir nicht sicher ob ich disk mit in meinem fall “sde”
    ersetzen muss!

    Denn meine Platte ist unter /dev/sde/ in Proxmox eingehängt.

    mit freundlichen grüßen

    Joscha Müller

    Reply
    1. JARVIS Post author

      Hi,
      nein auf keinen Fall mit dem Devicenamen sde ersetzen. Wenn der sich ändert ist die Disk in der VM nicht mehr erreichbar. Deshalb sollte die eindeutige UUID verwendet werden. Also Ob VM 101 existiert kann z.B. mittels qm list herausgefunden werden. Den Pfad am besten mittels Tabulator vervollständigen lassen, dann passieren z.B. keine Tippfehler. Der Befehl unter 1. sollte für /dev/sde zur Lösung führen. Eins noch, die Angabe von -virtio2 sollte numerisch auf eine noch nicht verwendte Zahl für diese VM gewhält werden. Sodass du auch eine 3. HDD als -virtio3 hinzufügen kannst.

      Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.