FreeBSD jails cz.3
Ostatnia cześć cyklu FreeBSD jails poświęcona zostanie niezmiennie systemowi ZFS tym razem system ten zagości wewnątrz jails’a, omówieniu narzędzia cpuset oraz drobnym ustawieniom sieci…
W poprzedniej części cyklu system ZFS królował w systemie gospodarza, jednak jego panowanie rozszerzyć łatwo można na systemy jails-gości. W tym celu należy:
na wybranym systemie ustawić właściwość jailed:
# zfs set jailed=on jail/jail1_mount
w konfiguracji ezjail wybranego jails’a zmodyfikować ustawienia devfs’a:
export jail_jail1_devfs_enable="YES"
export jail_jail1_devfs_ruleset="zfsenable"
odzwierciedlić tę zmianę w konfiguracji devfs w /etc/devfs.rules, tak aby /dev/zfs był widoczny z poziomu jails’a,:
:::bash
[zfsenable=10]
add path 'zfs' unhide
następnie należy umożliwić montowanie systemu plików wewnątrz jails’a:
# sysctl security.jail.enforce_statfs=0
# sysctl security.jail.mount_allowed=1
wystarczy teraz uruchomić wybranego jails’a, po uruchomieniu dokonfigurować zfs’a:
# zfs jail <jailid> jail/jail1_mount
na sam koniec sprawdźmy czy osiągneliśmy zakładany cel:
:::bash
jail1# zfs list
NAME USED AVAIL REFER MOUNTPOINT
jail 161M 2.78G 24K none
jail/jail1_mount 36K 2.78G 18K none
Niestety część ustawień nie przetrwa restartu maszyny gospodarza i tak co uruchomienie jails’a musimy posiłkować się poleceniem zfs jail <jailid>…
Do ograniczenia zbyt swawolnych instancji jails możemy skorzystać z narzędzia cpuset służącego do bind’owania konkretnego fizycznego procesora do konkretnego jails’a i tak:
# cpuset -l 0 -j 4
procesor oznaczony numerem 0 zostanie przypisany do jails’a o id 4.
Jak wspominałem w pierwszej cześci cyklu do wybranego jails’a możemy przypisać więcej niż jeden adres IP, kolejne adresy wystarczy dopisać do konfiguracji podając je po przecinku. Ciekawą opcją jest współdzielenie jednego adresu IP przez kilka jails’ów pod warunkiem, że nie ma usług nasłuchujących na tych samych portach.
Zaś dla tych którzy wewnątrz jails chcą korzystać z narzędzi takich jak ping badź traceroute należy ustawić:
# sysctl -a security.jail.allow_raw_sockets=1
W tym miejscu przygoda z FreeBSD jails na łamach tego blog’a i w tym cyklu dobiega końca. Tym którzy dobrnęli do tego miejsca chciałbym podziękować, licząc jednocześnie na Wasze doświadczenia oraz przemyślenia.
powered by Hugo and Noteworthy theme