Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

13.3. 게스트에 스토리지 장치 추가

이 섹션에서는 게스트에 스토리지 장치를 추가하는 방법을 설명합니다. 추가 스토리지는 필요한 경우에만 추가할 수 있습니다.

13.3.1. 게스트에 파일 기반 스토리지 추가

파일 기반 스토리지는 게스트의 가상화된 하드 드라이브 역할을 하는 호스트 물리적 시스템 파일 시스템에 저장된 파일 컬렉션입니다. 파일 기반 스토리지를 추가하려면 다음 단계를 수행합니다.

절차 13.1. 파일 기반 스토리지 추가

  1. 스토리지 파일을 생성하거나 기존 파일(예: IMG 파일)을 사용합니다. 다음 두 명령 모두 게스트의 추가 스토리지로 사용할 수 있는 4GB 파일을 생성합니다.
    • 파일 기반 스토리지 이미지에는 사전 할당된 파일을 사용하는 것이 좋습니다. 다음과 같이 다음 dd 명령을 사용하여 사전 할당된 파일을 생성합니다.
      # dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M count=4096
    • 또는 미리 할당된 파일 대신 스파스 파일을 만듭니다. 스파스 파일은 훨씬 더 빠르며 테스트에 사용할 수 있지만 데이터 무결성 및 성능 문제로 인해 프로덕션 환경에서는 사용하지 않는 것이 좋습니다.
      # dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M seek=4096 count=0
  2. 새 파일에 < disk> 요소를 작성하여 추가 스토리지를 생성합니다. 이 예제에서는 이 파일을 NewStorage.xml 이라고 합니다.
    & lt;disk > 요소는 디스크 소스와 가상 블록 장치의 장치 이름을 설명합니다. 장치 이름은 게스트의 모든 장치에서 고유해야 하며 게스트가 가상 블록 장치를 찾을 버스를 식별합니다. 다음 예제에서는 소스가 FileName.img 인 파일 기반 스토리지 컨테이너인 virtio 블록 장치를 정의합니다.
    <disk type='file' device='disk'>
       <driver name='qemu' type='raw' cache='none'/>
       <source file='/var/lib/libvirt/images/FileName.img'/>
       <target dev='vdb'/>
    </disk>
    
    장치 이름은 "hd" 또는 "sd"로 시작하여 각각 IDE와 SCSI 디스크를 확인할 수 있습니다. 구성 파일에는 새 장치의 버스 위치를 지정하는 < address > 하위 요소도 포함될 수 있습니다. virtio 블록 장치의 경우 PCI 주소여야 합니다. < address> 하위 요소를 생략하면 libvirt에서 사용 가능한 다음 PCI 슬롯을 찾아 할당할 수 있습니다.
  3. CD-ROM을 다음과 같이 연결합니다.
    <disk type='file' device='cdrom'>
       <driver name='qemu' type='raw' cache='none'/>
       <source file='/var/lib/libvirt/images/FileName.img'/>
       <readonly/>
       <target dev='hdc'/>
    </disk >
    
  4. NewStorage.xml 에 정의된 장치를 게스트(Guest1)로 추가합니다.
    # virsh attach-device --config Guest1 ~/NewStorage.xml
    참고
    이러한 변경 사항은 게스트를 삭제한 후 재시작한 후에만 적용됩니다. 또한 영구 장치는 virsh define 명령을 사용하여 구성을 저장한 도메인인 영구 도메인에만 추가할 수 있습니다.
    게스트가 실행되고 있고 게스트가 삭제될 때까지 새 장치를 일시적으로 추가하려는 경우 --config 옵션을 생략합니다.
    # virsh attach-device Guest1 ~/NewStorage.xml
    참고
    virsh 명령을 사용하면 더 간단한 구문을 사용하고 XML 파일을 생성할 필요 없이 제한된 수의 매개 변수를 설정할 수 있는 attach-disk 명령을 허용합니다. attach-disk 명령은 다음과 같이 이전에 언급한 attach-device 명령과 유사한 방식으로 사용됩니다.
    # virsh attach-disk Guest1 /var/lib/libvirt/images/FileName.img vdb --cache none --driver qemu --subdriver raw
    
    virsh attach-disk 명령은 --config 옵션도 허용합니다.
  5. 게스트 머신을 시작합니다(현재 실행 중인 경우).
    # virsh start Guest1
    참고
    다음은 Linux 게스트 전용입니다. 다른 운영 체제는 다른 방식으로 새 스토리지 장치를 처리합니다. 다른 시스템의 경우 해당 운영 체제 설명서를 참조하십시오.
  6. 디스크 드라이브 파티셔닝

    게스트에는 이제 /dev/vdb 라는 하드 디스크 장치가 있습니다. 필요한 경우 이 디스크 드라이브를 분할하고 파티션을 포맷합니다. 추가한 장치가 표시되지 않으면 게스트 운영 체제에서 디스크 핫플러그에 문제가 있음을 나타냅니다.
    1. 새 장치에 대해 fdisk 를 시작합니다.
      # fdisk /dev/vdb
      Command (m for help):
      
    2. 새 파티션에 대해 n 을 입력합니다.
    3. 다음이 나타납니다.
      Command action
      e   extended
      p   primary partition (1-4)
      
      기본 파티션에 대해 p 를 입력합니다.
    4. 사용 가능한 파티션 번호를 선택합니다. 이 예에서 첫 번째 파티션은 1 을 입력하여 선택합니다.
      Partition number (1-4): 1
    5. Enter 키를 눌러 기본 첫 번째 실린더를 입력합니다.
      First cylinder (1-400, default 1):
    6. 파티션의 크기를 선택합니다. 이 예에서는 Enter 를 눌러 전체 디스크가 할당됩니다.
      Last cylinder or +size or +sizeM or +sizeK (2-400, default 400):
    7. 파티션 유형을 구성하려면 t 를 입력합니다.
      Command (m for help): t
    8. 이전 단계에서 만든 파티션을 선택합니다. 이 예에서는 파티션 번호가 1개뿐이므로 파티션 번호가 1 개뿐이므로 파티션 번호는 1개뿐이고, metadata에서 자동으로 파티션 1을 선택했습니다.
      Partition number (1-4): 1
    9. Linux 파티션에 83 을 입력합니다.
      Hex code (type L to list codes): 83
    10. w 를 입력하여 변경 사항을 작성하고 종료합니다.
      Command (m for help): w
      
    11. 새 파티션을 ext3 파일 시스템으로 포맷합니다.
      # mke2fs -j /dev/vdb1
  7. 마운트 디렉터리를 생성하고 게스트에 디스크를 마운트합니다. 이 예에서는 디렉터리가 myfiles 에 있습니다.
    # mkdir /myfiles
    # mount /dev/vdb1 /myfiles
    
    게스트에는 이제 가상화된 파일 기반 스토리지 장치가 추가로 있습니다. 그러나 이 스토리지는 게스트의 /etc/fstab 파일에 정의되어 있지 않으면 재부팅 후에도 영구적으로 마운트되지 않습니다.
    /dev/vdb1    /myfiles    ext3     defaults    0 0