PowerPath: PowerPath LUN에 파티션 테이블이 없는데도 Linux 파일 시스템을 확장하는 방법
Summary: PowerPath: PowerPath LUN에 파티션 테이블이 없는데도 Linux 파일 시스템을 확장하는 방법
Symptoms
고객이 기본 Linux LVM 파일 시스템 SAN LUN에서 기본 Linux LVM에 매핑된 두 개의 LUN을 확장하려고 시도했지만 실패했습니다.
Linux 2.6.18-128.el5를 실행하는 RHEL5 및 RHEL6 서버에서 PowerPath 5.3 SP 1(빌드 111)을 통해 여러 LUN을 제공하는 VNX5500
고객이 VNX에서 이 두 LUN에 대한 사용자 용량을 이미 확장했습니다.
이전 용량은 82GB와 60GB였지만 각각 136GB와 90GB로 확장되었습니다.
고객이 수행 중인 절차:
lvdisplay -v /dev/[volgroup]/[logicalvolume]- 물리적 장치를 식별하기 위해fdisk -l /dev/[device]- 파티션 테이블을 확인하려면df -h /[mountpoint]- 기존 용량 확인grep mpt /sys/class/scsi_host/host?/proc_name- 다시 검색할 SCSI 버스 식별echo "- - -" > /sys/class/scsi_host/hostX/scan- 장치 'hostX'를 다시 검색하려면pvs /dev/[device]- 물리 볼륨 크기 확인pvresize /dev/[device]- 물리 볼륨을 새 LUN 크기로 늘리려면pvs /dev/[device]- 새 물리 볼륨 크기를 확인하려면vgscan- 볼륨 그룹 캐시를 재구축하려면vgs [volgroup]- 볼륨 그룹 정보를 확인하려면lvextend -l +100%FREE /dev/[volgroup]/[logicalvolume]- 디스크를 채우기 위해 논리 볼륨을 확장하려면resize2fs /dev/[volgroup]/[logicalvolume]- 논리 볼륨에서 파일 시스템의 크기를 조정하려면df -h /[mountpoint]- 새 용량을 확인하려면
PowerPath 마운트 LUN에 유효한 파티션 테이블이 없는 것 같습니다.
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
/dev/emcpowercb의 첫 512바이트는 다음과 같습니다.
hexdump -Cn512 /dev/emcpowercb 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200
하지만 LUN이 마운트되어 있고 시스템에서 액세스할 수 있습니다(예:
df -h /DCCDBUNIX/data01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg2dccdbnx2pd01-lvdccdbnxd01 84G 67G 13G 84% /DCCDBUNIX/data01
위의 예는 다음 PowerPath 매핑 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
PowerPath LUN에 파티션 테이블이 없는데도 Linux 파일 시스템을 확장하려고 합니까?
Resolution
Red Hat에 따라 물리적 볼륨을 표시하는 명령을 사용하는 것이 올바릅니다.
pvs -o+pv_used /dev/[pseudo_device]
그런 다음 시스템에 디스크를 추가하고 추가된 디스크 위에 스트라이프로 볼륨 그룹을 확장할 때
원래 LUN이 확장될 때 사용되지 않은 원시 디스크 공간을 표시합니다.
pvs -av /dev/[pseudo_device]
호스트에서 디바이스를 스캔하는 것 외에도 모든 PowerPath 기본 디바이스에 대한 blockdev 명령이 설계된 대로 작동했습니다.
blockdev --rereadpt /dev/sds blockdev --rereadpt /dev/sdbr blockdev --rereadpt /dev/sddq
와일드카드를 /sys/class/scsi_host/hostX/scan에 에코하는 아래 명령은 호스트를 사용하여 전체 HBA를 재검색하여 LUN 디바이스를 새로 고치는 기능이 작동하지 않습니다.
echo "1" >/sys/block/sds/device/rescan echo "1" >/sys/block/sdbr/device/rescan echo "1" >/sys/block/sddq/device/rescan
그런 다음 마지막 단계로 Unisphere에서 LUN을 확장하면 루트에 있어야 작동합니다.
# 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
또 다른 옵션은 재부팅하는 것인데, 전체 재검색을 생성하므로 작동합니다.