Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-wiki:proxmox:hdd_passthrough

Dies ist eine alte Version des Dokuments!


HDD an privilegierten Container durchreichen

Die ID's für mknode rausfinden

(15:16 root@n5-pve-cluster marko) > ls -la /dev/sdb*
brw-rw---- 1 root disk 8, 16 Jan 23 21:24 /dev/sdb
brw-rw---- 1 root disk 8, 17 Jan 23 21:24 /dev/sdb1

In diesem Fall für die Platte „8 16“ und für die Partition der Platte „8 17“.

Danach kann der Container entsprechend konfiguriert werden. /etc/pve/lxc/VM-ID.conf

#add /dev/sdb
lxc.cgroup.devices.allow = b 8:16 rwm
#add /dev/sdb1 (with ext4 partition)
lxc.cgroup.devices.allow = b 8:17 rwm

Im Anschluss den Container starten und zum testen von Hand die Blockdevices im Container anlegen.

mknod -m 666 /dev/sdb b 8 16
mknod -m 666 /dev/sdb1 b 8 17

Nun sollte man mittels

mount /dev/sdb1 /mnt/

die Festplatte im Container einbinden können und darauf Zugriff haben.

Die Feinheiten

Leider sind die Blockdevices nur temporär. Sobald man den Container neu startet sind die Blockdevices verschwunden. Ein kleines Hook Skript hilft und hier weiter

Script anlegen

/var/lib/lxc/101/mount-hook.sh

#!/bin/sh
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb b 8 16
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb1 b 8 17

Das Skript im Anschluss ausführbar machen:

chmod 755 /var/lib/lxc/101/mount-hook.sh

Nun muss das Skript nur noch dem Container bekannt gemacht werden. Dafür in der /etc/pve/lxc/VM-ID.conf folgende Zeilen noch eintragen.

lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/101/mount-hook.sh

Die Festplatte sollte nun automatisch in den Container eingebunden werden.

it-wiki/proxmox/hdd_passthrough.1580653752.txt.gz · Zuletzt geändert: 2020/02/02 14:29 von marko