우분투에서 Virt-manager를 사용하여 게스트OS를 여러가지 올려서 사용중에 문제가 발생했어요. 20GB로 잡아둔 하나의 게스트 OS(debian)의 하드디스크 용량을 다 써버린거에요. 저와 같은 문제를 겪으신 분들을 위해 fdisk 명령어를 통해 간단하게 디스크 용량을 늘리는 방법을 알려드릴게요.
순서대로 따라오시면 누구나 쉽게 용량 증설에 성공하실거에요. 참고로 터미널 명령어는 모두 sudo권한이 필요합니다. root 계정으로 로그인해서 작업하시는 것을 권장드립니다.
Host OS(우분투)에서 작업해야 할 사항
1. 게스트 OS 이미지 위치, 이름 확인
먼저 호스트 OS인 우분투에서 Virt-Manager를 켭니다. 그리고 게스트OS 정보로 들어갑니다.
[정보 > IDE Disk 1] 메뉴를 들어가면 Source path가 나옵니다. 디렉토리 경로와 이미지 이름을 기억해주세요.
2. 게스트 OS 용량 재할당
터미널을 열어 이미지가 위치하는 Source path의 디렉토리로 이동합니다. 이어서 아래 명령어를 입력해주세요. generic-clone-1.qcow2 가상 디스크 이미지의 하드디스크 용량에 30G를 추가 할당해달라는 명령어입니다.
qemu-img resize generic-clone-1.qcow2 +30G
qemu-img: Could not open ‘generic-clone-1.qcow2’: Failed to get “write” lock
Is another process using the image?
만약 위와 같은 메시지가 나오면 GuestOS가 정상적으로 종료되지 않은 상태입니다. 강제 종료 후 다시 용량 증설을 시도해주세요.
정상적으로 용량이 추가할당 되었다면 “Image resized.”라는 메시지가 나옵니다.
게스트 OS에서 작업해야 할 사항
1. lsblk 명령어로 용량 할당 확인
lsblk로 디스크의 총 용량을 확인합니다. 저는 최초 20G였는데 +30G를 추가하고 테스트를 위해 추가로 +10G를 또 추가해주었더니 sda 디스크에 60G가 잡혀있는 것을 볼 수 있습니다.
그리고 디스크에는 sda1, sda2, sda5 파티션이 잡혀있는데요. 제가 원하는 것은 파티션 1번인 sda1의 용량을 늘리는 것입니다. 그런데 저처럼 1번 파티션 뒤에 2, 5번 파티션이 존재하면 1번 파티션을 늘리는 것이 불가능합니다. 따라서 2,5번 파티션은 삭제해주어야합니다.
2. fdisk로 파티션 정보 확인 & 삭제 & 편집
먼저 fdisk -l 명령어로 파티션에 대한 정보를 확인합니다. 저의 경우에는 2번파티션은 확장파티션, 5번파티션 스왑 메모리로 잡아두었네요.
이어서 아래의 명령어를 입력하여 sda 디스크에 있는 2,5번 파티션을 삭제합니다.
#fdisk 명령어로 /dev/sda 디스크를 편집함
fdisk /dev/sda
#이후 차례대로 d 5 d 2 w 입력
#d는 삭제, 숫자는 파티션, w는 저장을 뜻함.
이어서 아래 명령어를 입력하여 sda 디스크에 있는 1번 파티션을 삭제한 후 디스크의 모든 용량을 1번파티션으로 재할당합니다.
fdisk /dev/sda
#d n p 엔터 엔터 엔터 n w 입력합니다.
#d는 삭제, n는 새로운 파티션 입력, p는 primary 파티션, 엔터는 default 값으로 지정을 뜻합니다.
동작하고 있는 파티션을 수정했기 때문에 재부팅을 1회 진행하였습니다.
재부팅 이후 df -h 명령어로 /dev/sda1 파티션을 확인하였으나 16G로 이전 설정 용량이 그대로입니다. 하지만 lsblk 명령어로 확인해보면 정상적으로 60G가 할당되있는 것을 볼 수 있어요. 이런경우에 resize2fs 명령어를 쳐주어야 정상적으로 적용이 됩니다.
resize2fs /dev/sda1
resize2fs 명령어를 친 직후 df -h 명령어로 디스크 용량을 확인해보면 정상적으로 60G 용량이 할당된 것을 볼 수 있습니다.
가상머신 디스크 용량 증설을 마치며
이번 시간에는 KVM 가상머신에서 GuestOS 용량 증설 방법에 대해 알아보았는데요. fdisk 명령어로 파티션 편집을 진행하기 때문에 초보자들에게는 생각보다 난이도가 있을 수 있어요. 명령어들이 너무 어렵게 느껴진다면 그래픽 파티션 편집 도구인 gparted 툴을 사용해보시는 것도 추천드립니다.
윈도우의 버츄얼박스에서 게스트OS 용량 증설 하는 방법이 궁금하다면 [이 포스팅]을 참고해주세요.