PowerPath: HD5 mantıksal birim çok küçük olduğu için "pprootdev on" komutu başarısız oluyor
Summary: AIX 7.2 ile, rootvg'de PowerPath etkinleştirilmediğinde önyükleme kaydının boyutu 32 MB'ye yakındır. PowerPath rootvg'de etkinleştirildiğinde, önyükleme kaydı 32 MB'ı aşabilir ve hd5 yalnızca bir Fiziksel Bölüm (PP) büyüklüğündeyse ve PP boyutu 32 MB ise, önyükleme kaydı yazılamaz. Bu KB, rootvg de PowerPath'i etkinleştirirken önyükleme kaydını içerebilmesi için hd5'in boyutunu artırmaya yönelik bir yöntem önerir (pprootdev açık). ...
Symptoms
pprootdev on Komut aşağıdaki hatalarla başarısız olur:
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 komut dosyası pprootdev on çağırır bosboot Yeni bir önyükleme görüntüsü oluşturma ve bunu belirtilen önyükleme mantıksal biriminde saklama komutu. PowerPath etkinken, önyükleme görüntüsünün boyutu >32 Mb olabilir. Mantıksal birimin boyutu bir Fiziksel Bölüm (PP) olup fakat rootvg'nin PPSIZE alanı 32 Mb ise birim boyutu 32 Mb olur ve bu, önyükleme görüntüsünü saklamak için çok küçüktür.
Bir PP'nin boyutu, diskin boyutuna bağlıdır. Disk ne kadar büyükse, PP'nin boyutu da o kadar büyük olur.
Resolution
Mantıksal bir birimin boyutunu artırmak için üç farklı yöntem mevcuttur. Aşağıdaki örneklerde hd5 birimi varsayılmıştır:
Yöntem 1 - hd5'e Fiziksel Bölüm (PP) ekleme
hd5'in bulunduğu bölümler bitişik olmalı ve sabit diskin ilk 4 GB lık kısmında olmalıdır. hd5'in yanında herhangi bir boş bölüm olup olmadığını öğrenmek istiyorsanız, aşağıdaki komutu çalıştırın:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2-15 hdisk0:16 fslv00:1 hdisk0:17 fslv00:2
-
Kullanım
extendlvHD5'e ikinci bir bölüm ekleme komutu. Bu örnekte, örneğin "Map" adında bir dosya oluşturacağız ve dosyada hdisk0:2 ile yalnızca bir satırımız olacaktı. Sonra koşardıkextendlv -m Map hd5 1. Bu, hdisk0:2'den başlayarak hd5'i bir PP uzatır. Bu, uzantının bitişik olmasını garanti eder. -
Çalıştırma
pprootdev onkomut (çalıştırdıktan sonra sorunla karşılaşırsanızpprootdev on, bu ikinci çalıştırma girişimipprootdev onbir önceki kısmen başarılı olduğu için başarısız olacaktır. Bu, tüm prosedürü tekrarlamak için muhtemelen önyükleme diskinizin yeni bir kopyasını oluşturmanız gerekeceği anlamına gelir... ve çalıştırmadan ÖNCE hd5 LV'yi genişletinpprootdev on) arasında geçiş.
Yöntem 2 - Rootvg'deki hd5 düzenini alt_disk_copy yardımcı programla değiştirme
-
Çalıştırma
mkszfilekomut. Bu komut, rootvg'nin düzeni olan bir /image.data dosyası oluşturur. -
image.data dosyasını düzenleyin ve hd5 için LP'leri ve LV_MIN_LPS ayarlayın (bir PP'ye daha ihtiyacımız var. Bu nedenle, LP'ler ve LV_MIB_LPS 1 olarak ayarlanırsa, bu değerleri 2 olarak değiştirin)
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=
-
Şu komutu kullanarak rootvg yi klonlayın:
alt_disk_copy -i /image.data -d hdiskY(hdiskY hedef disktir) -
Klonlanmış diski etkinleştirmek için sunucuyu yeniden başlatın (yeni PP boyutuyla)
-
Çalıştırma
pprootdev onkomut
Yöntem 3 - HD5'i
yeniden oluşturmaDaha önce de belirtildiği gibi, hd5'in bulunduğu bölümler bitişik olmalı ve sabit diskin ilk 4 GB'sinde olmalıdır. hd5'in yanında herhangi bir boş bölüm olup olmadığını öğrenmek istiyorsanız, aşağıdaki komutu çalıştırın:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2
-
Yukarıdaki örnekte, hd5 tarafından kullanılan ilk PP'den sonra serbest PP yoktur. Bir
extendlvekstra PP bitişik olmayacağı için çalışmayacaktır. hd5 yalnızca önyükleme kaydını içerdiğinden ve bu içerik birbosbootkomutuyla, HD5'i tamamen yeniden oluşturabiliriz.# rmlv -f hd5 (hdisk0 = rootvg disk) # mklv -y hd5 -t boot -u2 rootvg 2 hdisk0
-
Daha sonra bir
lspv -M hdiskXXyeni oluşturulan hd5'in artık iki ardışık PP'ye sahip olduğunu.# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2 .... hdisk0:13 hd5:1 hdisk0:14 hd5:2
cd-key pprootdev on komutu, hd5 LV'nin ilk 4 GB içinde oluşturulduğunu varsayarak şimdi başarılı olmalıdır (belgelerde böyle yazıyor, ancak bu AIX sürümüne bağlıdır ve AIX 7.2 TL5 ile sınır daha yüksektir). Bu nedenle ve çalıştırmadan önce pprootdev on, bir bosboot! Eğer bosboot HD5 bulunamıyorsa, bu, diskin başlangıcından çok uzakta olduğu anlamına gelir ve pprootdev on aynı zamanda başarısız olur: Değişiklik geri alınmalıdır (rmlv -f hd5; mklv -y hd5 -t boot -u1 rootvg 1 hdiskX) ve yöntem 2 kullanılmalıdır.