14.2.4. CLI를 사용하여 파일 시스템 기반 스토리지 풀 생성

마운트되지 않은 파일 시스템에서 스토리지 풀을 생성하려면 파일 시스템 기반 스토리지 풀을 사용합니다. 이 스토리지 풀은 지정된 파일 시스템 마운트 지점을 기반으로 합니다. virsh 유틸리티를 사용하여 파일 시스템 기반 스토리지 풀을 생성할 수 있습니다.

사전 요구 사항

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

    # virsh pool-capabilities | grep "'fs' 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"

절차

  1. 스토리지 풀 생성

    virsh pool-define-as 명령을 사용하여 파일 시스템 유형 스토리지 풀을 정의하고 생성합니다. 예를 들어 /dev/sdc1 파티션을 사용하고 /guest_images 디렉터리에 마운트된 guest_images_fs 라는 스토리지 풀을 생성하려면 다음을 수행합니다.

    # virsh pool-define-as guest_images_fs fs --source-dev /dev/sdc1 --target /guest_images
    Pool guest_images_fs defined

    만들 스토리지 풀의 XML 구성이 이미 있는 경우 XML을 기반으로 풀을 정의할 수도 있습니다. 자세한 내용은 파일 시스템 기반 스토리지 풀 매개 변수를 참조하십시오.

  2. 스토리지 풀 대상 경로 정의

    virsh pool-build 명령을 사용하여 사전 포맷된 파일 시스템 스토리지 풀에 대한 스토리지 풀 대상 경로를 생성하고 스토리지 소스 장치를 초기화하고 데이터 형식을 정의합니다.

    # virsh pool-build guest_images_fs
      Pool guest_images_fs built
    
    # ls -la /guest_images
      total 8
      drwx------.  2 root root 4096 May 31 19:38 .
      dr-xr-xr-x. 25 root root 4096 May 31 19:38 ..
  3. 풀이 생성되었는지 확인합니다.

    virsh pool-list 명령을 사용하여 풀이 생성되었는지 확인합니다.

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  4. 스토리지 풀 시작

    virsh pool-start 명령을 사용하여 스토리지 풀을 마운트합니다.

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    참고

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

  5. [선택 사항] 자동 시작 켜기

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

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted

검증

  1. virsh pool-info 명령을 사용하여 스토리지 풀이 running 상태인지 확인합니다. 보고된 크기가 예상대로 있고 autostart가 올바르게 구성되었는지 확인합니다.

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      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. 파일 시스템의 대상 경로에 장치가 마운트되었음을 나타내는 lost+found 디렉터리가 있는지 확인합니다.

    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found