2년전에 VMWare에 설치하여 지금껏 사용해 오던 리눅스 가상머신의 하드디스크 용량이 이제 거의 남아 있지 않게 되었다. 주로 개발용으로 사용할 목적으로 리눅스 가상머신을 만들고, 또 처음 설치할 당시에는 이 정도 용량이면 충분하겠지 했는데, 의외로 오랜 기간 동안 가상머신이 망가지지 않고 지금까지 개발환경으로 사용해 온 것이다. 이제 처음 할당했던 디스크가 거의 다 사용되어 하드 디스크의 확장이 필요하다. 실제 컴퓨터의 경우 하드디스크 용량을 늘리고 싶으면 하드디스크를 새로 구매해서 장착하고 파티션 잡고, 포멧해서 마운트 하는 과정을 거친다. VMWare상의 가상머신에서도 비슷한 과정으로 디스크 용량을 늘려준다.
VMWare에 배포판 리눅스를 설치하면 대부분 LVM타입으로 디스크가 설정된다. 따라서 본 포스트에서는 VMWare상에서 디스크의 파티션이 LVM으로 설정된 경우 디스크 용량을 늘리는 방법을 살펴본다.
VMWare에 설치된 리눅스의 디스크 용량을 늘리는 작업의 순서는 다음과 같다.
1) 용량을 늘리고자 하는 가상머신에 장착된 하드디스크의 용량을 키워준다.
2) Guest OS인 리눅스를 부팅한다.
3) fdisk 유틸을 이용해서 PV(Physical Volume)를 설정한다.
4) VG(Volume Group)를 확장한다
5) LV(Logical Volume) 늘리기.
6) 파일 시스템을 조정한다.
각 단계를 살펴보자. 기존에 20GBytes의 하드디스크 용량을 할당해서 설치한 리눅스에 20GBytes의 용량을 늘려 줘서 총 40GBytes의 용량을 가진 리눅스 시스템으로 업그레이드 해본다. 참고로 설치되어 있는 리눅스는 Fedora8이고, 하드디스크는 20GBytes, LVM(Logical Volume Manager) 으로 관리되고 있다.
1. 가상머신상의 하드디스크 늘리기
가상머신에 설치되어 있는 20GBytes 짜리 하드디스크를 40GBytes 짜리 하드디스크로 용량을 늘려 준다. 가상머신의 하드디스크 용량 확장은 vmware-vdiskmanager.exe 라는 유틸을 이용한다. vmware-vdiskmanager.exe는 VMWare 설치시 기본 설치되는 유틸리티이며C:\Program Files\VMware\VMware Workstation에 있다. 콘솔창에서 다음과 같이 명령을 수행한다. 여기서 "Other Linux 2.6.x kernel.vmdk"는 설치되어 있는 Fedora8의 가상머신 이미지 이다. –x 옵션은 가상디스크의 용량을 지정된 크기만큼 늘리라는 명령이다. 여기서는 40Gb를 지정해 줬기 때문에 가상디스크의 크기가 40GBytes로 확장되게 된다.
“C:\Program Files\VMware\VMware Workstation\vmware-
vdiskmanager.exe” -x 40Gb "Other Linux 2.6.x kernel.vmdk"
하드디스크 증설에는 시간이 꽤 걸린다. 마치 컴퓨터 전원을 내리고, 드라이버로
나사 풀고, 하드디스크 끼워 넣는 시간 만큼은 걸리는 것 같다.(시간이 꽤 걸린다.)
2. 이제 하드디스크를 증설했으면 리눅스를 부팅한다.
가상머신을 부팅해서 디스크 사용량과 디스크 관리 타입을 확인해 보니, 다음 그림과 같다. 디스크는 거의 다 사용해서 이제 남은 용량이 658Mb정도 이고, VolGroup00-LogVol00 이 “/” (Root)에 마운트 되어 있으며, 파일 시스템은 ext3 타입이다.
3. PV(Physical Volume)를 생성한다.
/dev/sda3에 파티션을 만들기 위해서는 디바이스 노드 파일이 있어야 하므로, 미리 있는지 확인해 보고 없으면 만들어 준다. 살펴 봤더니, 없어서 다음과 같이 디바이스 노드를 만들어 주고, 소유권을 root:disk로 변경해 주었다.
mknod /dev/sda3 b 8 3
chown root:disk /dev/sda3
fdisk를 이용해서 늘어난 디스크의 크기와 각 파티션별 디스크 타입을 확인해 보면 다음 그림과 같다. 기존에 20GBytes였는데, 42.9GBytes로 늘어 났고, /dev/sda2는 Linux LVM 타입으로 파티션이 설정되어 있으며, 확장된20GBytes의 디스크 용량은 아직 파티션으로는 잡혀 있지 않은 상태임을 알 수 있다. 그림에서 처럼 새로운 파티션을 Primary partition 3로 추가 하고, 파티션 타입을 LinuxLVM타입(8e)으로 설정해 준다.
파티션을 만들고 나서는 반드시 재부팅을 해 줘야 한다.
시스템 재부팅 후 /dev/sda3에 PV(Physical Volume)를 생성해 준다.
pvcreate /dev/sda3
PV 생성 명령의 수행 화면은 다음과 같다.
4. VG(Volume Group) 확장
다음 명령을 수행하여 VG를 확장한다.
vgextend VolGroup00 /dev/sda3
위의 명령은 VolGroup00에 dev/sda3를 추가하라는 명령이다. pvscan명령을 이용하여 /dev/sda3가 VolGroup00에 제대로 추가되었는지 확인한다. 또 vgdisplay VolGroup00 명령을 이용해 Volume group 00의 내용을 보면 다음과 같다.
5. LV(Logical Volume) 늘리기.
LV의 확장은 lvextend 명령을 이용하여 수행한다. 기존의 LV에 새로 추가된 20GBytes의 PV를 확장하자.
lvextend –L +20g /dev/VolGroup00/LogVol00
6. 파일 시스템 크기 조정
다음 명령어를 이용하여 변경된 LV를 파일 시스템에 반영한다.
resize2fs /dev/VolGroup00/LogVol00
이제 하드디스크의 용량을 확인해 보면, 새로 추가한 20GBytes의 용량이 새로 확보되었음을 알 수 있다.
지금까지 VMWare에 설치된 리눅스의 디스크 파티션 타입이 LVM으로 설정되어 있는 경우 디스크 용량을 확장하는 방법에 대해 간략히 살펴 보았으며, 쉽게 확장할 수 있음을 알 수 있다.
참조)
1. vmware-vdiskmanager 사용법
2. LVM 소개
3. Logical Volume Manager(Linux)