PowerPath: O comando "pprootdev on" falha porque o volume lógico do HD5 é muito pequeno
Summary: Com o AIX 7.2, o tamanho do registro de inicialização, quando o PowerPath não está ativado no rootvg, é próximo de 32 MB. Quando o PowerPath está ativado no rootvg, o registro de inicialização pode exceder 32 MB e se hd5 tiver apenas uma partição física (PP) grande e se o tamanho do PP for de 32 MB, o registro de inicialização não poderá ser gravado. Este artigo da KB propõe um método para aumentar o tamanho do hd5 para que ele possa conter o registro de inicialização ao habilitar o PowerPath no rootvg (pprootdev no). ...
Symptoms
pprootdev on O comando falha com os seguintes erros:
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
O script do PowerPath pprootdev on chama o bosboot Comando para criar uma nova imagem de inicialização e armazená-la no volume lógico de inicialização especificado. Com o PowerPath ativado, a imagem de inicialização pode ter um tamanho >de 32 Mb. O volume lógico tem um tamanho de uma partição física (PP), mas se o PPSIZE do rootvg for 32 Mb, o tamanho do volume será 32 Mb, que é muito pequeno para armazenar a imagem de inicialização.
O tamanho de um PP depende do tamanho do disco em si. Quanto maior o disco, maior o tamanho de um PP.
Resolution
Existem três métodos diferentes para aumentar o tamanho de um volume lógico. O volume hd5 é assumido nos exemplos abaixo:
Método 1 - adicionando uma partição física (PP) ao hd5
As partições em que o hd5 está devem ser contíguas e nos primeiros 4 GB do disco rígido. Se você quiser saber se há alguma partição livre disponível ao lado de hd5, execute o seguinte comando:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2-15 hdisk0:16 fslv00:1 hdisk0:17 fslv00:2
-
Use
extendlvComando para adicionar uma segunda partição ao HD5. Para este exemplo, criaríamos um arquivo chamado "Map", por exemplo, e no arquivo teríamos apenas uma linha com hdisk0:2. Em seguida, corremosextendlv -m Map hd5 1. Isso estenderia hd5 por um PP começando em hdisk0:2. Isso garantiria que a extensão fosse contígua. -
Executar
pprootdev on(se você encontrar o problema depois de executarpprootdev on, esta segunda tentativa de executarpprootdev onfalhará porque o anterior teve sucesso parcial. Isso significa que você provavelmente terá que criar uma nova cópia do seu disco de inicialização para repetir todo o procedimento novamente... e estenda o hd5 LV ANTES de executarpprootdev on).
Método 2 - alterando o layout do hd5 em rootvg com alt_disk_copy utilitário
-
Executar
mkszfilehostname. Esse comando cria um arquivo /image.data, que é o layout do rootvg. -
Edite o arquivo image.data e ajuste LPs e LV_MIN_LPS para hd5 (precisamos de mais um PP. Portanto, se LPs e LV_MIB_LPS estiverem definidos como 1, altere esses valores para 2)
Exemplo:
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=
-
Clone rootvg usando o comando:
alt_disk_copy -i /image.data -d hdiskY(hdiskY é o disco de destino) -
Reinicialize o servidor para ativar o disco clonado (com o novo tamanho PP)
-
Executar
pprootdev on.
Método 3 - recriação do hd5
Como mencionado anteriormente, as partições hd5 está em deve ser contígua, e nos primeiros 4 GB do disco rígido. Se você quiser saber se há alguma partição livre disponível ao lado de hd5, execute o seguinte comando:
# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hd5:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2
-
No exemplo acima, não há PP livre após o primeiro usado pelo hd5. Usando um
extendlvnão funcionará, pois o PP extra não será contíguo. Como o hd5 contém apenas o registro de inicialização e esse conteúdo pode ser gerado com umbosboot, podemos recriar completamente o HD5.# rmlv -f hd5 (hdisk0 = rootvg disk) # mklv -y hd5 -t boot -u2 rootvg 2 hdisk0
-
Em seguida, podemos verificar com um
lspv -M hdiskXXque o recém-criado hd5 agora tem duas PP consecutivas.# lspv -M hdisk0 (hdisk0 = rootvg disk) hdisk0:1 hdisk0:2 fslv00:1 hdisk0:3 fslv00:2 .... hdisk0:13 hd5:1 hdisk0:14 hd5:2
A pasta pprootdev on agora deve ser bem-sucedido, supondo que o HD5 LV foi criado dentro dos primeiros 4 GB (isso é o que diz a documentação, mas isso depende da versão do AIX e com o AIX 7.2 TL5, o limite é maior). Portanto, e antes de executar um pprootdev on, execute um bosboot! Se a solicitação do bosboot Não foi possível encontrar o HD5, isso significa que ele está muito longe do início do disco e pprootdev on também falhará: A alteração deve ser desfeita (rmlv -f hd5; mklv -y hd5 -t boot -u1 rootvg 1 hdiskX) e o método 2 devem ser utilizados.