Alpine 3.21.0 - (r)shared mount elerheto!

Fórumok

Sziasztok!

 

Most hogy végre bekerult a OpenRC >= 0.55 az Alpine-ba, végre lehetséges egy mount pointot FStab-al (r)shared-re allitani. Mivel en Az Alpinet Docker Node-nak hasznalom, ezert ez szamomra reg vart feature.

 

Viszont , nem teljesen ertem a dolgot... 

Alapvetoen csak egy konyvtarat szeretnek rshared-re allitani, amit Docker volume-oknak hasznalok (/mnt/storage)

 

Probaltam ezt az egy konyvtarat ujra mountoltatni, de sajna nem veszi fel az rshared option-t. Ha a teljes gyoker particiot rshared-e teszem, akkor nincs gond, ugy mukodik, illetve ha manualisan futtatom a mount --make-rshared /mnt/storage  -t akkor is mukodik.

 

Lehet valahogy ezt fstab-al automatizani? (scriptet nem akarok futtatni boot kozben!)

Hozzászólások

Igy nem mukodik:

UUID=5cf2c048-42be-4226-8dc4-3516ce11db2b       /       ext4    rw,relatime 0 1        
UUID=a99e18be-03ad-4033-b943-6e03fda03755       /boot   ext4    rw,relatime 0 2
UUID=6dd0cef4-69c0-4782-9563-26e04f08e36b       swap    swap    defaults        0 0
# data was on /dev/sdb
UUID=9c9adb5f-ebea-4bed-9973-4a3f67f3b52a /mnt/adat       ext4   defaults   0       1
# mount with rshared                                 
/mnt/storage /mnt/storage none bind,rw,relatime,rshared 0 0
/dev/cdrom      /media/cdrom    iso9660 noauto,ro 0 0
/dev/usbdisk    /media/usb      vfat    noauto  0 0
tmpfs   /tmp    tmpfs   nosuid,nodev    0       0

 

Igy mukodik

UUID=5cf2c048-42be-4226-8dc4-3516ce11db2b       /       ext4    rw,relatime,rshared 0 1
UUID=a99e18be-03ad-4033-b943-6e03fda03755       /boot   ext4    rw,relatime 0 2
UUID=6dd0cef4-69c0-4782-9563-26e04f08e36b       swap    swap    defaults        0 0
# data was on /dev/sdb
UUID=9c9adb5f-ebea-4bed-9973-4a3f67f3b52a /mnt/adat       ext4   defaults   0       1
/dev/cdrom      /media/cdrom    iso9660 noauto,ro 0 0
/dev/usbdisk    /media/usb      vfat    noauto  0 0
tmpfs   /tmp    tmpfs   nosuid,nodev    0       0

Nem értek hozzá, de a mount-opciók nem a kernelhez tartoznak?

Nem lehet hogy docker/k8s a hosts-hoz hasonloan az fstab-ot is manipulálja? 

Nem ertem mit szeretnel. A mount shared opcio arra van, hogy tukrozd egy mount tartalmat. Mondjuk a /home mount jelenjen meg a /mnt/home alatt. AMugy ennek semmi koze az OpenRC-hez, ez kernel szintu dolog ahogy irtak is.

Mit szeretnel pontosan? 

* Megsharelni a docker volume-okayt tartalmazo konyvtarat valakivel, valamivel a neten? (mivel az a konyvtar lokalisan ugye elerheto, szoval nincs szukseg share-re)

* Shared docker volumeokat akarsz, hogy megoszthasd oket a kontenerek kozott (egyszerre irhassak)? Mert ennek az a feltetele, hogy maga a filesystem amire csinalod shared legyen es tudja kezelni a tobb iranybol erkezo lock-okat (maga a Docker nem fog ezzel torodni)

Utobbi. Itt kifejtik kicsit jobban, miert kellett ez a modositas, pl OpenRC-hez is.

 

https://gitlab.alpinelinux.org/alpine/tsc/-/issues/42

 

Nalam pl egy rclone mountot kene felcsatolni, ahol meg is kapom a hibauzenetet hogy nem shared a mount.

 

Amit en szeretnek egy filerendszer, ami a legkozelebb all az alpine default beallitasahoz (tehan nem shared) de egy adott pontjat ujra-mountolnam, shared-kent. Ha ezt command line bol csinalom, mukodik, de fstab bol nem

Akik azt írták, hogy a kernel kezeli, azok tévedtek. Valójában az van, hogy a mount opciókat nem egységesen kezeli a kernel, hanem minden egyes fájlrendszermeghajtóban külön-külön leduplikálják őket... És néha kifelejtik innen-onnan az új opciót, mint látszik.

Emiatt van az, hogy az első eseteben (mikor "none" a fájlrendszermeghajtó és "bind" opció is van), akkor nem működik az rshared, míg a második esetben (amikor "ext4" a fájlrendszermeghajtó), akkor viszont igen. Szóval a kérdés nem az, hogy "/mnt/storage" vagy "/", hanem a fájlrendszermeghajtó. Ha egy rendes felcsatolást csinálsz "/mnt/storage" alá és nem bind-ot, akkor ott is működni fog az rshared.