Cloud Image로 KVM에서 VM 생성하기

2025. 5. 19. 01:11·가상화
728x90
반응형

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을 실행할 수 있습니다.

🔗 CentOS 공식 Cloud Image 다운로드
🔗 RHEL Cloud Image (계정 필요)

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
🔗 QEMU 이미지 관리 공식 문서

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 파일 복사 후 사용자별 작업 권장
  • 파티션 및 파일시스템 확장 필수
  • 스크립트를 만들어 대량 배포 자동화 가능

728x90
반응형

'가상화' 카테고리의 다른 글

RHEL7 환경에서 RHEL8 qcow2 이미지 작업 시 virt-customize 오류 해결 방법  (0) 2025.05.18
KVM to KVM VM Live Migration 방법  (0) 2025.05.09
'가상화' 카테고리의 다른 글
  • RHEL7 환경에서 RHEL8 qcow2 이미지 작업 시 virt-customize 오류 해결 방법
  • KVM to KVM VM Live Migration 방법
레시피 마스터
레시피 마스터
클라우드 환경에서 OS, 자동화, 컴퓨팅등 알고 있는 지식으로 공유하는데 활용
  • 레시피 마스터
    클라우드 구축 레시피
    레시피 마스터
  • 전체
    오늘
    어제
    • 분류 전체보기 (64) N
      • Linux (15)
      • Virtualization (2)
      • OpenStack (2)
      • Container (13)
      • Monitoring (1)
      • Infra as Code (IaC) (0)
      • 서버_OS (13) N
      • 가상화 (3) N
      • 클라우드 컴퓨팅 (5) N
      • 컨테이너 플랫폼 (3)
      • 자동화 (1)
      • 데이터베이스 (2)
      • 모니터링 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    prometheus node_exporter 연동
    relax and recover 사용법
    ansible-vault encrypt decrypt
    linuxbackup
    ansible vault 사용법
    node exporter 구성
    리눅스 모니터링 시스템 구축
    linux 백업 복구 rear
    ansible 파일 암호화
    ansible암호화
    yaml보안
    rear backup and restore
    prometheus 설치 방법
    리눅스 마이그레이션
    rhel
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
레시피 마스터
Cloud Image로 KVM에서 VM 생성하기
상단으로

티스토리툴바