가상화 또는 클라우드 환경에서의 파티션 확장 (SLES 15 – growpart)
물리서버에서 LVM으로 설정된 디스크 파티션이 아닌 일반적인 디스크 파티션은 용량 확장이 불가합니다.
하지만 가상화 또는 클라우드 환경에서 growpart라는 도구를 사용하면 일반적인 디스크 파티션이라도 확장이 가능합니다.
growpart를 사용하여 KVM 환경(가상화)에서 SLES 15 가 설치된 가상 머신의 디스크 파티션을 확장하는 방법을 설명합니다.

-
growpart 패키지 설치
우선 growpart 도구를 사용하려면 패키지를 설치해야 합니다. Module-Public-Cloud 모듈을 활성화하여 설치할 수 있습니다. 초기 설치 시 선택할 수 있고, 선택을 안하고 넘어갔다면 설치 후 iso 이미지 파일을 이용해 로컬 레포지토리를 설정할 때 활성화할 수 있습니다. 아니면 패키지가 포함된 외부 레포지토리를 연결해서 설치할 수 있습니다.
로컬 레포지토리를 설정한 환경에서 Module-Public-Cloud 모듈을 활성화 한 후 레포지토리 상태를 확인해보면
# zypper lr
…(생략)
9 | Public-Cloud-Module_15.7-0 | local_repo | Yes | (r ) Yes | No
…(생략)
와 같이 추가된 것을 확인할 수 있습니다. 그 다음 growpart 패키지를 설치합니다.
# zypper install growpart
-
파티션 확장
이제 growpart 를 사용하여 파티션을 확장합니다.
여기서 중요한 것은 확장하려는 파티션으로부터 연속적으로 사용할 수 있는 여유 공간이 있어야 합니다.
예를 들어 디스크 하나가
[파티션1][파티션2][여유공간]
로 되어있을 때 파티션 사이는 여유 공간 없이 연속적이고 [파티션2] 뒤에만 여유 공간이 연속적으로 있다면 [파티션2]는 확장이 가능하며, [파티션1]은 확장이 불가합니다.
만약
[파티션1][여유공간][파티션2]
라면 [파티션1] 뒤에 여유 공간이 연속적으로 있어 [파티션1] 확장이 가능합니다.
이처럼 확장하고자 하는 파티션으로부터 연속적으로 사용할 수 있는 여유 공간이 있어야 확장이 가능합니다.
파티션 확장은 아래 명령어로 진행합니다.
# growpart [디스크명] [파티션 번호]
# growpart /dev/sdb 1
/dev/sdb 디스크의 1번 파티션을 확장한다는 의미입니다.
위 설명을 가져와서 확인해보면
[파티션1][파티션2][여유공간]
와 같은 상태에서 [파티션1] 을 확장 시도하게 되면
NOCHANGE: partition 1 is size 6291456. it cannot be grown
확장할 수 없다는 메시지와 함께 실패합니다.
[파티션1][여유공간][파티션2]
와 같은 상태에서 [파티션1] 을 확장 시도하게 되면
CHANGED: partition=1 start=2048 old: size=6291456 end=6293504 new: size=9438208 end=9440256
확장되었다는 메시지와 함께 성공합니다.
-
파일시스템 확장
이 부분을 잘 잊어버릴 수 있는데 LV 확장과 마찬가지로 파티션도 확장한 후에 파일시스템도 같이 확장해주어야 합니다. 파일시스템 종류마다 확장하는 방법은 상이하니 설정한 파일시스템에 해당하는 확장 방법을 사용합니다.
여기서는 XFS 파일시스템을 사용하였기 때문에 아래와 같이 확장해줍니다.
# xfs_growfs [파티션명]
#xfs_growfs /dev/sdb1
-
명령어 옵션 –dry-run
파티션을 실제 확장하기 전,
실제로 변경되지 않지만 결과를 미리 확인해볼 수 있는 옵션으로 –dry-run 옵션이 있습니다.
# growpart –dry-run /dev/sdb 1
-
의견
가상화 환경, 클라우드 환경이 계속해서 많아지는 추세에 growpart 를 잘 사용할 줄 안다면 파티션 확장을 쉽게 할 수 있습니다. 디스크 쪽의 작업이니 만에 하나의 가능성을 염두해서 파티션 확장 전 데이터를 백업해두거나 하면 더욱 더 확실하고 안전하게 기존 파티션을 확장할 수 있을 듯합니다.
자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의: info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr
