본문 바로가기
IT Info/Linux

Linux 무중단 vDisk 용량 증설 [RHEL, CentOS]

by Myste.Lee 2020. 10. 16.
728x90

간혹 VM 용량 부족으로 디스크 용량 늘려달라는 요청이 있어 일기처럼 간단히 작성 해 놓으려 한다

모든 작업은 재부팅 없이 진행 할 수 있는 방법으로 진행 한다

 

테스트 환경

- VMware Workstation

- Linux VM - CentOS 7.8 Minimal 설치

 

작업 순서

1. 새로운 가상 디스크 추가 (기존 가상 디스크 용량 추가는 무조건 재부팅이 필요 하다)

2. 새로운 가상 디스크 추가 인식 명령어 수행

3. 파티션 생성

4. PV 생성, VG 추가, LV 증설

5. XFS 용량 증가

 

기존 디스크 용량 수정과 새로운 디스크 추가는 다르므로 재부팅 없이 작업하려면 필히 새로운 디스크를 추가하여

기존 VG에 추가하는 방향으로 작업을 해야 한다 (중요 서비스 또는 24시간 서비스 작업 때 유용 함)

 

 

기존 환경은 vDisk 50GB 할당 되어 있다

단일 VG, 단일PV, 두개의 LV가 보인다 (swap, root)

45GB의 centos-root LV에 용량 5GB를 추가 할 예정이다, 가상머신 편집에서 새로운 디스크 5G 추가 완료

 

하지만 fdisk -l 명령어로 확인 시 새로 추가한 디스크는 보이지 않는다

새로 추가된 디스크 인식 및 검색을 위하며 해당 명령어를 수행

echo "- - -" > /sys/class/scsi_host/host0/scan

위 내용중 "- - -" 은 채널, SCSI대상ID, LUN 값을 와일드 카드로 대채 하여 모두 다시 검색으로 사용 할 수 있다

host0 Scan 안나올 시 1 또는 2도 시도 해본다

 

장치 재검색 이후 /dev/sdb (5GB) 추가 됨을 확인 할 수 있다.

fdisk /dev/sdb  #파티션 생성 진행

용량은 풀로 잡고 Type은 Linux LVM(8e) 변경 후 저장, /dev/sdb1 파티션 생성을 확인 할 수 있다

PV생성

pvcreate /dev/신규파티션

pvs 또는 pvdisplay 확인

VG에 신규PV 추가

vgextend VGname /dev/PVPath

vgdisplay 에서 Free PE Size 확인, VG사이즈 늘어남을 확인할수있다

많이 하는 실수는 아니지만 사소한 실수가 발생 하는 부분이니 주의 하자

1. 5GB 추가했다고 해서 5GB 온전히 추가 되는게 아니므로 PE 수량으로 추가해주는게 편하다

2. 용량 또는 PE수량 앞에 + 없이 명령을 수행 하면 기입한 용량으로 적용 되므로 주의 

예) lvextend /dev/centos/root -L 5G     =>    root lv가 45GB 에서 5GB로 적용 됌

정상적으로 LV용량 증가를 확인 할 수 있다

lvextend -l +100%FREE /dev/volgroup/logvol (퍼센트로 증설 가능)

하지만 마운트 정보를 보면 용량을 그대로...

xfs_growfs /dev/mapper/LVName 용량 증가 

파일시스템이 XFS 이므로 위의 명령어가 맞지만 ext4의 경우 명령어가 다르다

이렇게 서비스의 중단 없이 LV사이즈를 변경 했다

 

사용한 명령어 모음

#echo "- - -" > /sys/class/scsi_host/host0/scan

#fdisk -l

#fdisk -l /dev/sd#

#pvs or pvdisplay

#pvcreate /dev/sdb1

#vgs or vgdisplay

#vgextend VGname PVPath(/dev/centos/root)

#lvs or lvdisplay

#lvextend LVPath(/dev/centos/root) (-L +용량) 또는 (-l +PE수량 또는 +퍼센트%)

#xfs_growfs LVPath(dev/mapper/centos-root)

 

 

 

728x90

댓글