Jak zamienić w kontenerze dataset na lofs

Ponieważ konfiguruję system pocztowy, potrzebuję wyeksportować filesystem ZFS przez NFS do innego noda, gdzie postfix poprzez delivera będzie zapisywał wiadomości do skrzynek. Jak widać w tym zapisie sesji, skonfigurowałem całą zpoole „studmail” jako dataset ZFS dla kontenera st1. Niestety w prosty sposób nie da się współdzielić systemu plików ZFS przez NFS w kontenerze (non-global):

root@st1:~# zfs list
NAME                         USED  AVAIL  REFER  MOUNTPOINT
studmail                     301M  1.78T  28.0K  none
studmail/etc                4.52M  1.78T  4.19M  /data/etc
studmail/studmail            480K  1.78T   417K  /data/studmail
studmail/var                 296M  1.78T   294M  /data/var

root@st1:~# zfs set sharenfs=rw=@192.168.X.X/32,anon=0 studmail/studmail
cannot set property for 'studmail/studmail': 'sharenfs' cannot be set in a non-global zone

Instalacja i konfiguracja kontenera (Solaris zone)

Dodałem dwie, całkiem spore strony dotyczące instalacji i konfiguracji kontenera w systemie Solaris 10. Ja jak zwykle działam na zasadzie „lepszy przykład niż wykład”, dlatego też jest tam wrzucony niemal cały zapis z sesji terminala, na którym dokonywałem tej instalacji. Zapraszam do lektury i ewentualnych komentarzy i/lub pytań. Zacznijcie stąd: 04. Kontenery (Solaris zones)

04.02 Konfiguracja kontenera st1

Po instalacji kontenera i wstępnym skonfigurowaniu środowiska, sieci itp. czas przyjrzeć się temu co domyślnie działa i wyłączyć zbędne usługi. Wcześniej jednak ustawię sobie wygodniejsze środowisko do pracy zmieniając shella i katalog domowy roota. Użyję do tego GNU seda (gsed), którego już wcześniej polecałem zainstalować wraz z innymi narzędziami GNU ułatwiającymi pracę. Pamiętacie mam nadzieję, że /usr/local jest dziedziczone ze strefy globalnej w trybie tylko do odczytu.

04.01 Instalacja kontenera st1

Tworzenie kontenera o nazwie st1, bez kontroli zasobów, z dziedziczonymi katalogami standardowymi i dodatkowo z dziedziczonym /usr/local (w trybie tylko do odczytu). Skonfigurowane dwie karty sieciowe: qfe4 i qfe5 w trybie współdzielonym oraz dodana pula ZFS (zpool) o nazwie studmail.

04. Kontenery (Solaris zones)

Solaris 10 posiada wbudowany mechanizm swego rodzaju wirtualizacji, który nazywa się Solaris Zones. Mechanizm ten pozwala nie tylko na stworzenie tzw. jaila ale także na kontrolę zasobów, które dana strefa (zone) może wykorzystywać. Ja nie będę pisał o samym mechanizmie, bo to można znaleźć w obszernej dokumentacji na stronach Sun/Oracle i różnych blogach. Podam Wam proste przykłady jak szybko taki kontener skonfigurować i zainstalować.

01.03. Custom JumpStart

Custom JumpStart to obecnie najczęściej wykorzystywany przeze mnie sposób instalacji Solarisa. Polega on na przygotowaniu serwera instalacji i zdefiniowaniu reguł dla poszczególnych klientów. Klientów możemy rozróżniać ze względu na architekturę, ilość pamięci RAM, ilość i/lub pojemność dysków itp. itd. Można też zrobić reguły dla konkretnych klientów, identyfikując ich np. po nazwie albo adresie IP. Zbiór słów kluczowych dla reguł można znaleźć w dokumentacji. Custom JumpStart jest rewelacyjnym sposobem instalacji jeśli mamy kilka(naście/set/tysięcy) maszyn do instalacji i/lub chcemy mieć taką samą konfigurację.

freeradius-server-2.1.3

Ogólnie rzecz biorąc można napisać, że freeradius-server-2.1.3, który ponoć jest najpopularniejszym serwerem RADIUS na świecie, nie jest zbyt dobrze przystosowany do kompilacji na systemie Solaris 10. Wprawdzie skrypt ’configure’ niby sprawdza co trzeba i przechodzi bez większych boleści, to jednak na etapie kompilacji/linkowania pojawiają się problemy. Pierwszy który napotkałem, to taki, że Solarisowy ’dmake’ (o … Read more

03.04. Kompilacja ze źródeł

Są różne sposoby instalacji oprogramowania usługowego na systemach UNIX/Linux, są systemy pakietów i praktycznie każda dystrybucja ma swój własny, mniej lub bardziej podobny do innych. Solaris też posiada system pakietów, ja jednak wolę instalować oprogramowanie usługowe ze źródeł i kompilować je samodzielnie ustawiając opcje konfiguracyjne i optymalizacyjne. W tym rozdziale znajdziecie transkrypcje sesji kompilacji różnego rodzaju oprogramowania wraz z krótkim komentarzem.

03. Oprogramowanie dodatkowe

Skoro mamy już zainstalowany system operacyjny i ewentualnie pakiet kompilatorów, to możemy przystąpić do instalacji oprogramowania dodatkowego czyli aplikacji lub serwerów usługowych, które będą działać na serwerze lub klastrze. Jest kilka sposobów instalacji takiego oprogramowania, mogą to być gotowe pakiety od Sun, mogą to być pakiety dostarczone przez społeczność lub firmy trzecie, skompresowane binaria, tudzież źródła, które należy rozpakować i skompilować.

02. Oprogramowanie systemowe

Po instalacji systemu operacyjnego zwykle instalujemy jeszcze jakieś oprogramowanie dodatkowe. Ja instaluję przede wszystkim SunStudio, czyli narzędzia developerskie i kompilatory udostępniane przez firmę Sun. Jeśli stawiamy klaster, to potrzebny nam też będzie Solaris Cluster i powiązane pakiety.