PowerPath: Sådan udvides et Linux-filsystem, selvom der ikke er nogen partitionstabel på en PowerPath LUN
Summary: PowerPath: Sådan udvides et Linux-filsystem, selvom der ikke er nogen partitionstabel på en PowerPath LUN.
Symptoms
Kunden forsøgte at udvide to i native Linux LVM filsystem SAN LUNS, der er kortlagt i native Linux LVM, men det mislykkedes.
En VNX5500, der betjener flere LUN'er via PowerPath 5.3 SP 1 (build 111) til RHEL5- og RHEL6-servere, der kører Linux 2.6.18-128.el5
Kunden havde allerede udvidet brugerkapaciteten for disse to LUN'er på VNX.
Den tidligere kapacitet var 82 GB og 60 GB, og den blev udvidet til henholdsvis 136 GB og 90 GB.
Den procedure, kunden fulgte:
lvdisplay -v /dev/[volgroup]/[logicalvolume]- at identificere fysisk enhedfdisk -l /dev/[device]- for at verificere partitionstabellendf -h /[mountpoint]- at kontrollere den eksisterende kapacitetgrep mpt /sys/class/scsi_host/host?/proc_name- at identificere SCSI-bus, der skal scannes igenecho "- - -" > /sys/class/scsi_host/hostX/scan- for at scanne enheden 'hostX' igenpvs /dev/[device]- for at kontrollere fysisk volumenstørrelsepvresize /dev/[device]- at øge den fysiske volumen til den nye LUN-størrelsepvs /dev/[device]- for at kontrollere ny fysisk volumenstørrelsevgscan- at genopbygge volumengruppecachervgs [volgroup]- for at verificere volumengruppeoplysningerlvextend -l +100%FREE /dev/[volgroup]/[logicalvolume]- for at udvide den logiske lydstyrke til at fylde diskenresize2fs /dev/[volgroup]/[logicalvolume]- for at ændre størrelsen på filsystemet på det logiske volumendf -h /[mountpoint]- at verificere ny kapacitet
De PowerPath-monterede LUN'er synes ikke at have en gyldig partitionstabel:
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 første 512 byte af /dev/emcpowercb er som følger:
hexdump -Cn512 /dev/emcpowercb 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200
Alligevel er LUN'erne monteret og tilgængelige for systemet (for eksempel):
df -h /DCCDBUNIX/data01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg2dccdbnx2pd01-lvdccdbnxd01 84G 67G 13G 84% /DCCDBUNIX/data01
Ovenstående eksempel gælder for følgende PowerPath-tilknyttede 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
Forsøger du at udvide Linux-filsystemet, selvom der ikke er nogen partitionstabel på PowerPath LUN?
Resolution
Per Red Hat, ved hjælp af kommandoen til at afsløre den fysiske volumen er korrekt.
pvs -o+pv_used /dev/[pseudo_device]
Så når du tilføjer en disk til et system og udvider volumengruppen i en stribe over den tilføjede disk.
Sådan får du vist den ubrugte rå diskplads, da den oprindelige LUN blev udvidet.
pvs -av /dev/[pseudo_device]
Ud over at scanne enheden fra værten fungerede blockdev-kommandoerne for alle PowerPath-indbyggede enheder efter hensigten.
:
blockdev --rereadpt /dev/sds blockdev --rereadpt /dev/sdbr blockdev --rereadpt /dev/sddq
Kommandoen nedenfor, der gentager jokertegnene til /sys/class/scsi_host/hostX/scan, så brug af værten til at scanne hele HBA igen for at opdatere LUN-enheden IKKE FUNGEREDE.
echo "1" >/sys/block/sds/device/rescan echo "1" >/sys/block/sdbr/device/rescan echo "1" >/sys/block/sddq/device/rescan
Derefter skal udvidelse af LUN i Unisphere som et sidste trin være rodfæstet for at det kan fungere.
# 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
En anden mulighed er at genstarte, hvilket også virker, da det skaber en fuld genscanning.