Skip to content


Lekcja 6: Pracując z Folderami

Foldery jfs

AIX posiada dwa rodzaje folderów, oryginalny zwany jfs oraz jego ulepszona wersja – jfs2. Tworząc folder typu jfs należy zastanowić się i wybrać odpowiednio dużą liczbę i-nodes gdyż może zaistnieć sytuacja gdzie folder pomimo posiadania wolnej pojemności nie będzie w stanie tworzyć nowych czy pozwalać na zwiększanie się pojemności istniejących plików. Zmniejszenie pojemności tego foldera nie jest możliwe bez jego zniszczenia. Tworząc folder typu jfs, musisz wiedzieć czy będą w nim przechowywane pliki większe niż 2gb. W ostatnim przypadku musisz użyć odpowiedniego określnika (duże pliki / big files).

Foldery jfs2

Ten rodzaj jest bez wątpliwości lepszy niż jego poprzednik (jfs). Zwiększanie i zmniejszanie jego pojemności może być wykonane w każdej chwili, niebezpieczeństwo wyczerpania się i-nodes nie istnieje ponieważ jfs2 ich nie używa. JFS2 przyniósł ze sobą dodatkowy rodzaj dziennika, który jest umieszczony w środku foldera (INLINE), i którego rozmiar dostosowuje się automatycznie do wielkości związanego z nim foldera jfs2. Posiada on również bogatą kolekcję charakterystyk, dających więcej możliwości dopasowania cech jego operacji i/o z ich odpowiednikami po stronie mieszczącej się w nim aplikacji (bazy danych, itp). Manipulacje jego rozmiarem mogą być przeprowadzone w jednostkach kb, mg oraz gb nie wymagając wyłączenia go z użycia (umount).

Tworzenie folderówCreating File Systems

Każdy folder spoczywa na swoim własnym tomie logicznym identycznego rodzaju. Tworząc folder można go przywiązać  do istniejącego, wolnego tomu logicznego. Polecenie tworzące folder w przypadku braku definicji tomu foldera, stworzy go samo. W ostatnim przypadku, także samo go nazwie (lv??).

Tworzenie folderów jfs

Nasze zadanie to stworzenie foldera typu jfs nazwanego /arcinfo o pojemności początkowej 1gb  w grupie której rozmiar bloku fizycznego wynosi 16mb.

Ile 16mb bloków wymaga 1gb folder?

(1024 * 1000 * 1000) / (1024 * 1000 * 16) = 62.5 ≈ 63

Folder używa część swojej pojemności na swoje własne cele. Chcąc mieć 1gb pojemność zwiększymy numer  bloków  do 64. Zakładając, że grupa ma wystarczającą liczbę wolnych bloków stworzymy tom logiczny tego foldera ożywając tą informacje. Jak sprawdzić, że grupa dysków ma wystarczającą liczbę wolnych bloków fizycznych? Wydaj polecenie ‘lsvg nazwa_grupy’. Poniżej, przedstawione są dane naszego przypadku.

lvarcinfo nazwa tomu
arcvg Nazwa grupy
64 liczba bloków (rozmiar tomu)
1 liczba luster
hdisk4 nazwa dysku do użycia

Posiadając potrzebną informację, należy wydać następujące polecenie:

mklv -y lvarcinvo arcvg 64 hdisk4

Skoro nie podaliśmy typu, polecenie mklv zrobi to samo wybierając jfs. Mając tom, jesteśmy gotowi stworzyć jego folder.Mając tom logiczny, jesteśmy gotowi przywiązania go do folderu.

crfs -d lvarcinfo -m /arcinfo -A yes

Nowy folder, będzie automatycznie gotowy do użytku z chwilą uruchomienia komputera (-A yes). Dzieli się on dziennikiem obecnym w grupie. Jeżeli był to pierwszy folder to jego żurnal (tom) został stworzony automatycznie przez Logical Volume Manager.

Tworzenie folderów jfs2

Folder jfs2 może być przywiązany tylko z tomem logicznym tego samego rodzaju.

mklv -t jfs2 -y lvarcinfo arcvg 64 hdisk4

Po stworzeniu tomu jfs2, jesteśmy gotowi związać z nim folder:After creating jfs2 logical volume, we are ready to create its jfs2 file system.

crfs -v jfs2 -d lvarcinfo -m /arcinfo -A yes -a logdevice=INLINE

Tym razem, folder jest wyposażony w INLINE żurnal. Zmniejsza to czas przesuwania głowic dysku i tym samym zwiększa to ‘przepust’ foldera.

Zwróć  uwagę, że po jego stworzeniu folder nie jest automatycznie gotowy do użytku. To jest możliwe dopiero po jego zamontowaniu. Rola polecenia ‘crfs’ ogranicz się tylko do stworzenia foldera.

Montowanie / Demontowanie foldera

Folder może być montowany (mount) automatycznie przez startujący system operacyjny lub po jego starcie przez administratora. Do montowania folderów używa się polecenia ‘mount’ z towarzyszącą mu nazwą foldera.

mount /lvarcinfo

Manager Tomów Logicznych (LVM) nie pozwoli na demontaż (unmount) foldera będącego w uzyciu. Wszystkie procesy (aplikacje) używające folder muszą być zatrzymane lub jeżeli jest to nie możliwe ich procesy korzystające z foldera muszą być usunięte (kill). Polecenie ‘umount’ demontuje folder.Logical Volume Manager will not allow to ‘unmount’ a file system in use. All processes (applications) using the folder must be stopped or if this is impossible the processes using the file system must be killed (kill). Command ‘umount’ unmounts file systems.

umount /lvarcinfo

Czasami zabicie procesu wydając polecenie ‘kill -9 PID (PID – numer procesu) nie przynosi oczekiwanego efektu – kernel automatycznie przywołuje go z powrotem do życia[1]. Wielu administratorów rozwiązuje to w następujacy sposób:

kill -9 proce_id;umount /nazwa_folderu

Używając poleceń ‘fuser’ oraz ‘lsvgfs’ można zdemontować wszystkie foldery danej grupy wydając następujące instrukcje bezpośrednio tłumaczowi poleceń (shell) lub po wpisaniu ich do pliku egzekując jego imię. Załóżmy że grupa zawierająca foldery, które należy zdemontować nazywa się test_vg..

root: > for fs in 'lsvgfs test_vg'
do
    fuser -kuxc $fs;umount $fs
done

test_vg – nazwa grupy dysków

Polecenie lsvgfs produkuje listę folderów podanej mu grupy, indywidualnie wpisując je w zmienną fs. Polecenie fuser zabija wszystkie procesy używające podany przez zmienną fs folder, który jest natychmiastowo demontowany nie dając kernelowi możliwości powołania go do życia (/etc/inittab).

Przypisywanie Folderów do Grup

Foldery mogą być członkami grup. To członkostwo może być nadane folderowi w czasie jego tworzenia lub później. Grupa folderów może być zrozumiana jako nazwany pojemnik, zawierający nazwy folderów.  Polecenie crfs używa do tego celu określnika ‘-u’, któremu towarzyszy nazwa grupy do której folder ma należeć. Grupa jest tworzona w chwili jej pierwszej deklaracji.

crfs -v jfs2 -d lvarcinfo -m /arcinfo -p rw -A yes -u arc -a logdevice=INLINE

Ostatnie polecenie tworzy folder /arcinfo na istniejącym tomie logicznym z dziennikiem rodzaju INLINE. Ten folder należy do grupy nazwanej arc. Wszystkie pozostałe foldery związane z tą samą aplikacją są doskonałymi kandydatami na członków tej grupy. Następny raz, kiedy sytuacja wymaga zdemontowania tych folderów, zamiast demontowania jednego po drugim, można wydać polecenie ‘umount -t arc’ – wszystkie należące do tej grupy foldery będą zdemontowane. Montowanie tych folderów wykonane jest w podobny sposób – ‘mount -t arc’.

Chcąc zmienić przynależność grupową istniejącego foldera, pierw należy go zdemontować po czym wydać polecenie ‘chfs’ jak pokazano poniżej.

chfs -u arc /lvarcinfo

Zmiany Pojemności Foldera

Zwiększanie pojemności jest łatwe. Na przykład, polecenie zwiększenia pojemności ostatniego foldera o 10gb może być dokonane w następujący sposób:

chfs -a size=+10G /arcinfo

Następne polecenie, wygląda prawie identycznie do poprzedniego ale jego rezultaty mogą popsuć ci resztę  dnia – uważaj co robisz!

chfs -a size=10G /arcinfo

Jego rezultatem jest redukcja pojemności do 10gb! Jakakolwiek informacja przechowywane w części /arcinfo powyżej 10gb jest stracona!

Polecenie chfs odmówi posłuszeństwa w przypadku kiedy wzrost pojemności foldera przekroczy obecny limit ilości bloków fizycznych jego tomu logicznego. Pierw, zwiększ ten limit:

chlv -x nowy_limit tom_logiczny

„nowy_limit” reprezentuje liczbę bloków logicznych reprezentujących rozmiar tomu. Po zwiększeniu rozmiaru tomu możesz powiększyć rozmiar związanego z nim foldera.




[1] Często jest to wynikiem definicji aplikacji zawartej w pliku /etc/inittab


4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. MarkD:-) says

    Thanks, you have just made my day.

  2. Azeem says

    Everything can be explain in simple way, even rocket science.And you proved it .

  3. MarkD:-) says

    Your comment makes it worth it! Thanks!

  4. SG says

    Great coverage on what can be a difficult topic. Thank you for your hard work and sharing this info with fellow system administrators (like myself) out here!

    Keep up the good work



Some HTML is OK

or, reply to this post via trackback.