PowerPath: Kommandoen "pprootdev on" mislykkes, fordi den logiske HD5-diskenhed er for lille
Summary: Med AIX 7.2 er størrelsen på startposten, når PowerPath ikke er aktiveret på rootvg, tæt på 32 MB. Når PowerPath er aktiveret på rootvg, kan startposten overstige 32 MB, og hvis hd5 kun er én fysisk partition (PP) stor, og hvis PP-størrelsen er 32 MB, kan startposten ikke skrives. Denne KB foreslår en metode til at øge størrelsen på hd5, så den kan indeholde startposten, når PowerPath aktiveres på rootvg (pprootdev on). ...
Symptoms
pprootdev on Kommandoen mislykkes med følgende fejl:
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
PowerPath-scriptet pprootdev on kalder bosboot for at oprette et nyt opstartsbillede og gemme det på den angivne startdiskenhed. Når PowerPath er aktiveret, kan startafbildningen have en størrelse >på 32 Mb. Den logiske diskenhed har en størrelse på en fysisk partition (PP), men hvis PP-størrelsen på rootvg er 32 Mb, vil diskenhedsstørrelsen være 32 Mb, hvilket er for lille til at gemme opstartsbilledet.
Størrelsen på en PP afhænger af størrelsen på selve disken. Jo større disken er, jo større er størrelsen på en PP.
Resolution
Der findes tre forskellige metoder til at øge størrelsen på et logisk volumen. Volumen hd5 antages i eksemplerne nedenfor:
Metode 1 - tilføjelse af en fysisk partition (PP) til hd5
De partitioner, hd5 er på, skal være sammenhængende, og i de første 4 GB af harddisken. Hvis du vil vide, om der er nogen ledige partitioner tilgængelige ved siden af hd5, skal du køre følgende kommando:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2-15 hdisk0:16 fslv00:1 hdisk0:17 fslv00:2
-
Brug
extendlvkommando for at tilføje en anden partition til HD5. I dette eksempel ville vi oprette en fil kaldet "Map" for eksempel, og i filen ville vi kun have en linje med hdisk0: 2. Så ville vi løbeextendlv -m Map hd5 1. Dette ville forlænge hd5 med en PP startende ved hdisk0:2. Dette ville sikre, at omfanget er sammenhængende. -
Kør
pprootdev onkommando (hvis du støder på problemet efter at have kørtpprootdev on, dette andet forsøg på at kørepprootdev onvil mislykkes, fordi den forrige delvist lykkedes. Det betyder, at du sandsynligvis bliver nødt til at oprette en ny kopi af din opstartsdisk for at gentage hele proceduren igen... og udvid hd5 LV, FØR du kørerpprootdev on).
Metode 2 - ændring af hd5-layout i rootvg med alt_disk_copy-værktøjet
-
Kør
mkszfilekommando. Denne kommando opretter en fil /image.data, som er layoutet af rootvg. -
Rediger image.data-filen, og juster LP'er og LV_MIN_LPS til hd5 (vi har brug for en PP mere. Hvis LP'er og LV_MIB_LPS er indstillet til 1, skal du derfor ændre disse værdier til 2)
Eksempel:
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=
-
Klon rootvg ved hjælp af kommandoen:
alt_disk_copy -i /image.data -d hdiskY(hdiskY er måldisken) -
Genstart serveren for at aktivere den klonede disk (med ny PP-størrelse)
-
Kør
pprootdev onkommando
Metode 3 - genskabelse af hd5
Som tidligere nævnt skal partitionerne hd5 er tændt være sammenhængende, og i de første 4 GB af harddisken. Hvis du vil vide, om der er nogen ledige partitioner tilgængelige ved siden af hd5, skal du køre følgende kommando:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2
-
I ovenstående eksempel er der ingen gratis PP efter den første, der bruges af hd5. Brug af en
extendlvvil ikke fungere, da den ekstra PP ikke vil være sammenhængende. Da hd5 kun indeholder opstartsposten, og dette indhold kan genereres med enbosbootkommando, kan vi helt genskabe HD5.# rmlv -f hd5 (hdisk0 = rootvg disk) # mklv -y hd5 -t boot -u2 rootvg 2 hdisk0
-
Vi kan derefter tjekke med en
lspv -M hdiskXXat den nyoprettede hd5 nu har to på hinanden følgende 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
Ikonet pprootdev on kommandoen skal nu lykkes, forudsat at hd5 LV blev oprettet inden for de første 4 GB (dette er hvad dokumentationen siger, men det afhænger af AIX-udgivelsen og med AIX 7.2 TL5 er grænsen højere). Derfor, og før du kører en pprootdev on, køre en bosboot! Hvis ikonet bosboot Kan ikke finde HD5, betyder det, at det er for langt væk fra begyndelsen af disken og pprootdev on vil også mislykkes: Ændringen skal fortrydes (rmlv -f hd5; mklv -y hd5 -t boot -u1 rootvg 1 hdiskX) og metode 2 skal anvendes.