PowerPath: Der Befehl "pprootdev on" schlägt fehl, da das logische HD5-Volume zu klein ist
Summary: Bei AIX 7.2 beträgt die Größe des Boot Record, wenn PowerPath auf rootvg nicht aktiviert ist, fast 32 MB. Wenn PowerPath auf rootvg aktiviert ist, kann der Startdatensatz 32 MB überschreiten. Wenn hd5 nur eine physische Partition (PP) groß ist und die PP-Größe 32 MB beträgt, kann der Startdatensatz nicht geschrieben werden. In diesem Wissensdatenbank-Artikel wird eine Methode vorgeschlagen, um die Größe von hd5 zu erhöhen, damit sie den Boot Record enthalten kann, wenn PowerPath auf rootvg aktiviert wird (pprootdev on). ...
Symptoms
pprootdev on Der Befehl schlägt mit den folgenden Fehlern fehl:
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
Das PowerPath-Skript pprootdev on fordert die bosboot , um ein neues Startabbild zu erstellen und es auf dem angegebenen logischen Startvolume zu speichern. Wenn PowerPath aktiviert ist, kann das Start-Image eine Größe >von 32 MB haben. Das logische Volume hat die Größe einer physischen Partition (PP), aber wenn die PPSIZE von rootvg 32 MB beträgt, beträgt die Volume-Größe 32 MB, was zu klein ist, um das Start-Image zu speichern.
Die Größe einer PP hängt von der Größe der Festplatte selbst ab. Je größer die Festplatte ist, desto größer ist die Größe eines PP.
Resolution
Es gibt drei verschiedene Methoden, um die Größe eines logischen Volumes zu erhöhen. In den folgenden Beispielen wird das Volume hd5 angenommen:
Methode 1 : Hinzufügen einer physischen Partition (PP) zu HD5
Die Partitionen, auf denen sich hd5 befindet, müssen zusammenhängend sein und sich in den ersten 4 GB der Festplatte befinden. Wenn Sie wissen möchten, ob neben hd5 freie Partitionen verfügbar sind, führen Sie den folgenden Befehl aus:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2-15 hdisk0:16 fslv00:1 hdisk0:17 fslv00:2
-
Verwenden Sie
extendlvBefehl zum Hinzufügen einer zweiten Partition zu HD5. In diesem Beispiel würden wir z. B. eine Datei namens "Map" erstellen, in der wir nur eine Zeile mit hdisk0:2 hätten. Dann liefen wirextendlv -m Map hd5 1. Dies würde hd5 um einen PP ab hdisk0:2 erweitern. Dies würde garantieren, dass die Ausdehnung zusammenhängend ist. -
Führen Sie
pprootdev on(wenn das Problem nach dem Ausführen vonpprootdev on, diesen zweiten Versuch,pprootdev onschlägt fehl, da der vorherige teilweise erfolgreich war. Das bedeutet, dass Sie wahrscheinlich eine neue Kopie Ihres Bootdatenträgers erstellen müssen, um den ganzen Vorgang noch einmal zu wiederholen... und erweitern Sie hd5 LV VOR dem Laufenpprootdev on).
Methode 2 - Ändern des HD5-Layouts in rootvg mit dem Dienstprogramm alt_disk_copy
-
Führen Sie
mkszfileverwenden. Mit diesem Befehl wird eine Datei /image.data erstellt, die dem Layout von rootvg entspricht. -
Bearbeiten Sie die Datei image.data und passen Sie LPs und LV_MIN_LPS für hd5 an (wir benötigen noch einen PP. Wenn LPs und LV_MIB_LPS auf 1 festgelegt sind, ändern Sie diese Werte daher in 2)
Beispiel:
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=
-
Klonen Sie rootvg mit dem Befehl:
alt_disk_copy -i /image.data -d hdiskY(hdiskY ist die Zielfestplatte) -
Starten Sie den Server neu, um die geklonte Festplatte (mit neuer PP-Größe) zu aktivieren.
-
Führen Sie
pprootdev oncommand
Methode 3 : Erneutes Erstellen von HD5
Wie bereits erwähnt, müssen die Partitionen, auf denen sich hd5 befindet, zusammenhängend sein und sich in den ersten 4 GB der Festplatte befinden. Wenn Sie wissen möchten, ob neben hd5 freie Partitionen verfügbar sind, führen Sie den folgenden Befehl aus:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2
-
Im obigen Beispiel gibt es keine freie PP nach der ersten, die von hd5 verwendet wird. Verwenden eines
extendlvfunktioniert nicht, da die zusätzlichen PP nicht zusammenhängend sind. Da hd5 nur den Boot-Record enthält und dieser Inhalt mit einembosbootkönnen wir HD5 komplett neu erstellen.# rmlv -f hd5 (hdisk0 = rootvg disk) # mklv -y hd5 -t boot -u2 rootvg 2 hdisk0
-
Wir können dies dann mit einem
lspv -M hdiskXXdass der neu geschaffene HD5 nun zwei aufeinanderfolgende PP hat.# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2 .... hdisk0:13 hd5:1 hdisk0:14 hd5:2
Der pprootdev on Der Befehl sollte nun erfolgreich sein, vorausgesetzt, dass die hd5-LV innerhalb der ersten 4 GB erstellt wurde (dies steht in der Dokumentation, dies hängt jedoch von der AIX-Version ab und bei AIX 7.2 TL5 ist das Limit höher). Aus diesem Grund und vor dem Ausführen eines pprootdev onführen Sie einen bosboot! Wenn die bosboot HD5 nicht finden kann, bedeutet dies, dass es zu weit vom Anfang der Festplatte entfernt ist und pprootdev on wird auch fehlschlagen: Die Änderung muss rückgängig gemacht werden (rmlv -f hd5; mklv -y hd5 -t boot -u1 rootvg 1 hdiskX) und Methode 2 anzuwenden ist.