Cloud Image로 KVM에서 VM 생성하기 - 효율적인 리눅스 VM 배포 방법
KVM에서 새로운 가상 머신(VM)을 생성할 때, 많은 경우 ISO 파일을 통해 OS를 수동 설치합니다. 하지만 이 방식은 비효율적이며, 특히 여러 VM을 반복 생성할 때 매우 번거롭습니다. 이번 글에서는 Cloud Image를 이용해 손쉽게 RHEL/CentOS 기반 KVM VM을 생성하는 방법을 정리해보았습니다.
1. Cloud Image란?
Cloud Image는 클라우드 환경(OpenStack, AWS 등)에서 빠른 인스턴스 생성을 위해 만들어진 사전 설치된 경량 OS 이미지입니다. KVM에서도 이 이미지를 이용하면 ISO 설치 과정을 생략하고 곧바로 VM을 실행할 수 있습니다.
2. Cloud Image 다운로드
예: CentOS 또는 RHEL 8.4 Cloud Image를 다운로드합니다.
wget https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.4.2105-20210603.0.x86_64.qcow2
RHEL은 Red Hat Customer Portal에서 계정 로그인이 필요하며, `.qcow2` 형식의 KVM용 이미지를 선택합니다.
3. 이미지 정보 확인
다운로드한 이미지의 정보를 확인해봅니다:
qemu-img info rhel-8.4-x86_64-kvm.qcow2
image: rhel-8.4-x86_64-kvm.qcow2
virtual size: 10G
disk size: 694M
file format: qcow2
Cloud Image는 가볍고 기본 설정만 포함된 상태입니다.
4. root 비밀번호 설정 및 cloud-init 제거
Cloud Image는 기본적으로 cloud-init을 통해 초기화를 수행하므로, 직접 접속이 불가능합니다. 이를 해결하기 위해 virt-customize
를 사용해 root 비밀번호를 설정하고 cloud-init을 제거합니다.
virt-customize -a rhel-8.4-x86_64-kvm.qcow2 --root-password password:root
virt-customize -a rhel-8.4-x86_64-kvm.qcow2 --uninstall cloud-init
이미지 재사용을 위해 원본 이미지를 복사해서 사용할 것을 권장합니다.
cp -pr rhel-8.4-x86_64-kvm.qcow2 rhel-8.4-root.qcow2
5. qcow2 이미지 리사이징
Cloud Image 기본 사이즈는 10G로, 대부분의 실무 환경에서는 부족합니다. qemu-img resize
명령어를 사용해 50G로 확장합니다.
qemu-img resize rhel-8.4-root.qcow2 50G
virtual size: 50G
disk size: 1.7G
6. virt-install을 통한 VM 생성
이미지 준비가 완료되면 virt-install
또는 virt-manager
를 이용해 VM을 생성합니다.
virt-install \
--name rhel8-test \
--memory 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/rhel-8.4-root.qcow2,format=qcow2 \
--import \
--os-type=linux \
--os-variant=rhel8.4 \
--network bridge=br0 \
--graphics none \
--noautoconsole
이제 VM이 생성되었으며, root:root로 로그인 가능합니다.
7. VM 로그인 및 / 파티션 확장
VM에 접속한 후, df -Th
명령어로 확인하면 여전히 루트 파티션이 10G로 설정되어 있음을 볼 수 있습니다.
df -Th
/dev/vda3 xfs 9.9G 1.8G 8.2G /
① growpart로 파티션 확장
growpart /dev/vda 3
② xfs_growfs로 파일시스템 확장
xfs_growfs /dev/vda3
③ 최종 확인
df -Th
/dev/vda3 xfs 50G 2.1G 48G /
이제 Cloud Image를 기반으로 빠르게 커스터마이징된 KVM VM을 배포할 수 있습니다.
✅ 정리 및 실무 팁
- ISO 없이 빠르게 VM 생성 가능
- cloud-init 비활성화 시 로그인이 쉬워짐
- qcow2 파일 복사 후 사용자별 작업 권장
- 파티션 및 파일시스템 확장 필수
- 스크립트를 만들어 대량 배포 자동화 가능
'가상화' 카테고리의 다른 글
RHEL7 환경에서 RHEL8 qcow2 이미지 작업 시 virt-customize 오류 해결 방법 (0) | 2025.05.18 |
---|---|
KVM to KVM VM Live Migration 방법 (0) | 2025.05.09 |