PowerPath: Cómo expandir un sistema de archivos Linux a pesar de que no hay ninguna tabla de partición en un LUN de PowerPath
Summary: PowerPath: Cómo expandir un sistema de archivos Linux a pesar de que no hay ninguna tabla de partición en un LUN de PowerPath.
Symptoms
El cliente intentaba expandir dos en los LUN SAN nativos del sistema de archivos LVM de Linux mapeados en LVM nativo de Linux y falló.
Un VNX5500 que presta servicios a varios LUN a través de PowerPath 5.3 SP 1 (compilación 111) a servidores RHEL5 y RHEL6, con Linux 2.6.18-128.el5 en ejecución
El cliente ya había ampliado la capacidad de usuario para estos dos LUN en VNX.
La capacidad anterior era de 82 GB y 60 GB y se amplió a 136 GB y 90 GB, respectivamente.
El procedimiento que estaba siguiendo el cliente:
lvdisplay -v /dev/[volgroup]/[logicalvolume]- Identificar el dispositivo físicofdisk -l /dev/[device]- para verificar la tabla de particionesdf -h /[mountpoint]- Para verificar la capacidad existentegrep mpt /sys/class/scsi_host/host?/proc_name- Identificar el bus SCSI para volver a escanearecho "- - -" > /sys/class/scsi_host/hostX/scan- para volver a escanear el dispositivo 'hostX'pvs /dev/[device]- Para comprobar el tamaño del volumen físicopvresize /dev/[device]- para aumentar el volumen físico al nuevo tamaño de LUNpvs /dev/[device]- Para comprobar el nuevo tamaño del volumen físicovgscan- para reconstruir cachés de grupos de volúmenesvgs [volgroup]- Para verificar la información del grupo de volúmeneslvextend -l +100%FREE /dev/[volgroup]/[logicalvolume]- para extender el volumen lógico para llenar el discoresize2fs /dev/[volgroup]/[logicalvolume]- para cambiar el tamaño del sistema de archivos en el volumen lógicodf -h /[mountpoint]- Para verificar la nueva capacidad
Los LUN montados de PowerPath no parecen tener una tabla de partición 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
Los primeros 512 bytes de /dev/emcpowercb son los siguientes:
hexdump -Cn512 /dev/emcpowercb 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200
Sin embargo, los LUN están montados y son accesibles para el sistema (por ejemplo):
df -h /DCCDBUNIX/data01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg2dccdbnx2pd01-lvdccdbnxd01 84G 67G 13G 84% /DCCDBUNIX/data01
El ejemplo anterior es para el siguiente LUN mapeado de 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
¿Intenta expandir el sistema de archivos de Linux a pesar de que no hay ninguna tabla de partición en el LUN de PowerPath?
Resolution
Según Red Hat, el uso del comando para revelar el volumen físico es correcto.
pvs -o+pv_used /dev/[pseudo_device]
Luego, cuando se agrega un disco a un sistema y se extiende el grupo de volúmenes en una fracción sobre el disco agregado.
Para mostrar el espacio en disco crudo no utilizado cuando se expandió el LUN original.
pvs -av /dev/[pseudo_device]
Además de escanear el dispositivo desde el host, los comandos blockdev para todos los dispositivos nativos de PowerPath FUNCIONARON según lo diseñado:
blockdev --rereadpt /dev/sds blockdev --rereadpt /dev/sdbr blockdev --rereadpt /dev/sddq
El comando que se muestra a continuación que hace eco de los comodines en /sys/class/scsi_host/hostX/scan para que el uso del host para reexaminar todo el HBA a fin de actualizar el dispositivo LUN NO FUNCIONE.
echo "1" >/sys/block/sds/device/rescan echo "1" >/sys/block/sdbr/device/rescan echo "1" >/sys/block/sddq/device/rescan
Luego, expandir el LUN en Unisphere como último paso, debe estar en raíz para que 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
Otra opción es reiniciar, lo que también funciona, ya que crea una reexaminación completa.