Blog Viewer

LinkedIn Share on LinkedIn

Wprowadzenie do AIX

By Michal Wiktorek posted Tue November 26, 2024 08:16 PM

  

English version of this article: https://community.ibm.com/community/user/blogs/michal-wiktorek/2024/11/27/introduction-to-aix

Wstęp

W świecie technologii systemy Unixowe często kojarzą się jako skomplikowane, przeznaczone wyłącznie dla wąskiej grupy specjalistów o zaawansowanej wiedzy. IBM AIX, czyli jeden z najbardziej dojrzałych i stabilnych systemów Unix, bywa postrzegany jako trudny do opanowania. W mojej ocenie jednak rzeczywistość jest inna. AIX, przy odpowiednim podejściu, może okazać się całkiem przystępny, nawet dla osób, które dopiero zaczynają swoją przygodę z administracją systemami, a tym co najbardziej zniechęca do korzystania z niego, jest strach przez czymś nieznanym i niszowym w porównaniu np. do popularnego Linuxa.

W tym artykule przyjrzymy się podstawom AIX, pokazując, że zrozumienie jego funkcji i mechanizmów wcale nie musi być wielkim wyzwaniem. Poznasz kluczowe pojęcia, dowiesz się, jak szybko zacząć efektywnie pracować z tym systemem i przede wszystkim: od czego właściwie zacząć. Niezależnie od tego, czy jesteś nowicjuszem, czy doświadczonym administratorem systemów, AIX może stać się Twoim sprzymierzeńcem w codziennej pracy.

Warto zdawać sobie sprawę, że AIX to system klasy enterprise, od podstaw projektowany dla serwerów. O ile dystrybucje Linux na serwerach mają często wiele wspólnego z rozwiązaniami dla Desktopów i wspólne repozytoria oprogramowania, to AIX jest pozbawiony takich rzeczy jak np. obsługa dźwięku, bluetooth, WIFI itp. ponieważ nie jest to potrzebne. 

AIX jest minimalistyczny, pozbawiony zbędnego oprogramowania i jakiegokolwiek bloatware, dlatego że ma działać stabilnie i zapewnić ciągłość pracy systemów krytycznych dla biznesu. 

Podstawowe informacje

System AIX (Advanced Interactive eXecutive) jest systemem operacyjnym z rodziny UNIX, stworzonym przez firmę IBM i jest wykorzystywany przede wszystkim do użytku w środowiskach korporacyjnych. AIX jest przeznaczony do działania tylko na serwerach IBM Power i został zaprojektowany jako system ściśle współpracujący z wirtualizacją PowerVM i architekturą procesora Power. 

Z jednej strony AIX jest bardzo zaawansowanym systemem, a z drugiej strony ma wiele usprawnień, przez które codzienna praca z nim może być przyjemniejsza w porównaniu do wielu innych systemów operacyjnych. 

Komendy typowe dla AIX są dość logiczne. Większość poleceń do wyświetlania, zaczyna się od "ls" (list), komendy które mają coś zmienić w systemie od "ch" (change), a komendy które służą do usuwania "rm" (remove).

Istnieje wiele czynności, które w AIX wymagają wykonania jednego polecenia, podczas gdy wykonanie tego samego na dystrybucji Linux wymaga kilku działań. Jest to odczuwalne zwłaszcza przy wykrywaniu nowych urządzeń, pracy z macierzami SAN i zarządzaniu przestrzenią systemów plików.
Administratorzy mają do dyspozycji również narzędzie SMIT (opisane w dalszej części artykułu), które pozwala na wykonanie wielu czynności administracyjnych, nawet wtedy, gdy nie mamy wiedzy o tym, jakich poleceń należy użyć w danym przypadku.

Administrację i automatyzację znacząco usprawnia korzystanie z gotowych kolekcji Ansible dedykowanych dla AIX (https://galaxy.ansible.com/ui/repo/published/ibm/power_aix). Zdecydowanie warto z nich korzystać i uczyć się ich używania nawet na początku nauki administracji AIX, zwłaszcza jeśli w organizacji mamy do dyspozycji Ansible Automation Platform lub AWX, które być może są wykorzystywane już do automatyzacji innych systemów.
AIX działa na serwerach i architekturze Power, dlatego został zoptymalizowany do działania w tej technologii. Dzięki temu, istnieje obsługa aż 8 wątków procesora, dlatego należy na to zwracać uwagę przy analizie obciążenia CPU, zwłaszcza na początku nauki pracy z AIX-em. W przypadku np. 8 CPU przypisanych do systemu i ustawieniu SMT-8 (8 wątków), w systemie widoczne będą aż 64 logiczne procesory, co może być nieco dezorientujące dla uczących się administratorów. Istnieje możliwość pracy nie tylko w 8 wątkach, ale również 4, 2 oraz w trybie pracy z wyłączoną wielowątkowością, a ustawienie SMT (Simultaneous Multithreading) może być zmieniane online.

Warto wiedzieć, że AIX w zdecydowanej większości przypadków działa w ramach wirtualizacji PowerVM, dlatego jest zazwyczaj uruchamiany w ramach LPAR-a (Logical Partition, czyli maszyny wirtualnej), a zasoby takie jak np. CPU i RAM mogą być dynamicznie przydzielane i zabierane.

Wersje systemu AIX

Obecnie rozwijane wersje to AIX 7.2 i AIX 7.3. Obydwa te systemy na dzień pisania artykułu są wspierane i rozwijane przez dostawcę, czyli IBM.

Do istotnych obowiązków administratorów należy utrzymanie odpowiedniej wersji AIX, ponieważ są one ściśle związane z obsługą zgłoszeń przez IBM. Posiadanie systemu AIX w przestarzałej wersji, która już nie jest wspierana, wiąże się z tym że IBM ma prawo odrzucić zgłoszenie serwisowe.

Utrzymanie możliwości serwisu dla systemu AIX to konieczność i nie należy tego lekceważyć. Niezależnie od tego jak bardzo dużą wiedzę i doświadczenie mają administratorzy danego systemu, zawsze istnieje ryzyko że może się pojawić bug lub problem którego nie da się rozwiązać bez pomocy serwisu IBM i np. dedykowanej poprawki lub rekomendacji zmiany konfiguracyjnej.

Daty końca wsparcia można śledzić na stronach: 

End of Fix Support (EoFS) https://www.ibm.com/support/pages/aix-support-lifecycle-information

End of Service (EOS) : https://www.ibm.com/support/lifecycle/search?q=AIX%20Standard%20Edition

source: IBM AIX operating system for IBM Power (ibm.com/downloads/cas/O1YP5RYZ)

Wersję systemu AIX można sprawdzić poleceniem oslevel -s. Przykładowy output polecenie może być następujący:

# oslevel -s
7300-02-02-2420

Co oznacza ten wynik?

  • 7300 - określa wersję systemu AIX. W tym przypadku 7.3
  • 02 - poziom technologiczny systemu (Technology Level), czyli 2
  • 02 - poziom Service Pack, czyli 2
  • 2420 - "build sequence identifier", który określa rok i tydzień wydania, czyli 20 tydzień 2024 roku

W systemie IBM AIX terminy Technology Level (TL) i Service Pack (SP) odnoszą się do różnych poziomów aktualizacji i wsparcia systemu operacyjnego.

  • Technology Level to duże, regularnie wydawane aktualizacje systemu AIX, które wprowadzają nowe funkcje, usprawnienia wydajności, poprawki bezpieczeństwa i ulepszenia zgodności.
  • Service Pack to zestawy aktualizacji, które zawierają poprawki błędów i łaty bezpieczeństwa dla konkretnego poziomu TL.

Oprócz tego istnieją poprawki tymczasowe czyli iFix (Interim Fix), czyli indywidualne poprawki wydane w odpowiedzi na konkretny problem, zanim zostanie uwzględniony w kolejnym TL lub SP.

Skąd czerpać wiedzę?

Początkujący administratorzy często mają problem z pozyskaniem źródeł informacji, dlatego poniżej wymieniłem te, które wydają mi się najbardziej sensowne. Warto pamiętać że zawsze w sposób nadrzędny należy traktować oficjalną dokumentację IBM.

Materiałów jest całkiem sporo, dlatego żeby nie być przytłoczonym nadmiarem informacji, polecam w pierwszej kolejności książkę Sebastiana Biedronia oraz naukę poprzez pracę z systemem.

W przypadku gdy masz dostęp do systemu AIX, warto skorzystać z podstawowych poleceń administracyjnych opisanych poniżej, bo najbardziej efektywną nauką jest połączenie teorii z praktyką.

Nauka przez praktykę, czyli praca z systemem

Jeśli masz dostęp do AIX-a w ramach np. chmury PowerVS, lub znienacka zostałeś szczęśliwym administratorem produkcyjnego systemu na którym działają krytyczne usługi w Twojej organizacji, to zdecydowanie warto poznawać podstawy zaznajamiając się z wynikami podstawowych poleceń i narzędziami.
Jakie polecenia na początek można wykonać na systemie, tak żeby mu nie zaszkodzić? Na początek proponuję poniższy zestaw

  • Podstawowe informacje o danym systemie AIX
    • uname -a  - hostname systemu Displays the system name, nodename, version, machine ID.
    • df -g - informacje o zajętości systemów plików (znane z Linux, jednak zamiast opcji -h używamy np. -g (GB) lub -m (MB). Warto zapoznać się z rolą widocznych Filesystemów przez sprawdzenie ich opisu w dokumentacji:https://www.ibm.com/docs/en/aix/7.3?topic=tree-file-system-structure)
    • oslevel -s - wersja systemu AIX, poziom technologiczny, zainstalowany Service Pack
    • prtconf   - informacje m.in. o modelu serwera, generacji procesora, liczbie przypisanych zasobów CPU i RAM
    • lparstat -i - nazwa i parametry LPAR-a 
    • lssrc -a  - wyświetlenie stanu wszystkich podsystemów
  • polecenia standardu POSIX, np. ls, cat, grep, cd, pwd , czyli znane administratorom i użytkownikom Linux oraz Unix (https://en.wikipedia.org/wiki/List_of_POSIX_commands)
  • monitorowanie obciążenia systemu, procesów
  • dyski, LVM oraz systemy plików
    • lspv -u - Physical Volumes, wraz z numerami UID
    • lsvg - wyświetlenie Volume Group
    • lslv XXX - informacje o wolumenie logicznym XXX 
    • lsfs - wylistowanie Filesystemów
    • mount - wyświetlenie zamontowanych systemów plików 
    • lsps -a - wyświetlenie paging spaces
  • konfiguracja sieci
    • ifconfig -a - stan interfejsów sieciowych oraz nadane adresy IP
    • netstat -nr - tablica routingu
    • lsattr -El inet0 - parametry urządzenia inet0 i wpisy w tablicy routingu
    • lsattr -El en0 - parametry interfejsu en0
  • urządzenia i ich parametry
    • lsdev - wylistowanie urządzeń w systemie
    • lsdev -Cc adapter - wylistowanie adapterów
    • lscfg - wyświetlenie konfiguracji systemu i informacji o urządzeniach (VPD - vital product data)
  • Zainstalowane oprogramowanie
    • lslpp -L - wylistowanie zainstalowanych Filesetów, czyli pakietów oprogramowania
    • emgr -l - wylistowanie zainstalowanych iFix-ów
  • Dziennik zdarzeń
    • errpt -a - wylistowanie błędów i zdarzeń systemu AIX

Wyzwania administratora

Praca z AIX może się różnić w zależności od zakresu obowiązków danej jednostki organizacyjnej w Twojej firmie. W niektórych firmach istnieją zespoły administratorskie które zarządzają zarówno utrzymywaniem systemów jak i wirtualizacją PowerVM i serwerami fizycznymi, a w innych podział kompetencji może być rozdzielony na wiele różnych zespołów. 

  • Codzienna praca (utrzymanie i rozwój)
    • Obserwacja monitoringu i statystyk, reagowanie na zdarzenia dziennika systemowego, analizy wydajnościowe, tuning parametrów, tworzenie automatyzacji, utrzymywanie standardu konfiguracji, dodawanie zasobów
    • Praca z kodem, zwłaszcza gdy pracujemy w kulturze DevOps (Git, Ansible, CI/CD)
    • Dbanie o bezpieczeństwo, śledzenie podatności
  • Prace cykliczne
    • Podnoszenie wersji systemu AIX (Technology Level, Service Pack, instalacja iFix-ów), migracje AIX np. z wersji 7.2 do 7.3
  • Zmiany w infrastrukturze (np. wymiana macierzy dyskowej lub wymiana serwerów na wyższą generację)
    • Np. migracja danych na nową macierz dyskową na poziomie LVM, migrowanie LPAR-ów między maszynami fizycznymi
  • Zgłoszenia do serwisu IBM
    • zgłaszanie problemów, dostarczanie wymaganych danych do analizy, konsultacje, instalacja dostarczonych poprawek, stosowanie rekomendacji

Co powinien umieć administrator AIX?

  • umieć wykonać backup systemu i go odtworzyć
  • zainstalować poprawki iFix, podnieść wersję systemu do wyższego poziomu Technology Level, Service Pack
  • zarządzać przestrzenią dyskową
  • monitorować stan systemu
  • troubleshooting, analiza problemów wydajnościowych
  • stosowanie dobrych praktyk z zakresu bezpieczeństwa, dostosowanie systemu do wymogów bezpieczeństwa, hardening
  • dostosowanie systemu do wymagań aplikacji, np. dla bazy Oracle
  • automatyzacja powtarzalnych czynności
Warto już na początku przygody z AIX myśleć o automatyzacji oraz koncepcji utrzymywania infrastruktury jako kod, CI/CD i pracy w kulturze DevOps.

Narzędzie SMIT

SMIT, czyli System Management Interface Tool to interaktywne narzędzie dostępne z poziomu CLI, które pozwala wykonywać wiele rzeczy związanych z konfiguracją systemu AIX. Jest szczególnie przydatne dla początkujących administratorów, ale używają go również zaawansowani. Korzystanie ze SMIT-a pozwala uniknąć błędów w postaci literówek, wykonać czynność bez znajomości konkretnego polecenia i jest też po prostu wygodne. 


Struktura systemu plików

Katalogi w strukturze plików systemu mają swoje znaczenie. W przypadku systemu AIX część z nich to punkty montowania osobnych wolumenów logicznych, dzięki czemu są od siebie odseparowane, a np. zapchanie Filesystemu /tmp nie ma wpływu na wolną przestrzeń w ramach Filesystemu /usr.
Po więcej informacji o strukturze odsyłam do dokumentacji: https://www.ibm.com/docs/pl/aix/7.2?topic=tree-file-system-structure

  • / - Główny katalog systemu, czyli tzw. katalog root. Wszystkie inne systemy plików są montowane jako jego podkatalogi
  • /etc/ - Zawiera pliki konfiguracyjne systemu
  • /dev - Zawiera pliki urządzeń, zarówno sprzętowych, jak i wirtualnych
  • /usr/ - Przechowuje programy, biblioteki i pliki systemowe
  • /home - Przeznaczony dla katalogów domowych użytkowników
  • /opt - Przeznaczony na dodatkowe oprogramowanie, które nie jest częścią systemu operacyjnego
  • /tmp - Katalog używany dla danych tymczasowych
  • /var - Przechowuje dane zmienne, takie jak logi systemowe, pliki tymczasowe i bufory wydruku
  • /var/adm/ras - Katalog przeznaczony dla dzienników diagnostycznych AIX

LVM

Podstawą pracy z przestrzenią dyskową w systemie AIX jest LVM i zdecydowanie warto go znać.  Zapewnia elastyczność, redundancję i łatwość rozbudowy pamięci masowej, pozwalając na dynamiczne zmiany konfiguracji bez przerywania pracy systemu. Różni się od implementacji LVM-a znanej z HP-UX czy Linux, ale nazwy poleceń są w pewnym stopniu podobne (pvdisplay = lspv, vgextend = extendvg). Warto wiedzieć że w przypadku AIX-a, nie ma czegoś takiego jak partycje znane z dystrybucji Linux i systemów Windows, co jest też sporą zaletą.

  • PV (Physical Volume) - podstawowa jednostka w LVM, w przypadku AIX stanowiąca pojedynczy dysk, bez udziału klasycznej partycji. PV jest podstawą na której są budowane kolejne warstwy LVM
  • VG (Volume Group) - grupa wolumenów która łączy PV w jedną, logiczną całość. Jest podstawą do tworzenia LV
  • LV (Logical Volume) - Logiczny wolumen, który jest tworzony z przestrzeni dostępnej w VG i może stanowić podstawę dla Filesystemu lub SWAP
  • PP (Physical Partition) - Najmniejsza jednostka w LVM. Physical Patitions można porównać do "cegiełek" z których jest zbudowana przestrzeń PV.
  • Filesystem - system plików stanowi przestrzeń dla plików (w AIX zazwyczaj w formacie JFS lub JFS2), który można utworzyć na LV

Po więcej szczegółów odsyłam do dokumentacji: https://www.ibm.com/docs/en/aix/7.3?topic=management-logical-volume-manager

Edytor tekstu Vi

VI jest na tyle specyficznym i znanym edytorem tekstu w systemach Unix-owych, że dorobił się różnych żartów, np.:

"Jak wygenerować losowy ciąg znaków? Kazać użytkownikowi Windowsa wyjść z Vi"

"Już od 10 lat używam edytora Vi, głównie dlatego że nie wiem jak z niego wyjść"

Można go kochać lub nienawidzić, ale jego zdecydowaną zaletą jest to że jest dostępny praktycznie w każdym systemie Unix, dlatego każdy administrator AIX powinien go znać przynajmniej w podstawowym zakresie - https://www.ibm.com/docs/en/aix/7.2?topic=v-vi-command

Narzędzia do zabezpieczania systemu

W systemie AIX są dostępne narzędzia, których próżno szukać w innych systemach operacyjnych. Jednymi z najbardziej przydatnych są mksysb i alt_disk_copy, które pozwalają na utworzenie kopii systemu AIX. Warto je wykonywać przed każdą instalacją poprawek lub podniesieniem wersji systemu operacyjnego, w trakcie normalnego działania systemu.

alt_disk_copy

Narzędzie pozwala na klonowanie systemu AIX na alternatywny dysk, podłączony do tego samego LPAR-a. Klonowanie systemu umożliwia łatwy powrót do poprzedniego stanu w razie problemów, ponieważ przełączenie na alternatywny dysk odbywa się za pomocą restartu.

Przykład polecenia do wykonania kopii dysku systemowego, bez modyfikacji bootlisty:

alt_disk_copy -B -d hdiskX

mksysb
Narzędzie to służy do tworzenia pełnej kopii zapasowej systemu operacyjnego AIX. Oprócz możliwości odtworzenia systemu AIX w przypadku awarii, pozwala na stworzenie obrazu systemu, który można zainstalować na innym serwerze. Może być pomocne również w przypadku migracji na nowe serwery, np. jeśli nie jest możliwe wykonanie Live Partition Mobility. Należy zadbać by plik z obrazem mksysb został zabezpieczony w innym miejscu niż przestrzeń dyskowa naszego systemu operacyjnego.

Przykład polecenia do wykonania obrazu mksysb do pliku:

mksysb -i /backup/image_mksysb

Podstawy wirtualizacji PowerVM

Nie każdy administrator systemu AIX zajmuje się serwerami fizycznymi i wirtualizacją PowerVM, jednak warto przynajmniej znać poniższe pojęcia, choćby po to by móc się lepiej porozumiewać z zespołem administratorów odpowiedzialnym za warstwę wirtualizacji i sprzętu.
W celu zapoznania się z podstawowymi pojęciami wirtualizacji PowerVM, zachęcam do przeczytania mojego innego artykułu: https://www.linkedin.com/pulse/discover-power-ibm-wirtualizacja-powervm-michal-wiktorek-k0faf

  • Wirtualizacja procesora, m.in. Entitled Capacity i Virtual Processors
  • Profile LPAR-ów, czyli wartości minimum, desired, maximum, adaptery fizyczne/wirtualne, tryb kompatybilności procesora
  • Systemy VIOS
  • Konsola HMC
  • dostęp dyskowy, czyli NPIV vs vSCSI
  • wirtualizacja sieci: SEA, SR-IOV
  • Live Partition Mobility

Podsumowanie

W tym artykule starałem się wskazać istotne zagadnienia związane z administracją systemami AIX. Choć z początku mogą się wydawać trudne i zagmatwane, z czasem można zauważyć, że rzekoma trudność systemu AIX to często kwestia uprzedzeń lub braku znajomości podstaw. Ten potężny system operacyjny oferuje nie tylko stabilność i niezawodność, ale także intuicyjne narzędzia, które ułatwiają zarządzanie infrastrukturą IT. Kluczem jest podejście krok po kroku – stopniowe zgłębianie funkcji i możliwości systemu. Im więcej czasu poświęcisz na praktykę, tym bardziej docenisz elastyczność i wszechstronność AIX, dlatego warto próbować – z odpowiednimi zasobami i odrobiną cierpliwości system AIX może stać się Twoim ulubionym systemem operacyjnym, a jego zrozumienie przyniesie Ci wymierne korzyści w codziennej administracji i rozwoju zawodowym.

0 comments
25 views

Permalink