PowerPath: Como expandir um file system Linux mesmo que não haja nenhuma tabela de partição em uma LUN do PowerPath

Summary: PowerPath: Como expandir um file system Linux mesmo que não haja nenhuma tabela de partição em uma LUN do PowerPath.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

O cliente estava tentando expandir duas LUNs de SAN de LVM do sistema de arquivos Linux nativo mapeadas no LVM nativo do Linux e não conseguiu.

Um VNX5500 que atende a várias LUNs no PowerPath 5.3 SP 1 (build 111) para servidores RHEL5 e RHEL6 executando Linux 2.6.18-128.el5

O cliente já havia expandido a capacidade do usuário para essas duas LUNs no VNX.
A capacidade anterior era de 82 GB e 60 GB e foi expandida para 136 GB e 90 GB, respectivamente.

O procedimento que o cliente seguia:

  1. lvdisplay -v /dev/[volgroup]/[logicalvolume] - identificar dispositivo físico
  2. fdisk -l /dev/[device] - para verificar a tabela de partição
  3. df -h /[mountpoint] - verificar a capacidade existente
  4. grep mpt /sys/class/scsi_host/host?/proc_name - para identificar o barramento SCSI para verificar novamente
  5. echo "- - -" > /sys/class/scsi_host/hostX/scan - para verificar novamente o dispositivo 'hostX'
  6. pvs /dev/[device] - para verificar o tamanho do volume físico
  7. pvresize /dev/[device] - aumentar o volume físico para o novo tamanho da LUN
  8. pvs /dev/[device] - para verificar o novo tamanho do volume físico
  9. vgscan - para reconstruir caches de grupos de volumes
  10. vgs [volgroup] - para verificar as informações do grupo de volumes
  11. lvextend -l +100%FREE /dev/[volgroup]/[logicalvolume] - para estender o volume lógico para preencher o disco
  12. resize2fs /dev/[volgroup]/[logicalvolume] - para redimensionar o sistema de arquivos no volume lógico
  13. df -h /[mountpoint] - para verificar a nova capacidade

As LUNs montadas no PowerPath não parecem ter uma tabela de partição válida:

fdisk -l /dev/emcpowercb

Disk /dev/emcpowercb: 91.2 GB, 91268055040 bytes
255 heads, 63 sectors/track, 11096 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/emcpowercb doesn't contain a valid partition table

Os primeiros 512 bytes de /dev/emcpowercb são os seguintes:

 hexdump -Cn512 /dev/emcpowercb
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200

No entanto, as LUNs são montadas e podem ser acessadas pelo sistema (por exemplo):

 df -h /DCCDBUNIX/data01
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg2dccdbnx2pd01-lvdccdbnxd01
84G 67G 13G 84% /DCCDBUNIX/data01

O exemplo acima é para a seguinte LUN mapeada do PowerPath:

 vgdisplay -v vg2dccdbnx2pd01
Using volume group(s) on command line
Finding volume group "vg2dccdbnx2pd01"
--- Volume group ---
VG Name vg2dccdbnx2pd01

--- Logical volume ---
LV Name /dev/vg2dccdbnx2pd01/lvdccdbnxd01
VG Name vg2dccdbnx2pd01
LV Size 85.00 GB
Block device 253:9

--- Physical volumes ---
PV Name /dev/emcpowercb
Total PE / Free PE 21759 / 0

 

Cause

Tentando expandir o file system do Linux mesmo que não haja uma tabela de partição na LUN do PowerPath?

 

Resolution

De acordo com a Red Hat, usar o comando para revelar o volume físico está correto.

pvs -o+pv_used /dev/[pseudo_device]

Em seguida, ao adicionar um disco a um sistema e estender o grupo de volumes em uma fração sobre o disco adicionado.

Mostrar o espaço em disco bruto não utilizado quando a LUN original foi expandida.

pvs -av /dev/[pseudo_device]

Além de verificar o dispositivo a partir do host, os comandos blockdev para todos os dispositivos nativos do PowerPath FUNCIONARAM conforme projetado:

blockdev --rereadpt /dev/sds
blockdev --rereadpt /dev/sdbr
blockdev --rereadpt /dev/sddq

O comando abaixo, ecoando os caracteres curinga para /sys/class/scsi_host/hostX/scan de modo que não funcionou o uso do host para verificar novamente todo o HBA para atualizar o dispositivo LUN.

echo "1" >/sys/block/sds/device/rescan
echo "1" >/sys/block/sdbr/device/rescan
echo "1" >/sys/block/sddq/device/rescan

Em seguida, a expansão da LUN no Unisphere como uma última etapa precisa estar na raiz para que ela funcione.

# powermt display dev=emcpowerai
Pseudo name=emcpowerai
VNX ID=APMXXXXXXXXXXX [xxxxx]
Logical device ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [xxxxx_dccdbnx2i02_RV]
state=alive; policy=CLAROpt; queued-IOs=0
Owner: default=SP A, current=SP A Array failover mode: 4
==============================================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3 lpfc sds SP A5 active alive 0 0
3 lpfc sdbr SP B5 active alive 0 0
4 lpfc sddq SP A4 active alive 0 0


 pvs -o+pv_used,dev_size |grep /dev/emcpowerai
/dev/emcpowerai vg2dccdbnx2qi01 lvm2 a-- 60.00G 0 60.00G 60.00G

 umount /DCCDBUNIX/index01

 blockdev --rereadpt /dev/sds
 blockdev --rereadpt /dev/sdbr
 blockdev --rereadpt /dev/sddq

 pvs -o+pv_used,dev_size |grep /dev/emcpowerai
/dev/emcpowerai vg2dccdbnx2qi01 lvm2 a-- 60.00G 0 60.00G 92.00G

 pvresize /dev/emcpowerai
Physical volume "/dev/emcpowerai" changed
1 physical volume(s) resized / 0 physical volume(s) not resized

 pvs -o+pv_used,dev_size |grep /dev/emcpowerai
/dev/emcpowerai vg2dccdbnx2qi01 lvm2 a-- 92.00G 32.00G 60.00G 92.00G

 pvscan |grep '/dev/emcpowerai'
PV /dev/emcpowerai VG vg2dccdbnx2qi01 lvm2 [92.00 GB / 32.00 GB free]

 vgscan |grep 'vg2dccdbnx2qi01'
Found volume group "vg2dccdbnx2qi01" using metadata type lvm2

 vgs |grep vg2dccdbnx2qi01
vg2dccdbnx2qi01 1 1 0 wz--n- 92.00G 32.00G

 lvextend -l +100%FREE /dev/vg2dccdbnx2qi01/lvdccdbnxi01

 lvextend -l +100%FREE /dev/vg2dccdbnx2qi01/lvdccdbnxi01
Extending logical volume lvdccdbnxi01 to 92.00 GB
Logical volume lvdccdbnxi01 successfully resized

 resize2fs /dev/vg2dccdbnx2qi01/lvdccdbnxi01
resize2fs 1.39 (29-May-2006)
Please run 'e2fsck -f /dev/vg2dccdbnx2qi01/lvdccdbnxi01' first.

e2fsck -f /dev/vg2dccdbnx2qi01/lvdccdbnxi01
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg2dccdbnx2qi01/lvdccdbnxi01: 43/7864320 files (16.3% non-contiguous), 12034277/15727616 blocks

 resize2fs /dev/vg2dccdbnx2qi01/lvdccdbnxi01
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg2dccdbnx2qi01/lvdccdbnxi01 to 24116224 (4k) blocks.
The filesystem on /dev/vg2dccdbnx2qi01/lvdccdbnxi01 is now 24116224 blocks long.

 mount /DCCDBUNIX/index01

 df -h
/dev/mapper/vg2dccdbnx2qi01-lvdccdbnxi01
91G 45G 41G 53% /DCCDBUNIX/index01

Outra opção é reinicializar, o que também funciona, pois cria uma nova varredura completa.

 

Affected Products

PowerPath for Linux

Products

PowerPath for Linux
Article Properties
Article Number: 000064342
Article Type: Solution
Last Modified: 20 Oct 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.