13.4. 가상 머신에 스토리지 연결


VM(가상 머신)에 스토리지를 추가하려면 가상 디스크로 VM에 스토리지 리소스를 연결할 수 있습니다.

물리적 스토리지 장치와 유사하게 가상 디스크는 연결된 VM과 독립적이며 다른 VM으로 이동할 수 있습니다.

여러 유형의 스토리지 리소스를 사용하여 가상 디스크를 VM에 추가할 수 있습니다.

13.4.1. 명령줄을 사용하여 가상 머신에 파일 기반 가상 디스크 연결

가상 머신에 로컬 스토리지를 제공하기 위해 가장 쉬운 옵션은 일반적으로 .qcow2 또는 .raw 형식으로 파일 기반 가상 디스크를 연결하는 것입니다.

명령줄에서 이를 수행하려면 다음 방법 중 하나를 사용할 수 있습니다.

  • libvirt 에서 관리하는 디렉터리 기반 스토리지 풀에 파일 기반 스토리지 볼륨을 생성합니다. 이를 위해서는 여러 단계가 필요하지만 하이퍼바이저와 보다 효과적으로 통합됩니다.

    RHEL 10 호스트에서 첫 번째 VM을 생성할 때 기본 디렉터리 기반 스토리지 볼륨이 자동으로 생성됩니다. 이 스토리지 풀의 이름은 디스크 이미지를 저장하는 디렉터리의 이름을 기반으로 합니다. 예를 들어 libvirt시스템 세션에서 디스크 이미지는 /var/lib/libvirt/images/ 디렉터리에 저장되고 스토리지 풀의 이름은 images 입니다.

  • qemu-img 명령을 사용하여 호스트 파일 시스템에 가상 디스크를 파일로 생성합니다. 이 방법은 더 빠른 방법이지만 libvirt 와의 통합을 제공하지 않습니다.

    결과적으로 qemu-img 를 사용하여 생성된 가상 디스크는 생성 후 관리하기가 더 어렵습니다.

참고

명령줄에서 새 VM을 생성할 때 파일 기반 가상 디스크를 생성하고 연결할 수도 있습니다. 이렇게 하려면 virt-install 유틸리티와 함께 --disk 옵션을 사용합니다. 자세한 내용은 가상 머신 생성 을 참조하십시오.

프로세스

  1. 선택 사항: 가상 디스크를 스토리지 볼륨으로 생성하지만 호스트에서 기본 이미지 스토리지 풀 또는 다른 기존 스토리지 풀을 사용하지 않으려면 새 디렉터리 기반 스토리지 풀을 생성하고 설정합니다.

    1. 디렉터리 유형 스토리지 풀을 구성합니다. 예를 들어 /guest_images 디렉터리를 사용하는 guest_images_dir 이라는 스토리지 풀을 생성하려면 다음을 수행합니다.

      # virsh pool-define-as guest_images_dir dir --target "/guest_images"
      Pool guest_images_dir defined
    2. 이전에 정의한 구성을 기반으로 스토리지 풀의 대상 경로를 생성합니다.

      # virsh pool-build guest_images_dir
        Pool guest_images_dir built
    3. 스토리지 풀을 시작합니다.

      # virsh pool-start guest_images_dir
        Pool guest_images_dir started
    4. 선택 사항: 호스트 부팅 시 시작되도록 스토리지 풀을 설정합니다.

      # virsh pool-autostart guest_images_dir
        Pool guest_images_dir marked as autostarted
    5. 선택 사항: 스토리지 풀이 실행 중인지 확인합니다. 보고된 크기가 예상대로 있는지 그리고 autostart가 올바르게 구성되어 있는지 확인합니다.

      # virsh pool-info guest_images_dir
        Name:           guest_images_dir
        UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
        State:          running
        Persistent:     yes
        Autostart:      yes
        Capacity:       458.39 GB
        Allocation:     197.91 MB
        Available:      458.20 GB
  2. 파일 기반 가상 디스크를 생성합니다. 이렇게 하려면 다음 방법 중 하나를 사용합니다.

    • libvirt 에서 관리하지 않는 파일 기반 VM 디스크를 신속하게 생성하려면 qemu-img 유틸리티를 사용합니다.

      예를 들어 다음 명령은 크기가 30GB인 test-image 라는 qcow2 디스크 이미지를 생성합니다.

      # qemu-img create -f qcow2 test-image 30G
      
      Formatting 'test-image', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=32212254720 lazy_refcounts=off refcount_bits=16
    • libvirt 에서 관리하는 파일 기반 VM 디스크를 만들려면 기존 디렉터리 기반 스토리지 풀을 기반으로 디스크를 스토리지 볼륨으로 정의합니다.

      예를 들어 다음 명령은 guest_images_dir 스토리지 풀을 기반으로 vm-disk1 이라는 20GB qcow2 볼륨을 생성합니다.

      # virsh vol-create-as --pool guest_images_dir --name vm-disk1 --capacity 20GB --format qcow2
      
      Vol vm-disk1 created
  3. 생성한 가상 디스크를 찾습니다.

    • qemu-img 를 사용하여 생성된 VM 디스크의 경우 일반적으로 현재 디렉터리입니다.
    • 스토리지 볼륨의 경우 볼륨이 속하는 스토리지 풀을 검사합니다.

      # virsh vol-list --pool guest_images_dir --details
      
       Name        Path                          Type   Capacity    Allocation
      --------------------------------------------------------------------------
       vm-disk1    /guest-images/vm-disk1      file   20.00 GiB   196.00 KiB
  4. 디스크를 연결할 VM에서 이미 사용되는 대상 장치를 찾습니다.

    # virsh domblklist --details <vm-name> Type Device Target Source ---------------------------------------------------------------- file disk *vda      /home/VirtualMachines/vm-name.qcow2
     file   cdrom    vdb      -
  5. 선택 사항: 데이터 손상 또는 디스크 조각화에 대한 문제를 방지하려면 디스크의 일관성을 확인합니다. 자세한 내용은 가상 디스크의 일관성 확인을 참조하십시오.
  6. virsh attach-disk 명령을 사용하여 VM에 디스크를 연결합니다. VM에서 사용하지 않는 대상 장치를 제공합니다.

    예를 들어 다음 명령은 이전에 생성된 test-disk1 을 Cryostat 장치로 testguest1 VM에 연결합니다.

    # virsh attach-disk testguest1 /guest-images/vm-disk1 vdc --persistent

검증

  1. 디스크를 연결한 VM의 XML 구성을 검사하여 구성이 올바른지 확인합니다.

    # virsh dumpxml testguest1
    
    ...
        <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2' discard='unmap'/>
          <source file='/guest-images/vm-disk1' index='1'/>
          <backingStore/>
          <target dev='vdc' bus='virtio'/>
          <alias name='virtio-disk2'/>
          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
    ...
  2. VM의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동