PowerPath: Polecenie "pprootdev on" kończy się niepowodzeniem, ponieważ wolumin logiczny HD5 jest zbyt mały
Summary: W systemie AIX 7.2 rozmiar rekordu rozruchowego, gdy PowerPath nie jest włączony na rootvg, jest bliski 32 MB. Gdy PowerPath jest włączony na rootvg, rekord rozruchowy może przekroczyć 32 MB, a jeśli hd5 ma tylko jedną partycję fizyczną (PP) i jeśli rozmiar PP wynosi 32 MB, rekord rozruchowy nie może zostać zapisany. W tym artykule bazy wiedzy zaproponowano metodę zwiększania rozmiaru dysku hd5 tak, aby zawierał rekord rozruchowy podczas włączania PowerPath na rootvg (pprootdev on). ...
Symptoms
pprootdev on Polecenie kończy się niepowodzeniem z następującymi błędami:
dd: 0511-053 The write failed. : There is a request to a device or address that does not exist. 35509+1 records in. 554+1 records out. 0301-161 bosboot: dd failed to copy bootimage. 0301-165 bosboot: WARNING! bosboot failed - do not attempt to boot device. pprootdev: bosboot has failed. The configuration change has not been saved to the boot device.
Cause
Skrypt PowerPath pprootdev on wzywa Komisję do bosboot , aby utworzyć nowy obraz rozruchowy i zapisać go w określonym rozruchowym woluminie logicznym. Przy włączonej funkcji PowerPath obraz rozruchowy może mieć rozmiar >32 Mb. Wolumin logiczny ma rozmiar jednej partycji fizycznej (PP), ale jeśli rozmiar PP partycji rootvg wynosi 32 Mb, rozmiar wolumenu wynosi 32 Mb, czyli zbyt mało, aby można było przechowywać obraz rozruchowy.
Rozmiar PP zależy od rozmiaru samego dysku. Im większy dysk, tym większy rozmiar PP.
Resolution
Istnieją trzy różne metody zwiększania rozmiaru woluminu logicznego. Wolumin hd5 jest przyjęty w poniższych przykładach:
Metoda 1 — dodanie partycji fizycznej (PP) do dysku twardego 5
Partycje, na których znajduje się hd5, muszą być ciągłe i znajdować się w pierwszych 4 GB dysku twardego. Jeśli chcesz wiedzieć, czy obok hd5 są dostępne wolne partycje, uruchom następujące polecenie:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2-15 hdisk0:16 fslv00:1 hdisk0:17 fslv00:2
-
Użyj
extendlvPolecenie dodania drugiej partycji do dysku twardego HD5. W tym przykładzie utworzylibyśmy na przykład plik o nazwie "Map", a w pliku mielibyśmy tylko jedną linię z hdisk0:2. Wtedy uciekniemyextendlv -m Map hd5 1. Rozszerzyłoby to hd5 o jeden PP, zaczynając od hdisk0:2. Gwarantowałoby to, że zakres jest ciągły. -
Uruchom
pprootdev on(jeśli napotkasz problem po uruchomieniupprootdev on, ta druga próba uruchomieniapprootdev onzakończy się niepowodzeniem, ponieważ poprzedni częściowo się powiódł. Oznacza to, że prawdopodobnie będziesz musiał utworzyć nową kopię dysku rozruchowego, aby powtórzyć całą procedurę ponownie... i przedłuż hd5 LV PRZED uruchomieniempprootdev on).
Metoda 2 — zmiana układu hd5 w rootvg za pomocą narzędzia alt_disk_copy
-
Uruchom
mkszfile. To polecenie tworzy plik /image.data, który jest układem rootvg. -
Edytuj plik image.data i dostosuj LP i LV_MIN_LPS dla hd5 (potrzebujemy jeszcze jednego PP. W związku z tym, jeśli LP i LV_MIB_LPS są ustawione na 1, zmień te wartości na 2)
Example:
lv_data: VOLUME_GROUP= rootvg VOLUME_GROUP= rootvg LV_SOURCE_DISK_LIST= hdisk4 LV_SOURCE_DISK_LIST= hdisk4 LV_IDENTIFIER= 00f98edf00004c00000001860d2daee6.1 LV_IDENTIFIER= 00f98edf00004c00000001860d2daee6.1 LOGICAL_VOLUME= hd5 LOGICAL_VOLUME= hd5 VG_STAT= active/complete VG_STAT= active/complete TYPE= boot TYPE= boot MAX_LPS= 512 MAX_LPS= 512 COPIES= 1 COPIES= 1 LPs= 1 LPs= 2 STALE_PPs= 0 STALE_PPs= 0 INTER_POLICY= minimum INTER_POLICY= minimum INTRA_POLICY= edge INTRA_POLICY= edge MOUNT_POINT= MOUNT_POINT= MIRROR_WRITE_CONSISTENCY= on/ACTIVE MIRROR_WRITE_CONSISTENCY= on/ACTIVE LV_SEPARATE_PV= yes LV_SEPARATE_PV= yes PERMISSION= read/write ==> PERMISSION= read/write LV_STATE= closed/syncd LV_STATE= closed/syncd WRITE_VERIFY= off WRITE_VERIFY= off PP_SIZE= 128 PP_SIZE= 128 SCHED_POLICY= parallel SCHED_POLICY= parallel PP= 1 PP= 1 BB_POLICY= non-relocatable BB_POLICY= non-relocatable RELOCATABLE= no RELOCATABLE= no UPPER_BOUND= 32 UPPER_BOUND= 32 LABEL= primary_bootlv LABEL= primary_bootlv MAPFILE= MAPFILE= LV_MIN_LPS= 1 LV_MIN_LPS= 2 STRIPE_WIDTH= STRIPE_WIDTH= STRIPE_SIZE= STRIPE_SIZE= SERIALIZE_IO= no SERIALIZE_IO= no FS_TAG= FS_TAG= DEV_SUBTYP= DEV_SUBTYP=
-
Klonuj rootvg przy użyciu polecenia:
alt_disk_copy -i /image.data -d hdiskY(hdiskY jest dyskiem docelowym) -
Uruchom ponownie serwer, aby aktywować sklonowany dysk (z nowym rozmiarem PP)
-
Uruchom
pprootdev oncommand
Metoda 3 - odtworzenie dysku twardego HD5
Jak wspomniano wcześniej, partycje, na których znajduje się hd5, muszą być ciągłe i zajmować pierwsze 4 GB dysku twardego. Jeśli chcesz wiedzieć, czy obok hd5 są dostępne wolne partycje, uruchom następujące polecenie:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2
-
W powyższym przykładzie nie ma wolnego PP po pierwszym używanym przez hd5. Za pomocą
extendlvnie zadziała, ponieważ dodatkowy PP nie będzie ciągły. Ponieważ hd5 zawiera tylko rekord rozruchowy, a zawartość ta może być wygenerowana za pomocąbosbootpolecenie, możemy całkowicie odtworzyć HD5.# rmlv -f hd5 (hdisk0 = rootvg disk) # mklv -y hd5 -t boot -u2 rootvg 2 hdisk0
-
Następnie możemy sprawdzić za pomocą
lspv -M hdiskXXże nowo utworzony hd5 ma teraz dwa kolejne PP.# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2 .... hdisk0:13 hd5:1 hdisk0:14 hd5:2
Polecenie pprootdev on polecenie powinno się teraz powieść, zakładając, że hd5 LV został utworzony w ciągu pierwszych 4 GB (tak mówi dokumentacja, ale zależy to od wydania AIX-a, a w AIX 7.2 TL5 limit jest wyższy). W związku z tym i przed uruchomieniem pprootdev on, uruchom polecenie bosboot! Jeśli bosboot Nie można znaleźć HD5, oznacza to, że jest on zbyt daleko od początku dysku i pprootdev on również zakończy się niepowodzeniem: Zmianę należy cofnąć (rmlv -f hd5; mklv -y hd5 -t boot -u1 rootvg 1 hdiskX) i należy zastosować metodę 2.