PowerPath: Een Linux-bestandssysteem uitbreiden, ook al is er geen partitietabel op een PowerPath LUN
Summary: PowerPath: Een Linux-bestandssysteem uitbreiden ook al is er geen partitietabel op een PowerPath LUN.
Symptoms
De klant probeerde twee in het native Linux LVM-bestandssysteem SAN LUNS uit te breiden dat is toegewezen in native Linux LVM, maar dat is mislukt.
Een VNX5500 die meerdere LUN's via PowerPath 5.3 SP 1 (build 111) bedient naar RHEL5- en RHEL6-servers met Linux 2.6.18-128.el5
De klant had de gebruikerscapaciteit voor deze twee LUNS al uitgebreid op de VNX.
De vorige capaciteit was 82 GB en 60 GB en werd uitgebreid tot respectievelijk 136 GB en 90 GB.
De procedure die de klant volgde:
lvdisplay -v /dev/[volgroup]/[logicalvolume]- Om het fysieke apparaat te identificerenfdisk -l /dev/[device]- om de partitietabel te controlerendf -h /[mountpoint]- om de bestaande capaciteit te verifiërengrep mpt /sys/class/scsi_host/host?/proc_name- Om de SCSI-bus te identificeren om opnieuw te scannenecho "- - -" > /sys/class/scsi_host/hostX/scan- om apparaat 'hostX' opnieuw te scannenpvs /dev/[device]- Om de fysieke volumegrootte te controlerenpvresize /dev/[device]- om het fysieke volume te laten groeien naar de nieuwe LUN-groottepvs /dev/[device]- Om de nieuwe fysieke volumegrootte te controlerenvgscan- om caches van volumegroepen opnieuw op te bouwenvgs [volgroup]- om de informatie over de volumegroep te verifiërenlvextend -l +100%FREE /dev/[volgroup]/[logicalvolume]- om het logische volume uit te breiden om de schijf te vullenresize2fs /dev/[volgroup]/[logicalvolume]- om de grootte van het bestandssysteem op het logische volume te wijzigendf -h /[mountpoint]- om nieuwe capaciteit te verifiëren
De aan PowerPath gekoppelde LUN's lijken geen geldige partitietabel te hebben:
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
De eerste 512 bytes van /dev/emcpowercb zijn als volgt:
hexdump -Cn512 /dev/emcpowercb 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200
Toch zijn de LUN's gekoppeld en toegankelijk voor het systeem (bijvoorbeeld):
df -h /DCCDBUNIX/data01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg2dccdbnx2pd01-lvdccdbnxd01 84G 67G 13G 84% /DCCDBUNIX/data01
Het bovenstaande voorbeeld is voor de volgende aan PowerPath toegewezen LUN:
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
Probeert u het Linux-bestandssysteem uit te breiden terwijl er geen partitietabel is op de PowerPath LUN?
Resolution
Volgens Red Hat is het correct om de opdracht te gebruiken om het fysieke volume te onthullen.
pvs -o+pv_used /dev/[pseudo_device]
Vervolgens bij het toevoegen van een schijf aan een systeem en het uitbreiden van de volumegroep in een streep over de toegevoegde schijf.
Om de ongebruikte onbewerkte schijfruimte weer te geven toen de oorspronkelijke LUN werd uitgebreid.
pvs -av /dev/[pseudo_device]
Naast het scannen van het apparaat vanaf de host WERKTEN de blockdev-opdrachten voor alle PowerPath native apparaten zoals ontworpen.
:
blockdev --rereadpt /dev/sds blockdev --rereadpt /dev/sdbr blockdev --rereadpt /dev/sddq
De opdracht hieronder die de jokertekens herhaalt naar /sys/class/scsi_host/hostX/scan zodat het gebruik van de host om de hele HBA opnieuw te scannen om het LUN-apparaat te vernieuwen NIET WERKT.
echo "1" >/sys/block/sds/device/rescan echo "1" >/sys/block/sdbr/device/rescan echo "1" >/sys/block/sddq/device/rescan
Vervolgens moet het uitbreiden van de LUN in Unisphere als laatste stap in root zijn om het te laten werken.
# 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
Een andere optie is om opnieuw op te starten, wat ook werkt, omdat het een volledige herscan maakt.