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의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.

13.4.2. 웹 콘솔을 사용하여 가상 머신에 파일 기반 가상 디스크 연결

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

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

참고

웹 콘솔에서 새 VM을 생성할 때 파일 기반 가상 디스크를 생성하고 연결할 수도 있습니다. 이렇게 하려면 가상 머신 생성 대화 상자에서 Storage 옵션을 사용합니다. 자세한 내용은 웹 콘솔을 사용하여 가상 머신 생성을 참조하십시오.

사전 요구 사항

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. 선택 사항: 기본 이미지 스토리지 풀을 사용하여 새 가상 디스크를 생성하지 않으려면 새 스토리지 풀을 생성합니다.

    1. 가상 머신 인터페이스 상단에 있는 스토리지 풀 을 클릭합니다. 스토리지 풀 생성.
    2. 스토리지 풀 생성 대화 상자에서 스토리지 풀의 이름을 입력합니다.
    3. 유형 드롭다운 메뉴에서 Filesystem 디렉토리를 선택합니다.
    4. 다음 정보를 입력합니다.

      • 대상 경로 - 스토리지 풀의 위치입니다.
      • startup - 호스트가 부팅될 때 스토리지 풀이 시작되는지의 여부입니다.
    5. 생성을 클릭합니다.

      스토리지 풀이 생성되고 스토리지 풀 생성 대화 상자가 닫히면 새 스토리지 풀이 스토리지 풀 목록에 표시됩니다.

  3. 기존 스토리지 풀을 기반으로 새 스토리지 볼륨을 생성합니다.

    1. 스토리지 창에서 스토리지 볼륨을 생성할 스토리지 풀을 클릭합니다. 스토리지 볼륨 볼륨 생성.
    2. 스토리지 볼륨 생성 대화 상자에 다음 정보를 입력합니다.

      • name - 스토리지 볼륨의 이름입니다.
      • size - 스토리지 볼륨의 크기 (MiB 또는 GiB)입니다.
      • Format - 스토리지 볼륨의 형식입니다. 지원되는 유형은 qcow2raw 입니다.
    3. 생성을 클릭합니다.
  4. 선택 사항: 데이터 손상 또는 디스크 조각화에 대한 문제를 방지하려면 디스크의 일관성을 확인합니다. 자세한 내용은 가상 디스크의 일관성 확인을 참조하십시오.
  5. 생성된 스토리지 볼륨을 VM에 디스크로 추가합니다.

    1. 가상 머신 인터페이스에서 새 디스크를 생성하고 연결할 VM을 클릭합니다.

      VM의 그래픽 인터페이스에 액세스하기 위한 선택한 VM 및 콘솔 섹션에 대한 기본 정보가 포함된 개요 섹션이 포함된 새 페이지가 열립니다.

    2. 디스크로 스크롤 합니다.
    3. 디스크 섹션에서 디스크 추가 를 클릭합니다.
    4. 디스크 추가 대화 상자에서 기존 사용 을 선택합니다.
    5. 디스크에 사용할 스토리지 풀 및 스토리지 볼륨을 선택합니다.
    6. 디스크가 영구적인지 여부를 선택합니다.

      참고

      임시 디스크는 실행 중인 VM에만 추가할 수 있습니다.

    7. 선택 사항: 추가 옵션 표시를 클릭하고 스토리지 볼륨의 캐시 유형, 버스 유형 및 디스크 식별자를 조정합니다.
    8. 추가 를 클릭합니다.

검증

  • VM의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.

13.4.3. 명령줄을 사용하여 가상 머신에 디스크 기반 스토리지 연결

VM(가상 머신)의 로컬 스토리지를 제공하기 위해 디스크 기반 디스크 이미지를 사용할 수 있습니다. 이 유형의 디스크 이미지는 호스트의 디스크 파티션을 기반으로 하며 .qcow2 또는 .raw 형식을 사용합니다.

명령줄을 사용하여 디스크 기반 스토리지를 VM에 연결하려면 다음 방법 중 하나를 사용합니다.

  • 새 VM을 생성할 때 --disk 옵션을 사용하여 virt-install 명령의 일부로 새 디스크를 생성하고 연결합니다. 자세한 내용은 가상 머신 생성 을 참조하십시오.
  • 기존 VM의 경우 디스크 기반 스토리지 볼륨을 생성하여 VM에 연결합니다. 자세한 내용은 다음 절차를 참조하십시오.

사전 요구 사항

  • 하이퍼바이저가 디스크 기반 스토리지 풀을 지원하는지 확인합니다.

    # virsh pool-capabilities | grep "'disk' supported='yes'"

    명령이 출력을 표시하는 경우 디스크 기반 풀이 지원됩니다.

  • 스토리지 풀을 기반으로 할 장치를 준비합니다. 이를 위해 파티션(예: /dev/sdb1) 또는 LVM 볼륨을 선호합니다. VM에 전체 디스크 또는 블록 장치(예: /dev/sdb)에 대한 쓰기 액세스 권한이 있는 경우 VM은 이를 파티션하거나 자체 LVM 그룹을 만들 가능성이 있습니다. 이로 인해 호스트에 시스템 오류가 발생할 수 있습니다.

    그러나 스토리지 풀에 전체 블록 장치를 사용해야 하는 경우 Red Hat은 장치의 중요한 파티션을 GRUB의 os-prober 기능으로부터 보호하는 것이 좋습니다. 이렇게 하려면 /etc/default/grub 파일을 편집하고 다음 구성 중 하나를 적용합니다.

    • os-prober 를 비활성화합니다.

      GRUB_DISABLE_OS_PROBER=true
    • os-prober 가 사용하려는 파티션을 검색하지 못하도록 합니다. 예를 들면 다음과 같습니다.

      GRUB_OS_PROBER_SKIP_LIST="5ef6313a-257c-4d43@/dev/sdb1"
  • 스토리지 풀을 생성하기 전에 선택한 스토리지 장치의 데이터를 백업합니다. 사용 중인 libvirt 버전에 따라 디스크를 스토리지 풀로 전달하면 현재 디스크 장치에 저장된 모든 데이터를 다시 포맷하고 지울 수 있습니다.

프로세스

  1. 디스크 기반 스토리지 풀이 아직 없는 경우 새 디스크 기반 스토리지 풀을 생성하고 설정합니다.

    1. 디스크 유형 스토리지 풀을 정의하고 생성합니다. 다음 예제에서는 /dev/sdb 장치를 사용하고 /dev 디렉터리에 마운트되는 guest_images_disk 라는 스토리지 풀을 생성합니다.

      # virsh pool-define-as guest_images_disk disk --source-format=gpt --source-dev=/dev/sdb --target /dev
      Pool guest_images_disk defined
    2. 사전 포맷된 파일 시스템 스토리지 풀에 대한 스토리지 풀 대상 경로를 생성하고, 스토리지 소스 장치를 초기화하고, 데이터 형식을 정의합니다.

      # virsh pool-build guest_images_disk
        Pool guest_images_disk built
    3. 선택 사항: 풀이 생성되었는지 확인합니다.

      # virsh pool-list --all
      
        Name                 State      Autostart
        -----------------------------------------
        default              active     yes
        guest_images_disk    inactive   no
    4. 스토리지 풀을 시작합니다.

      # virsh pool-start guest_images_disk
        Pool guest_images_disk started
      참고

      virsh pool-start 명령은 영구 스토리지 풀에만 필요합니다. 임시 스토리지 풀은 생성될 때 자동으로 시작됩니다.

    5. 선택 사항: 자동 시작을 활성화합니다.

      기본적으로 virsh 로 정의된 스토리지 풀은 가상화 서비스가 시작될 때마다 자동으로 시작되도록 설정되지 않습니다. virsh pool-autostart 명령을 사용하여 스토리지 풀을 자동으로 시작하도록 구성합니다.

      # virsh pool-autostart guest_images_disk
        Pool guest_images_disk marked as autostarted
  2. 디스크 기반 스토리지 볼륨을 생성합니다. 예를 들어 다음 명령은 guest_images_disk 스토리지 풀을 기반으로 vm-disk1 이라는 20GB qcow2 볼륨을 생성합니다.

    # virsh vol-create-as --pool guest_images_disk --name sdb1 --capacity 20GB --format extended
    
    Vol vm-disk1 created
  3. 스토리지 볼륨을 가상 디스크로 VM에 연결합니다.

    1. 생성한 스토리지 볼륨을 찾습니다. 이렇게 하려면 볼륨이 속하는 스토리지 풀을 검사합니다.

      # virsh vol-list --pool guest_images_disk --details
      
       Name        Path                      Type   Capacity    Allocation
      ---------------------------------------------------------------------
       sdb1      /dev/sdb1                  block   20.00 GiB   20.00 GiB
    2. 디스크를 연결할 VM에서 이미 사용되는 대상 장치를 찾습니다.

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

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

      # virsh attach-disk testguest1 /dev/sdb1 vdc --persistent

검증

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

    # virsh dumpxml testguest1
    
    ...
      <disk type="block" device="disk">
        <driver name="qemu" type="raw"/>
        <source dev="/dev/sdb1" index="2"/>
        <backingStore/>
        <target dev="vdc" bus="virtio"/>
        <alias name="virtio-disk2"/>
        <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
      </disk>
    ...
  2. VM의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.

13.4.4. 웹 콘솔을 사용하여 가상 머신에 디스크 기반 스토리지 연결

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

웹 콘솔을 사용하여 디스크 기반 스토리지를 VM에 연결하려면 다음 방법 중 하나를 사용합니다.

  • 새 VM을 생성할 때 가상 머신 생성 대화 상자에서 Storage 옵션을 사용하여 새 디스크를 생성하고 연결합니다. 자세한 내용은 웹 콘솔을 사용하여 가상 머신 생성을 참조하십시오.
  • 기존 VM의 경우 디스크 기반 스토리지 볼륨을 생성하여 VM에 연결합니다. 자세한 내용은 다음 절차를 참조하십시오.

사전 요구 사항

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. 디스크 기반 스토리지 풀이 아직 없는 경우 새 디스크 기반 스토리지 풀을 생성하고 설정합니다.

    1. 가상 머신 인터페이스 상단에 있는 스토리지 풀 을 클릭합니다. 스토리지 풀 생성.
    2. 스토리지 풀 생성 대화 상자에서 스토리지 풀의 이름을 입력합니다.
    3. 유형 드롭다운 메뉴에서 물리적 디스크 장치를 선택합니다.

      참고

      드롭다운 메뉴에 물리적 디스크 장치 옵션이 표시되지 않으면 하이퍼바이저에서 디스크 기반 스토리지 풀을 지원하지 않습니다.

    4. 다음 정보를 입력합니다.

      • 대상 경로 - 대상 장치를 지정하는 경로입니다. 이는 스토리지 풀에 사용되는 경로가 됩니다.
      • 소스 경로 - 스토리지 장치를 지정하는 경로입니다. 예를 들면 /dev/sdb 입니다.
      • format - 파티션 테이블의 유형입니다.
      • startup - 호스트가 부팅될 때 스토리지 풀이 시작되는지의 여부입니다.
    5. 생성을 클릭합니다.

      스토리지 풀이 생성되고 스토리지 풀 생성 대화 상자가 닫히면 새 스토리지 풀이 스토리지 풀 목록에 표시됩니다.

  3. 기존 스토리지 풀을 기반으로 새 스토리지 볼륨을 생성합니다.

    1. 스토리지 창에서 스토리지 볼륨을 생성할 스토리지 풀을 클릭합니다. 스토리지 볼륨 볼륨 생성.
    2. 스토리지 볼륨 생성 대화 상자에 다음 정보를 입력합니다.

      • name - 스토리지 볼륨의 이름입니다.
      • size - 스토리지 볼륨의 크기 (MiB 또는 GiB)입니다.
      • Format - 스토리지 볼륨의 형식입니다.
    3. 생성을 클릭합니다.
  4. 선택 사항: 데이터 손상 또는 디스크 조각화에 대한 문제를 방지하려면 디스크의 일관성을 확인합니다. 자세한 내용은 가상 디스크의 일관성 확인을 참조하십시오.
  5. 생성된 스토리지 볼륨을 VM에 디스크로 추가합니다.

    1. 가상 머신 인터페이스에서 새 디스크를 생성하고 연결할 VM을 클릭합니다.

      VM의 그래픽 인터페이스에 액세스하기 위한 선택한 VM 및 콘솔 섹션에 대한 기본 정보가 포함된 개요 섹션이 포함된 새 페이지가 열립니다.

    2. 디스크로 스크롤 합니다.
    3. 디스크 섹션에서 디스크 추가 를 클릭합니다.
    4. 디스크 추가 대화 상자에서 기존 사용 을 선택합니다.
    5. 디스크에 사용할 스토리지 풀 및 스토리지 볼륨을 선택합니다.
    6. 디스크가 영구적인지 여부를 선택합니다.

      참고

      임시 디스크는 실행 중인 VM에만 추가할 수 있습니다.

    7. 선택 사항: 추가 옵션 표시를 클릭하고 스토리지 볼륨의 캐시 유형, 버스 유형 및 디스크 식별자를 조정합니다.
    8. 추가 를 클릭합니다.

검증

  • VM의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.

13.4.5. 명령줄을 사용하여 가상 머신에 LVM 기반 스토리지 연결

VM(가상 머신)의 로컬 스토리지를 제공하기 위해 LVM 기반 스토리지 볼륨을 사용할 수 있습니다. 이 유형의 디스크 이미지는 LVM 볼륨 그룹을 기반으로 하며 .qcow2 또는 .raw 형식을 사용합니다.

명령줄을 사용하여 VM에 LVM 기반 스토리지를 연결하려면 다음 방법 중 하나를 사용합니다.

  • 새 VM을 생성할 때 가상 머신 생성 대화 상자에서 Storage 옵션을 사용하여 새 디스크를 생성하고 연결합니다. 자세한 내용은 웹 콘솔을 사용하여 가상 머신 생성을 참조하십시오.
  • 기존 VM의 경우 LVM 기반 스토리지 볼륨을 생성하여 VM에 연결합니다. 자세한 내용은 다음 절차를 참조하십시오.
중요

LVM 기반 스토리지 볼륨에는 다음과 같은 제한 사항이 있습니다.

  • LVM 기반 스토리지 풀은 LVM의 모든 유연성을 제공하지 않습니다.
  • LVM 기반 스토리지 풀은 볼륨 그룹입니다. virsh 유틸리티를 사용하여 볼륨 그룹을 생성할 수 있지만 이렇게 하면 생성된 볼륨 그룹에 하나의 장치만 있을 수 있습니다. 여러 장치가 있는 볼륨 그룹을 생성하려면 LVM 유틸리티를 사용하여 LVM을 사용하여 Linux에서 볼륨 그룹을 만드는 방법을 참조하십시오.
  • LVM 기반 스토리지 풀에는 전체 디스크 파티션이 필요합니다. virsh 명령을 사용하여 새 파티션 또는 장치를 활성화하면 파티션이 포맷되고 모든 데이터가 삭제됩니다. 호스트의 기존 볼륨 그룹을 사용하는 경우 다음 절차와 같이 지워지지 않습니다.

사전 요구 사항

  • 하이퍼바이저가 LVM 기반 스토리지 풀을 지원하는지 확인합니다.

    # virsh pool-capabilities | grep "'logical' supported='yes'"

    명령이 출력을 표시하는 경우 LVM 기반 풀이 지원됩니다.

  • 호스트에 LVM 볼륨 그룹이 있는지 확인합니다. 하나를 만드는 방법에 대한 지침 은 LVM 볼륨 그룹 생성 을 참조하십시오.
  • 스토리지 풀을 생성하기 전에 선택한 스토리지 장치의 데이터를 백업합니다. 디스크 파티션을 스토리지 풀에 분리하면 현재 디스크 장치에 저장된 모든 데이터를 다시 포맷하고 지웁니다.

프로세스

  1. 아직 없는 경우 새 LVM 기반 스토리지 풀을 생성하고 설정합니다.

    1. LVM 유형 스토리지 풀을 정의합니다. 예를 들어 다음 명령은 lvm_vg 볼륨 그룹을 사용하고 /dev/lvm_vg 디렉터리에 마운트된 guest_images_lvm 이라는 스토리지 풀을 정의합니다.

      # virsh pool-define-as guest_images_lvm logical --source-dev /dev/sdb --target /dev/lvm_vg
      Pool guest_images_lvm defined
    2. 이전에 정의한 구성을 기반으로 스토리지 풀을 생성합니다.

      # virsh pool-build guest_images_lvm
        Pool guest_images_lvm built
    3. 선택 사항: 풀이 생성되었는지 확인합니다.

      # virsh pool-list --all
      
        Name                   State      Autostart
        -------------------------------------------
        default                active     yes
        guest_images_lvm       inactive   no
    4. 스토리지 풀을 시작합니다.

      # virsh pool-start guest_images_lvm
        Pool guest_images_lvm started
      참고

      virsh pool-start 명령은 영구 스토리지 풀에만 필요합니다. 임시 스토리지 풀은 생성될 때 자동으로 시작됩니다.

    5. 선택 사항: 자동 시작을 활성화합니다.

      기본적으로 virsh 로 정의된 스토리지 풀은 가상화 서비스가 시작될 때마다 자동으로 시작되도록 설정되지 않습니다. virsh pool-autostart 명령을 사용하여 스토리지 풀을 자동으로 시작하도록 구성합니다.

      # virsh pool-autostart guest_images_lvm
        Pool guest_images_lvm marked as autostarted
  2. LVM 기반 스토리지 볼륨을 생성합니다. 예를 들어 다음 명령은 guest_images_lvm 스토리지 풀을 기반으로 vm-disk1 이라는 20GB qcow2 볼륨을 생성합니다.

    # virsh vol-create-as --pool guest_images_lvm --name vm-disk1 --capacity 20GB --format qcow2
    
    Vol vm-disk1 created
  3. 스토리지 볼륨을 가상 디스크로 VM에 연결합니다.

    1. 생성한 스토리지 볼륨을 찾습니다. 이렇게 하려면 볼륨이 속하는 스토리지 풀을 검사합니다.

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

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

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

      # virsh attach-disk testguest1 /dev/guest_images_lvm/vm-disk1 vdc --persistent

검증

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

    # virsh dumpxml testguest1
    
    ...
        <disk type="block" device="disk">
          <driver name="qemu" type="raw"/>
          <source dev="/dev/guest_images_lvm/vm-disk1" index="3"/>
          <backingStore/>
          <target dev="vdc" bus="virtio"/>
          <alias name="virtio-disk2"/>
          <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
        </disk>
    
    ...
  2. VM의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.

13.4.6. 웹 콘솔을 사용하여 가상 머신에 LVM 기반 스토리지 연결

VM(가상 머신)의 로컬 스토리지를 제공하기 위해 LVM 기반 스토리지 볼륨을 사용할 수 있습니다. 이 유형의 디스크 이미지는 LVM 볼륨 그룹을 기반으로 하며 .qcow2 또는 .raw 형식을 사용합니다.

웹 콘솔을 사용하여 디스크 기반 스토리지를 VM에 연결하려면 다음 방법 중 하나를 사용합니다.

  • 새 VM을 생성할 때 가상 머신 생성 대화 상자에서 Storage 옵션을 사용하여 새 디스크를 생성하고 연결합니다. 자세한 내용은 웹 콘솔을 사용하여 가상 머신 생성을 참조하십시오.
  • 기존 VM의 경우 LVM 기반 스토리지 볼륨을 생성하여 VM에 연결합니다. 자세한 내용은 다음 절차를 참조하십시오.
중요

LVM 기반 스토리지 볼륨에는 다음과 같은 제한 사항이 있습니다.

  • LVM 기반 스토리지 풀은 LVM의 모든 유연성을 제공하지 않습니다.
  • LVM 기반 스토리지 풀은 볼륨 그룹입니다. virsh 유틸리티를 사용하여 볼륨 그룹을 생성할 수 있지만 이렇게 하면 생성된 볼륨 그룹에 하나의 장치만 있을 수 있습니다. 여러 장치가 있는 볼륨 그룹을 생성하려면 LVM 유틸리티를 사용하여 LVM을 사용하여 Linux에서 볼륨 그룹을 만드는 방법을 참조하십시오.
  • LVM 기반 스토리지 풀에는 전체 디스크 파티션이 필요합니다. virsh 명령을 사용하여 새 파티션 또는 장치를 활성화하면 파티션이 포맷되고 모든 데이터가 삭제됩니다. 호스트의 기존 볼륨 그룹을 사용하는 경우 다음 절차와 같이 지워지지 않습니다.

사전 요구 사항

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. 새 디렉터리 기반 스토리지 풀이 없는 경우 새 디렉터리 기반 스토리지 풀을 생성하고 설정합니다.

    1. 가상 머신 인터페이스 상단에 있는 스토리지 풀 을 클릭합니다. 스토리지 풀 생성.
    2. 스토리지 풀 생성 대화 상자에서 스토리지 풀의 이름을 입력합니다.
    3. 유형 드롭다운 메뉴에서 LVM 볼륨 그룹을 선택합니다.

      참고

      드롭다운 메뉴에 LVM 볼륨 그룹 옵션이 표시되지 않으면 하이퍼바이저에서 디스크 기반 스토리지 풀을 지원하지 않습니다.

    4. 다음 정보를 입력합니다.

      • 소스 볼륨 그룹 - 사용하려는 LVM 볼륨 그룹의 이름입니다.
      • startup - 호스트가 부팅될 때 스토리지 풀이 시작되는지의 여부입니다.
    5. 생성을 클릭합니다.

      스토리지 풀이 생성되고 스토리지 풀 생성 대화 상자가 닫히면 새 스토리지 풀이 스토리지 풀 목록에 표시됩니다.

  3. 기존 스토리지 풀을 기반으로 새 스토리지 볼륨을 생성합니다.

    1. 스토리지 창에서 스토리지 볼륨을 생성할 스토리지 풀을 클릭합니다. 스토리지 볼륨 볼륨 생성.
    2. 스토리지 볼륨 생성 대화 상자에 다음 정보를 입력합니다.

      • name - 스토리지 볼륨의 이름입니다.
      • size - 스토리지 볼륨의 크기 (MiB 또는 GiB)입니다.
      • Format - 스토리지 볼륨의 형식입니다. 지원되는 유형은 qcow2raw 입니다.
    3. 생성을 클릭합니다.
  4. 선택 사항: 데이터 손상 또는 디스크 조각화에 대한 문제를 방지하려면 디스크의 일관성을 확인합니다. 자세한 내용은 가상 디스크의 일관성 확인을 참조하십시오.
  5. 생성된 스토리지 볼륨을 VM에 디스크로 추가합니다.

    1. 가상 머신 인터페이스에서 새 디스크를 생성하고 연결할 VM을 클릭합니다.

      VM의 그래픽 인터페이스에 액세스하기 위한 선택한 VM 및 콘솔 섹션에 대한 기본 정보가 포함된 개요 섹션이 포함된 새 페이지가 열립니다.

    2. 디스크로 스크롤 합니다.
    3. 디스크 섹션에서 디스크 추가 를 클릭합니다.
    4. 디스크 추가 대화 상자에서 기존 사용 을 선택합니다.
    5. 디스크에 사용할 스토리지 풀 및 스토리지 볼륨을 선택합니다.
    6. 디스크가 영구적인지 여부를 선택합니다.

      참고

      임시 디스크는 실행 중인 VM에만 추가할 수 있습니다.

    7. 선택 사항: 추가 옵션 표시를 클릭하고 스토리지 볼륨의 캐시 유형, 버스 유형 및 디스크 식별자를 조정합니다.
    8. 추가 를 클릭합니다.

검증

  • VM의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.

13.4.7. 명령줄을 사용하여 가상 머신에 NFS 기반 스토리지 연결

VM(가상 머신)의 네트워크 스토리지를 제공하기 위해 NFS(Network File Sytem) 서버를 기반으로 스토리지 볼륨을 사용할 수 있습니다.

명령줄을 사용하여 NFS 기반 스토리지를 VM에 연결하려면 다음 방법 중 하나를 사용합니다.

  • 새 VM을 생성할 때 가상 머신 생성 대화 상자에서 Storage 옵션을 사용하여 새 디스크를 생성하고 연결합니다. 자세한 내용은 웹 콘솔을 사용하여 가상 머신 생성을 참조하십시오.
  • 기존 VM의 경우 NFS 기반 스토리지 볼륨을 생성하여 VM에 연결합니다. 자세한 내용은 다음 절차를 참조하십시오.

사전 요구 사항

  • 하이퍼바이저가 NFS 기반 스토리지 풀을 지원하는지 확인합니다.

    # virsh pool-capabilities | grep "<value>nfs</value>"

    명령이 출력을 표시하는 경우 NFS 기반 풀이 지원됩니다.

  • 사용할 수 있는 사용 가능한 NFS가 있어야 합니다. 자세한 내용은 NFS 공유 마운트를참조하십시오.

프로세스

  1. 아직 없는 경우 새 NFS 기반 스토리지 풀을 생성하고 설정합니다.

    1. NFS 유형 스토리지 풀을 정의하고 생성합니다. 예를 들어 대상 디렉토리 /var/lib/libvirt/images/nfspool 을 사용하여 서버 디렉토리 /home/net_mount 에 마운트된 IP 111.222.111.222 가 있는 NFS 서버를 사용하는 guest_images_netfs 라는 스토리지 풀을 생성하려면 다음을 실행합니다.

      # virsh pool-define-as --name guest_images_netfs \
         --type netfs --source-host='111.222.111.222' \
         --source-path='/home/net_mount' --source-format='nfs' \
         --target='/var/lib/libvirt/images/nfspool'
      
      Pool guest_images_netfs defined
    2. 이전에 정의한 구성을 기반으로 스토리지 풀을 생성합니다.

      # virsh pool-build guest_images_netfs
        Pool guest_images_netfs built
    3. 선택 사항: 풀이 생성되었는지 확인합니다.

      # virsh pool-list --all
      
        Name                   State      Autostart
        -------------------------------------------
        default                active     yes
        guest_images_netfs     inactive   no
    4. 스토리지 풀을 시작합니다.

      # virsh pool-start guest_images_netfs
        Pool guest_images_netfs started
    5. 선택 사항: 자동 시작을 활성화합니다.

      기본적으로 virsh 로 정의된 스토리지 풀은 가상화 서비스가 시작될 때마다 자동으로 시작되도록 설정되지 않습니다. virsh pool-autostart 명령을 사용하여 스토리지 풀을 자동으로 시작하도록 구성합니다.

      # virsh pool-autostart guest_images_netfs
        Pool guest_images_netfs marked as autostarted
  2. NFS 기반 스토리지 볼륨을 생성합니다. 예를 들어 다음 명령은 guest_images_netfs 스토리지 풀을 기반으로 vm-disk1 이라는 20GB qcow2 볼륨을 생성합니다.

    # virsh vol-create-as --pool guest_images_netfs --name vm-disk1 --capacity 20GB --format qcow2
    
    Vol vm-disk1 created
  3. 스토리지 볼륨을 가상 디스크로 VM에 연결합니다.

    1. 생성한 스토리지 볼륨을 찾습니다. 이렇게 하려면 볼륨이 속하는 스토리지 풀을 검사합니다.

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

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

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

      # virsh attach-disk testguest1 /var/lib/libvirt/images/nfspool/vm-disk1 vdc --persistent

검증

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

    # virsh dumpxml testguest1
    
    ...
        <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2' discard='unmap'/>
          <source file='/var/lib/libvirt/images/nfspool/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의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.

13.4.8. 웹 콘솔을 사용하여 가상 머신에 NFS 기반 스토리지 연결

VM(가상 머신)의 네트워크 스토리지를 제공하기 위해 NFS(Network File Sytem) 서버를 기반으로 스토리지 볼륨을 사용할 수 있습니다.

웹 콘솔을 사용하여 NFS 기반 스토리지를 VM에 연결하려면 다음 방법 중 하나를 사용합니다.

  • 새 VM을 생성할 때 가상 머신 생성 대화 상자에서 Storage 옵션을 사용하여 새 디스크를 생성하고 연결합니다. 자세한 내용은 웹 콘솔을 사용하여 가상 머신 생성을 참조하십시오.
  • 기존 VM의 경우 NFS 기반 스토리지 볼륨을 생성하여 VM에 연결합니다. 자세한 내용은 다음 절차를 참조하십시오.

사전 요구 사항

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. 아직 없는 경우 새 NFS 기반 스토리지 풀을 생성하고 설정합니다.

    1. 가상 머신 인터페이스 상단에 있는 스토리지 풀 을 클릭합니다. 스토리지 풀 생성.
    2. 스토리지 풀 생성 대화 상자에서 스토리지 풀의 이름을 입력합니다.
    3. 유형 드롭다운 메뉴에서 네트워크 파일 시스템을 선택합니다.

      참고

      드롭다운 메뉴에 네트워크 파일 시스템 옵션이 표시되지 않으면 하이퍼바이저에서 NFS 기반 스토리지 풀을 지원하지 않습니다.

    4. 다음 정보를 입력합니다.

      • 대상 경로 - 대상을 지정하는 경로입니다. 이는 스토리지 풀에 사용되는 경로가 됩니다.
      • host - 마운트 지점이 있는 네트워크 서버의 호스트 이름입니다. 호스트 이름 또는 IP 주소일 수 있습니다.
      • 소스 경로 - 네트워크 서버에서 사용되는 디렉터리입니다.
      • startup - 호스트가 부팅될 때 스토리지 풀이 시작되는지의 여부입니다.
    5. 생성을 클릭합니다.

      스토리지 풀이 생성되고 스토리지 풀 생성 대화 상자가 닫히면 새 스토리지 풀이 스토리지 풀 목록에 표시됩니다.

  3. 기존 스토리지 풀을 기반으로 새 스토리지 볼륨을 생성합니다.

    1. 스토리지 창에서 스토리지 볼륨을 생성할 스토리지 풀을 클릭합니다. 스토리지 볼륨 볼륨 생성.
    2. 스토리지 볼륨 생성 대화 상자에 다음 정보를 입력합니다.

      • name - 스토리지 볼륨의 이름입니다.
      • size - 스토리지 볼륨의 크기 (MiB 또는 GiB)입니다.
      • Format - 스토리지 볼륨의 형식입니다. 지원되는 유형은 qcow2raw 입니다.
    3. 생성을 클릭합니다.
  4. 선택 사항: 데이터 손상 또는 디스크 조각화에 대한 문제를 방지하려면 디스크의 일관성을 확인합니다. 자세한 내용은 가상 디스크의 일관성 확인을 참조하십시오.
  5. 생성된 스토리지 볼륨을 VM에 디스크로 추가합니다.

    1. 가상 머신 인터페이스에서 새 디스크를 생성하고 연결할 VM을 클릭합니다.

      VM의 그래픽 인터페이스에 액세스하기 위한 선택한 VM 및 콘솔 섹션에 대한 기본 정보가 포함된 개요 섹션이 포함된 새 페이지가 열립니다.

    2. 디스크로 스크롤 합니다.
    3. 디스크 섹션에서 디스크 추가 를 클릭합니다.
    4. 디스크 추가 대화 상자에서 기존 사용 을 선택합니다.
    5. 디스크에 사용할 스토리지 풀 및 스토리지 볼륨을 선택합니다.
    6. 디스크가 영구적인지 여부를 선택합니다.

      참고

      임시 디스크는 실행 중인 VM에만 추가할 수 있습니다.

    7. 선택 사항: 추가 옵션 표시를 클릭하고 스토리지 볼륨의 캐시 유형, 버스 유형 및 디스크 식별자를 조정합니다.
    8. 추가 를 클릭합니다.

검증

  • VM의 게스트 운영 체제에서 디스크 이미지를 포맷되지 않고 할당되지 않은 디스크로 사용할 수 있는지 확인합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동