Skip to content


Lekcja 5: Pracując z Tomami Logicznymi

Tomy Logiczne i Foldery

Wiedząc jak manipulować grupami, czas się nauczyć jak to robić z tomami logicznymi (logical volumes). AIX posiada dwa rodzaje tomów przeznaczonych do przechowywania danych: jfs oraz jfs2. Tom musi być związany z folderem tego samego rodzaju. AIX nie dopuści to związku tomu typu jfs z folderem typu jfs2 czy związku tomu jfs2 z folderem jfs.

Tomy żurnalowe

Każda operacja ‘wpisania/zmiany’ danych w folderze (jego tomie) może nastąpić tylko po zanotowaniu tego faktu w specjalnie do tego celu przeznaczonego tomie logicznym zwanym żurnalem (dziennikiem). AIX posiada dwa rodzaje dzienników: jfslog oraz jfs2log. Każdy folder jest związany z dwoma tomami logicznymi: z tym do którego jest przywiązany oraz ze swoim dziennikiem.  W grupie dysków musi być co najmniej jeden żurnal. Foldery mogą się dzielić jednym lub mogą mieć swoje własne dzienniki. W granicach tej samej grupy, obydwie możliwości są również możliwe. Tom logiczny jak folder czy dysk może należeć tylko do jednej grupy dysków.

Bez zagłębiania się w detale, główna różnica pomiędzy jfs i jfs2 to to, że ten drugi rodzaj pozwala na dużo większe foldery, szybciej serwujące dane i odporniejsze na uszkodzenie. Folder jfs2 również jest pozbawiony i-nodes, i jego dziennik automatycznie dostosowuje się do wielkości foldera. Dzienniki mogą być tworzone automatycznie podczas tworzenia foldera lub nie. Foldery mogą być tworzone i związane z istniejącymi dziennikami. System administrator może zmienić te zależności  bez niszczenia zawartości foldera (folder nie może być zamontowany podczas tych operacji).

Minimalny rozmiar dziennika typu jfs to jeden blok fizyczny (minimum 4mb). Tworząc tomy logiczne nie jesteś ograniczony do specyficznych pierścieni dysków grupy. Masz całkowitą kontrolę w tym zakresie i jeżeli chcesz możesz użyć do tego celu wybranych przez ciebie bloków fizycznych.

Tworzenie tomów (jedno lustro)

Do tego celu służy jedno polecenie nazywające się ‘mklv’ (make logical volume). W najprostszej formie należy mu podać nazwę grupy i jego rozmiar wyrażony liczbą bloków fizycznych.

mklv nazwa_grupy liczba_bloków

W tym wykonaniu, Manager Tomów Logicznych (LVM) sam wybierze jego nazwę (lv??), i jeden lub więcej dysków należących do wybranej grupy. Bardziej precyzyjna forma może wyglądać  następująco:

mklv -y jpeg_lv data_vg 20 hdisk7

W tym przypadku, LVM użyje 20 bloków z dysku hdisk7 należącego do data_vg na stworzenie tomu o nazwie jpeg_lv.

Tworzenie lusterCreating mirrors

Nie przerwany dostęp do danych nawet w przypadku awarii dysku jest możliwy dzięki ‘lustrą’ tomów logicznych. Ta sama informacja może być przechowywana na dwóch lub trzech dyskach. W pierwszym przypadku, utrata jednego dysku nie pozbawia nas dostępu do danych, które będą dostarczane z dysku, który nie uległ awarii. W przypadku potrójnego lustra, awaria i utrata dwóch dysków nie jest równoznaczna z utratą dostępu do danych – trzeci dysk w dalszym ciągu pracuje i LVM ma dostęp do przechowywanych w nim danych. Osiągnięcie tej protekcji nie wymaga niczego specjalnego. To samo polecenie co poprzednie z dodatkowym określnikiem (-c) i towarzyszącą mu liczbą kopji.

mklv -y 2lustra_lv -c 2 data_vg 20 hdisk7 hdisk9

Ostatnie polecenie stworzyło dwa lustra (kopje). Każde lustro posiada dwadzieścia bloków znajdujących się na hdisk7 and hdisk9. Plik zbudowany na podwójnym lustrze wymaga w rzeczywistości dwa razy więcej bloków fizycznych niż jego pojedyncza wersja. Lustra są możliwe dzięki elementowi, który nazywa się blok logiczny. Każdy blok logiczny może zawierać adresy jednego, dwóch lub trzech bloków fizycznych.[/lan_pl]

Ogranicznie pozycji tomów do specyficznych pierścieni dysków

Pozycja nowo tworzonego tomu może być ograniczona do określonego pierścienia na dysku. Nazywa się to polisą wewnątrznej dystrybucji (intra physical allocation policy). [/lng_pl]Ostatnie polecenie stworzy trzy lustra i ulokuje każde na środkowym pierścieniu (-a c) dysków hdisk7 and hdisk9 i hdisk11.

ie – wewnętrzny-środkowy pierścieńwewnętrzny

c – środkowy

m – zewnętrzny środkowy

e – zewnętrzny

Ograniczanie pozycji tomów do specyficznych dysków

Jest określone polisą okupacji (inter-disk policy) dysków.

mklv -s y -c -y 2lustra_lv -c 3 data_vg 20 hdisk7 hdisk9 hdisk11

określnik -s może mieć następujace parametry:

y – ścisła polisa okupacyjna. Lustra wymagają osobnych dysków. (default policy)

n – wyłącza ścisłą polisę s – super ścisła polisa okupacyjna. Dysk może posiadać bloki należące tylko do jednego lustra.

Tworzenie tomów używając map

Tom logiczny można stworzyć używając specyficznych bloków fizycznych określonych dysków. Ta informacja jest zebrana w pliku, którego zawartość może wyglądać tak jak pokazano poniżej.Informacja pokazana powyżej, sugeruje tom logiczny w podwójnym lustrze używając hdisk2 oraz hdisk3 używając do tego celu bloków fizycznych 1 to 103 oraz 411 do 514. Plik zawierający tę informację nazywa się lvmap.txt

Spójrzmy na następujące polecenie:

mklv -m lvmap.txt -c 2 -y vol_lv grupa_vg 206

Rezultatem ostatniego polecenia jest tom nazywający się vol_lv posiadający dwa lustra. Jest on położony w grupie grupa_vg. Jego każde lustro składa się z 206 bloków leżących na dyskach hdisk2 oraz hdisk3.

Tworzenie tomu określonego typu

Do tego momentu, tworzyliśmy tylko tomy typu jfs. Tworzenie tomów innych typów jak na przykład jfs2 wymaga użycia określnika -t z towarzyszącym mu wybranym rodzajem tomu.

mklv -t jfs2 -m lvmap.txt -c 2 -y vol_lv grupa_vg 206

Rodzaje tomów logicznych

Jest ich kilka, jak na przyklad jfs, jfs2, copy, swap, dump, jfslog, jfs2log i boot.

Powiększanie tomu

Po pewnym czasie, pojemność folderu i wspierającego go tomu logicznego zostaje wyczerpana. W takiej sytuacji, pierw należy powiększyć tom logiczny używając polecenie ‘extendlv’.

extendlv vol_lv 12

Ostatnie polecenie powiększy ‘vol_lv’ o 12 bloków logicznych! Jeżeli the tom ma podwójne lustra to w wyniku tej operacji 24 bloki fizyczne zostaną użyte do powiększenia tego tomu.

Logical volume characteristics

Podstawowe polecenie do tego celu to ‘lslv’. Wydane tylko z nazwą tomu logicznego, jej product jest podobny to lsvg.

[markd/> lslv lvsoftware

LOGICAL VOLUME:  lvsoftware VOLUME GROUP: rootvg
LV IDENTIFIER:  00054260f14735fb.9 PERMISSION:  read/write
VG STATE:  active/complete LV STATE:  opened/syncd
TYPE:  jfs WRITE VERIFY:  off
MAX LPs:  450 PP SIZE:  8megabyte(s)
COPIES:  1 SCHED POLICY: parallel
LPs:  398 PPs:   398
LE PPs:  0 BB POLICY:  relocatable
INTER-POLICY:  minimum RELOCATABLE:  yes
INTRA-POLICY:  center UPPER BOUND:  2
MOUNT POINT:  /software LABEL:  /software
MIRROR WRITE CONSISTENCY: on
EACH LP COPY ON A SEPARATE PV ?: Yes


Dystrbucja tomu na dyskachDystrybucja tomu na blokach fizycznych

Następne polecenie pozwala określić na jakich dyskach i które bloki fizyczne używa dany tom logiczny. Produkcja tego polecenia jest prawie identyczna z "mapami" używanymi do budowania tomów.

# lslv -M nazwa_tomu

LP    PP1  PV1               PP2  PV2               PP3  PV3

0001  1558 hdisk14
0002  1559 hdisk14
0003  1560 hdisk14
0004  1561 hdisk14
0005  1562 hdisk14
0006  1563 hdisk14
0007  1564 hdisk14
0008  1565 hdisk14
0009  1566 hdisk14
0010  1567 hdisk14
0011  1568 hdisk14


Modifikacje parametrów tomów

Zmiany charakterystyk tomu są dokonywane przy pomocy komendy chlv, która po wydaniu bez żadnych dodatkowych argumentów przedstawia wszystkie swoje możliwości.

markd:/root>chlv
0516-602 chlv: Logical volume name not entered.
Usage:
chlv -n NewLVname LVname
chlv [-a IntraPolicy] [-e InterPolicy] [-L Label] [-u UpperBound]
[-s Strict] [-b BadBlocks] [-d Schedule] [-p Permission]
[-r Relocate] [-t Type]][-o Overlapping IO] [-U Userid]            [-G Groupid] [-P Modes][-w MirrorWriteConsistency] LVname…
Changes the characteristics of a logical volume.


2 Responses

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

  1. MarekD:-) says

    In the case of a mirrored volume group AIX is able to determine the volume group state by the virtue of QUORUM? When a volume group is created, its first disk gets two VGDA all other disks get one VGDA each. Let’s talk about a two and a three way mirrored vg. In the case of the two way mirrored vg one of its disks has 66 2/3% and the other one has 33 1/3% quorum for the total of 100%. If the first disk fails, there value of quorum becomes less then 50% and if the the volume group will vary itself off – it is very important to set chvg -Q n vg_name in the case of two way mirror.
    If a volume group is mirrored three way (or if there are more then two disks per mirror side) the quorrum is divided between each disk – in our case each disk receives 33 1/3% of quorum. What happens if this vg loses one disks? The volume group will stay up regardless if quorum is required or not.

  2. mohanram says

    what is Qorom ? what is the use of it.



Some HTML is OK

or, reply to this post via trackback.