FreeBSD jails cz.3

Sat 24 October 2009 by admin

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,:

[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:

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.


FreeBSD jails cz.2

Sun 18 October 2009 by admin

W drugiej części cyklu FreeBSD jails postaram się przybliżyć współpracę narzędzia ezjail z systemem plików ZFS.

Począwszy od wersji FreeBSD 8.0 RC1 implementacja ZFS straciła status eksperymentalnej, o czym możemy się przekonać czytając raport prac za okres 2009-04 -- 2009-09:

We believe that the ZFS file system is now production-ready ...

read more

FreeBSD jails cz.1

Sun 11 October 2009 by admin

Tym wpisem zapoczątkowuje kilku odcinkową serię poświeconą usłudze jails w systemie FreeBSD. W pierwszej części po krótkim omówieniu zagadnienia postaram się przybliżyć narzędzie ezjail wspomagające zarządzenie system jails.

Począwszy od wersji 4.0 we FreeBSD pojawia się opcja jails wirtualizacji na poziomie samego systemu operacyjnego czyli tworzenia niezależnych systemów w ...

read more