PowerPath: Příkaz "pprootdev on" selže, protože logický svazek HD5 je příliš malý
Summary: U systému AIX 7.2 se velikost spouštěcího záznamu, když není v rootvg povolena funkce PowerPath, blíží 32 MB. Je-li v souboru rootvg povolena funkce PowerPath, spouštěcí záznam může překročit 32 MB. Pokud je velikost oddílu hd5 pouze jeden fyzický oddíl (PP) a velikost PP je 32 MB, nelze spouštěcí záznam zapsat. Tento článek znalostní databáze navrhuje metodu, jak při povolení příkazu powerPath na rootvg (pprootdev on) zvětšit velikost hd5 tak, aby obsahoval spouštěcí záznam. ...
Symptoms
pprootdev on Příkaz selže s následujícími chybami:
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
Skript PowerPath pprootdev on vyzývá k tomu, aby bosboot příkaz k vytvoření nové spouštěcí bitové kopie a jejímu uložení do zadaného logického svazku spouštění. Je-li povolen software PowerPath, může mít spouštěcí bitová kopie velikost >32 MB. Logický svazek má velikost jednoho fyzického oddílu (PP), ale pokud je PPSIZE rootvg 32 Mb, pak velikost svazku bude 32 Mb, což je příliš málo pro uložení zaváděcího obrazu.
Velikost PP závisí na velikosti samotného disku. Čím větší je disk, tím větší je velikost PP.
Resolution
Pro zvětšení velikosti logického svazku existují tři různé metody. Objem hd5 se předpokládá v následujících příkladech:
Metoda 1 - přidání fyzického oddílu (PP) do hd5
Oddíly, na kterých se hd5 nachází, musí být souvislé a v prvních 4 GB pevného disku. Chcete-li zjistit, zda jsou vedle hd5 k dispozici nějaké volné oddíly, spusťte následující příkaz:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2-15 hdisk0:16 fslv00:1 hdisk0:17 fslv00:2
-
Použití
extendlvPříkaz pro přidání druhého oddílu do HD5. V tomto příkladu bychom vytvořili například soubor s názvem "Map" a v něm bychom měli pouze jeden řádek s hdisk0:2. Pak bychom utekliextendlv -m Map hd5 1. Tím by se hd5 rozšířil o jeden PP začínající na hdisk0:2. To by zaručilo, že rozšíření je souvislé. -
Spustit
pprootdev on(pokud se problém vyskytne po spuštěnípprootdev on, tento druhý pokus o spuštěnípprootdev onselže, protože předchozí byl částečně úspěšný. To znamená, že pravděpodobně budete muset vytvořit novou kopii zaváděcího disku, abyste mohli celý postup opakovat znovu... a rozšiřte hd5 LV PŘED spuštěnímpprootdev on).
Metoda 2 - změna rozložení hd5 v rootvg pomocí alt_disk_copy utility
-
Spustit
mkszfile. Tento příkaz vytvoří soubor /image.data, což je rozložení rootvg. -
Upravte soubor image.data a upravte LP a LV_MIN_LPS pro hd5 (potřebujeme ještě jeden PP. Pokud jsou tedy LP a LV_MIB_LPS nastaveny na 1, změňte tyto hodnoty na 2)
Příklad:
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=
-
Klonujte rootvg pomocí příkazu:
alt_disk_copy -i /image.data -d hdiskY(hdiskY je cílový disk) -
Restartujte server a aktivujte klonovaný disk (s novou velikostí PP)
-
Spustit
pprootdev on.
Metoda 3 - opětovné vytvoření hd5
Jak již bylo zmíněno, oddíly, na kterých se hd5 nachází, musí být souvislé a v prvních 4 GB pevného disku. Chcete-li zjistit, zda jsou vedle hd5 k dispozici nějaké volné oddíly, spusťte následující příkaz:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2
-
Ve výše uvedeném příkladu není po prvním PP použitém hd5 žádný volný PP. Pomocí příkazu
extendlvnebude fungovat, protože extra PP nebude souvislý. Vzhledem k tomu, že hd5 obsahuje pouze zaváděcí záznam a tento obsah může být generován pomocíbosbootmůžeme HD5 zcela znovu vytvořit.# rmlv -f hd5 (hdisk0 = rootvg disk) # mklv -y hd5 -t boot -u2 rootvg 2 hdisk0
-
Poté to můžeme zkontrolovat pomocí
lspv -M hdiskXXže nově vytvořený hd5 má nyní dva po sobě jdoucí 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
Část pprootdev on příkaz by nyní měl proběhnout, za předpokladu, že hd5 LV byl vytvořen během prvních 4 GB (to je to, co říká dokumentace, ale to závisí na vydání AIXu a u AIX 7.2 TL5 je limit vyšší). Proto a před spuštěním pprootdev on, spusťte a bosboot! V případě, že bosboot nelze najít hd5, znamená to, že je příliš daleko od začátku disku a pprootdev on selže také: Změnu je nutné vrátit zpět (rmlv -f hd5; mklv -y hd5 -t boot -u1 rootvg 1 hdiskX) a musí být použita metoda 2.