Fórum Root.cz
Hlavní témata => Server => Téma založeno: darebacik 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
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)
lxc-device add -n 101 /dev/sdb
Nema niekto skusenosti ako pridat (mountnut) HDD do kontajnera ?
-
Už jsem to řešil taky. Musíš to udělat pomocí bind mount: https://pve.proxmox.com/wiki/Unprivileged_LXC_containers (https://pve.proxmox.com/wiki/Unprivileged_LXC_containers)
V GUI to zatím nenaklikáš, je nutné upravit konfigurák kontejneru.
-
Skusil som to podla toho navodu (https://forum.proxmox.com/threads/lxc-cannot-assign-a-block-device-to-container.23256/)
ls -al /dev/sdb
brw-rw---- 1 root disk 8, 16 May 17 2018 /dev/sdb
pridal som do konfiguraku kontajnera na koniec
nano /etc/pve/nodes/proxmox/lxc/100.conf
tieto 2 riadky
lxc.aa_profile = lxc-container-default-with-mounting
lxc.cgroup.devices.allow = b 8:16 rwm
a v kontajnery som spusil mknod
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 ?
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)
-
I v tom diskusním fóru píše:
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.
-
Vies mi popisat postup ako si to mountol ?
-
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ě: run the whole thing in a VM, and use regular disk passthrough.
-
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:
nano /etc/apparmor.d/lxc/lxc-default-with-mounting-cgns
obsah:
# 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,
}
nano /etc/pve/lxc/101.conf
obsah:
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:
nano /var/lib/lxc/101/mount-hook.sh
obsah:
#!/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
chmod 755 /var/lib/lxc/101/mount-hook.sh
hadam to niekomu pomoze