Mount fyzického disku do kontejneru v Proxmox

Mount fyzického disku do kontejneru v Proxmox
« kdy: 17. 05. 2018, 12:31:33 »
Uz asi 2 hodiny hladam info ako mountnut fyzicky HDD do LXC.
Situacia je taka:
Proxmox bezi na SSD 120GB kde mam 1xKVM a 1xLXC (debian 9)
Dalej mam na SATA pripojeny 1x HDD 3TB (kde mam data)
Vypis z fdisk -l
Kód: [Vybrat]
Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 22833A69-5D98-49B5-807E-B78F5BFBB3F5

Device      Start       End   Sectors   Size Type
/dev/sda1    2048      4095      2048     1M BIOS boot
/dev/sda2    4096    528383    524288   256M EFI System
/dev/sda3  528384 234441614 233913231 111.6G Linux LVM


Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 5056645A-1863-4B71-B161-4FFDAE4CD61C

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 5860532223 5860530176  2.7T Linux filesystem


Disk /dev/mapper/pve-swap: 7 GiB, 7516192768 bytes, 14680064 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/pve-root: 27.8 GiB, 29796335616 bytes, 58195968 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/pve-vm--100--disk--1: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes
Disklabel type: dos
Disk identifier: 0x9812f6a1

Device                                 Boot  Start      End  Sectors  Size Id Type
/dev/mapper/pve-vm--100--disk--1-part1 *      2048   499711   497664  243M 83 Linux
/dev/mapper/pve-vm--100--disk--1-part2      501758 16775167 16273410  7.8G  5 Extended
/dev/mapper/pve-vm--100--disk--1-part5      501760 16775167 16273408  7.8G 8e Linux LVM

Partition 2 does not start on physical sector boundary.


Disk /dev/mapper/pve-vm--101--disk--1: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes
Jedna sa o /dev/sdb
Je to vidiet aj na web klikatku
https://imgur.com/a/zDHACBF
Skusil som ho do kontajnera pridat, ale nikde ho nevidim (asi nieco nerobim spravne)
Kód: [Vybrat]
lxc-device add -n 101 /dev/sdbNema niekto skusenosti ako pridat (mountnut) HDD do kontajnera ?
« Poslední změna: 17. 05. 2018, 13:00:33 od Petr Krčmář »


parnikotel

Re:mount fyzickeho disku do kontajnera (proxmox)
« Odpověď #1 kdy: 17. 05. 2018, 12:48:25 »
Už jsem to řešil taky. Musíš to udělat pomocí bind mount: https://pve.proxmox.com/wiki/Unprivileged_LXC_containers
V GUI to zatím nenaklikáš, je nutné upravit konfigurák kontejneru.

Re:Mount fyzického disku do kontejneru v Proxmox
« Odpověď #2 kdy: 17. 05. 2018, 15:16:11 »
Skusil som to podla toho navodu
Kód: [Vybrat]
ls -al /dev/sdb
brw-rw---- 1 root disk 8, 16 May 17  2018 /dev/sdb
pridal som do konfiguraku kontajnera na koniec
Kód: [Vybrat]
nano /etc/pve/nodes/proxmox/lxc/100.conftieto 2 riadky
Kód: [Vybrat]
lxc.aa_profile = lxc-container-default-with-mounting
lxc.cgroup.devices.allow = b 8:16 rwm
a v kontajnery som spusil mknod
Kód: [Vybrat]
mknod -m 666 /dev/sdb b 8 16
mknod: /dev/sdb: File exists
chlapik uz v prvom prispevku pise, ze mu to funguje, ale po restarte to uz nefunguje.
Ako zistim, ci mam hdd pripojeny ?
Kód: [Vybrat]
mount /dev/sdb /media
mount: /dev/sdb is write-protected, mounting read-only
mount: cannot mount /dev/sdb read-only
Poznamka:
Momentalne skusam pripojit HDD kde mam OS multiboot (tak nechcem tam sachovat s pravami).
Zajtra budem mat disk (ext4) kde su len data, tak ho skusim mountnut (resp. cez bind)

parnikotel

Re:Mount fyzického disku do kontejneru v Proxmox
« Odpověď #3 kdy: 17. 05. 2018, 16:20:37 »
I v tom diskusním fóru píše:
Citace
am not sure why you are passing through a block device from the host like this, you can just use

Code:
mp0: /dev/sdc1,mp=/mnt/timeshift,backup=0

instead.

Re:Mount fyzického disku do kontejneru v Proxmox
« Odpověď #4 kdy: 18. 05. 2018, 10:49:13 »
Vies mi popisat postup ako si to mountol ?


parnikotel

Re:Mount fyzického disku do kontejneru v Proxmox
« Odpověď #5 kdy: 18. 05. 2018, 14:04:06 »
Mount jsem udělal přes fstab na host do /mnt/disk
A pak tuto složku přes ten bind mount do kontejneru.
Není to klasické dání HW přímo do VM, jak chceš ty do LXC, ale funguje to.
Oficiální vyjádření pro tvůj případ je stejně:
Citace
run the whole thing in a VM, and use regular disk passthrough.

Re:Mount fyzického disku do kontejneru v Proxmox
« Odpověď #6 kdy: 06. 06. 2018, 10:12:31 »
Tak nakoniec sa mi podarilo mountnut fyzicky disk /dev/sdb do LXC aj s automountom pri starte systemu.
Isiel som znova podla toho isteho navodu https://forum.proxmox.com/threads/container-with-physical-disk.42280/
Konfiguraky:
Kód: [Vybrat]
nano /etc/apparmor.d/lxc/lxc-default-with-mounting-cgnsobsah:
Kód: [Vybrat]
# Do not load this file.  Rather, load /etc/apparmor.d/lxc-containers, which
# will source all profiles under /etc/apparmor.d/lxc

profile lxc-default-with-mounting-cgns flags=(attach_disconnected,mediate_deleted) {
  #include <abstractions/lxc/container-base>

# allow standard blockdevtypes.
# The concern here is in-kernel superblock parsers bringing down the
# host with bad data.  However, we continue to disallow proc, sys, securityfs,
# etc to nonstandard locations.
  mount fstype=cgroup -> /sys/fs/cgroup/**,
  mount fstype=ext*,
  mount fstype=xfs,
  mount fstype=btrfs,
}
Kód: [Vybrat]
nano /etc/pve/lxc/101.confobsah:
Kód: [Vybrat]
arch: amd64
cores: 1
hostname: web-debian
memory: 1024
net0: name=eth0,bridge=vmbr0,gw=192.168.1.1,hwaddr=9E:43:6D:25:D9:CB,ip=192.168.1.101/24,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-101-disk-2,size=32G
swap: 1024
lxc.apparmor.profile: lxc-default-with-mounting-cgns
lxc.cgroup.devices.allow = b 8:16 rwm
lxc.cgroup.devices.allow = b 8:17 rwm
mp0: /dev/sdb1,mp=/mnt/sdb,backup=0
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/101/mount-hook.sh
a skript na mount pri starte:
Kód: [Vybrat]
nano /var/lib/lxc/101/mount-hook.shobsah:
Kód: [Vybrat]
#!/bin/sh
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb b 8 16
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb1 b 8 17
privilegia na spustenie
Kód: [Vybrat]
chmod 755 /var/lib/lxc/101/mount-hook.shhadam to niekomu pomoze