웹사이트 검색

WebvirtCloud를 사용하여 KVM 스토리지 풀 구성


가상화 환경에서 스토리지 풀 관리는 가상 머신에 효율적이고 유연한 스토리지를 제공하기 위해 중요한 작업입니다. WebVirtCloud는 사용자 친화적인 웹 인터페이스를 통해 KVM에서 스토리지 풀을 구성하고 사용하는 전체 과정을 간소화할 수 있습니다. 이 섹션에서는 WebVirtCloud를 사용하여 스토리지 풀을 관리하는 과정을 안내하겠습니다.

📥 저희의 새로운 KVM 전자책이 공식적으로 출간되었습니다 – 지금 PDF를 받거나 온라인으로 읽어보세요! 액세스하기

스토리지 풀(Storage Pools)이란 무엇인가요?

스토리지 풀은 여러 개의 물리적 저장 장치를 단일 단위(풀)로 결합하여 쉽게 관리할 수 있는 가상의 컨테이너라고 생각할 수 있습니다. 이를 통해 얻는 이점은 가상 머신에서 사용할 저장 자원의 관리와 할당이 간소화된다는 점입니다.

WebvirtCloud에서 다음과 같은 스토리지 풀 유형을 생성하고 관리할 수 있습니다:

디렉토리(DIR)

  • 이 저장 유형은 설정과 관리가 쉬운 타입입니다
  • 간단한 디렉토리 기반 저장소(로컬 호스트 파일 시스템)를 사용합니다
  • 확장성이 낮고 최상의 성능을 제공하지 않습니다

LVM(논리 볼륨 관리자)

  • LVM은 KVM에서 유연한 논리 볼륨 관리 솔루션을 제공합니다
  • 스냅샷과 크기 조정(더 유연함)을 지원합니다
  • 디렉토리 기반 저장소보다 더 나은 성능을 얻을 수 있습니다

세프

  • Ceph는 분산 저장 시스템입니다
  • 이것은 결함 허용성이 있으며, LVM과 디렉토리 스토리지 설정보다 훨씬 확장성이 높습니다
  • 파일, 블록, 객체 스토리지를 제공합니다.

NFS(네트워크 파일 시스템)

  • 이것은 네트워크 연결 스토리지(네트워크 기반 공유 스토리지)입니다
  • 설정하고 관리하기 쉽습니다
  • 성능은 네트워크 처리량에 크게 의존합니다

ISO

  • ISO 이미지 파일 전용 저장소
  • 이것의 목적은 단순화된 VM 설치입니다
  • ISO 파일 저장으로만 제한됩니다

WebvirtCloud를 사용하여 KVM용 스토리지 풀 생성

WebvirtCloud 대시보드 내에서 스토리지 풀을 효과적으로 구성하려면 몇 가지 전제 조건이 충족되어야 합니다.

  • 기능적인 KVM 하이퍼바이저입니다. 주요 리눅스 시스템에 대한 설치 과정은 이 가이드를 참조하세요.
  • WebvirtCloud의 작동 설정; Rocky/AlmaLinux 및 Ubuntu Linux 설치 가이드를 참조하세요.

두 가지가 모두 활성화되면 다른 의존성은 스토리지 풀 유형에 따라 달라집니다. 예를 들어, Ceph 스토리지 유형을 추가하려면 Ceph 클러스터가 배포되어 있어야 하고, NFS의 경우 NFS 서버가 존재해야 합니다.

사용하려는 스토리지 풀에 따라 다른 특정 요구 사항이 달라질 수 있습니다. 예를 들어, Ceph 기반 스토리지 풀을 생성하려면 Ceph 클러스터가 배포되어 있어야 하고, NFS 스토리지 풀은 사전 구성된 NFS 서버가 필요합니다.

1 – 디렉토리 저장 풀 생성

이 저장 풀 유형은 호스트 파일 시스템의 디렉토리를 사용합니다. KVM에서는 VM 이미지의 기본 디렉토리 경로가 /var/lib/libvirt/images/이지만, 이를 별도의 경로로 조정할 수 있습니다.

추가 디스크 장치 사용(선택 사항)

이 예제에서 사용된 서버에는 추가적인 원시 디스크 /dev/sdb가 있습니다. 우리는 이것을 가상 머신 이미지를 저장하는 데 사용할 것입니다.

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    252:0    0   80G  0 disk
├─vda1 252:1    0   99M  0 part /boot/efi
├─vda2 252:2    0 1000M  0 part /boot
├─vda3 252:3    0    4M  0 part
├─vda4 252:4    0    1M  0 part
└─vda5 252:5    0 78.9G  0 part /
sdb    252:16   0  200G  0 disk

이 원시 디스크 장치에 파티션 테이블을 만들어 봅시다.

sudo parted /dev/sdb mklabel gpt
sudo parted /dev/sdb mkpart primary 0% 100%

파일 시스템과 마운트 포인트를 생성하세요.

sudo mkfs.xfs /dev/sdb1
sudo mkdir -p /kvm/

디스크 파티션 스키마 레이아웃 확인 중:

$ lsblk  /dev/sdb
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdb    252:16   0  200G  0 disk
└─sdb1 252:17   0  200G  0 part

영구 디스크 마운트를 위해 /etc/fstab 파일을 편집하십시오.

sudo nano /etc/fstab

우리 파티션 마운팅을 위해 새로운 파일 시스템 테이블 항목을 추가합니다.

/dev/sdb1 /kvm xfs defaults 0 0

마운트가 성공적으로 되었는지 확인하세요.

sudo systemctl daemon-reload
sudo mount -a
df -hT

디렉터리(DIR) 스토리지 풀 구성

인스턴스 VM 이미지를 저장할 디렉터리를 만들어 봅시다.

sudo mkdir /kvm/vmdata

SELinux가 강제 모드(Enforcing mode)로 설정된 경우(RHEL 기반 시스템), 올바른 컨텍스트를 적용하세요:

sudo semanage fcontext -a -t virt_image_t "/kvm(/.*)?"
sudo restorecon -Rvv /kvm

WebvirtCloud에 로그인한 상태에서 “Computes” > “노드 이름” > “스토리지”로 이동합니다. 새로운 스토리지 풀을 만들려면 “+”를 클릭하세요.

유형으로 'DIR'를 선택하고, 이름을 지정한 후 경로를 설정하세요.

  • 기본 KVM 경로 사용 예제

  • 사용자 지정 호스트 마운트 경로 사용 예제

‘생성’을 클릭하면 스토리지 풀 세부 정보가 표시됩니다

활성화되어 있으면 초록색으로 변해야 합니다.

다음에 VM 인스턴스를 생성할 때 인스턴스 데이터 저장을 위해 추가된 스토리지 풀을 선택할 수 있습니다.

2. ISO 스토리지 풀 생성

ISO 저장 풀은 ISO 이미지를 효율적으로 정리하고 접근할 수 있는 곳입니다. 이러한 ISO 이미지는 운영 체제를 수동으로 생성할 때 사용됩니다.

호스트 서버에 ISO 이미지 전용 디렉토리를 만들어 봅시다.

sudo mkdir /kvm/isos

스토리지 풀을 구성하려면 WebvirtCloud에 로그인한 후 Computes > Node > Storages 탭으로 이동합니다. “+” 버튼을 클릭하여 새 스토리지 풀을 생성하고 “ISO”를 선택합니다.

생성된 후에는 페이지를 새로고침하고 저장소 탭으로 이동하여 풀 상태를 확인하세요.

3. NFS 스토리지 풀 생성

네트워크 파일 시스템(NFS)은 분산 파일 시스템 프로토콜입니다. 이를 통해 네트워크를 통해 디렉터리를 공유할 수 있으며, 다른 시스템들도 네트워크를 통해 접근할 수 있습니다.

NFS 서버 준비

사용되는 NFS 서버는 소프트웨어 기반이거나 NAS와 같은 하드웨어 장치(Synology, QNAP, TrueNAS 또는 Asustor)일 수 있습니다.

다음은 NFS 서버에서의 샘플 구성입니다(소스 IP 주소에 대한 제한된 접근 포함)

/nfs/kvm 172.20.30.0/24(rw,sync,no_subtree_check)

오픈 액세스(권장되지 않음):

/nfs/kvm *(rw,sync,no_root_squash,no_subtree_check)

exports 파일을 조정한 후 변경 사항을 적용하고 NFS 공유가 사용 가능한지 확인하십시오.

sudo exportfs -a
sudo exportfs -rv

KVM 호스트 준비

먼저, 클라이언트 컴퓨터에 NFS 유틸리티가 설치되어 있는지 확인하십시오.

# RHEL-based systems
sudo yum install -y nfs-utils

# Debian-based systems (like Ubuntu)
sudo apt update
sudo apt install -y nfs-common

NFS 마운트 디렉터리 생성

sudo mkdir -p /mnt/nfs

NFS 스토리지 풀 추가

새 NFS 스토리지 풀을 추가하려면 “스토리지” > “+” > “NETFS” > 로 이동하여 필요한 세부 정보를 입력하십시오.

어디:

  • 유형: 스토리지 풀 유형. netfs는 네트워크 파일 시스템을 나타냅니다.
  • 이름: 새 스토리지 풀에 할당된 이름
  • 호스트 이름: NFS 서버 IP 주소 또는 호스트 이름
  • 원격 경로: NFS 서버에서 공유되는 디렉토리 경로
  • 포맷: 옵션은 auto, nfs, glusterfs, cifs입니다

  • 로컬 경로: NFS 공유가 마운트될 로컬 디렉터리 경로

설정을 완료하면 저장 풀을 생성하려면 “생성”을 클릭하세요. 추가된 후 페이지를 새로 고치면 새 저장 풀이 활성 상태로 표시됩니다.

KVM 호스트에서 다음을 확인할 수 있습니다

$ df -hT
...
nfs.cloudspinx.com:/nfs/kvm nfs4       79G  4.7G   75G   6% /mnt/nfs

4. LVM 스토리지 풀 생성

WebVirtCloud에서 LVM 스토리지 풀을 구성하기 전에 호스트 머신에서 LVM을 설정해야 합니다.

호스트 머신에 LVM 유틸리티가 설치되어 있는지 확인하세요.

# RHEL-based systems
sudo yum install -y lvm2

# Debian-based systems
sudo apt update && sudo apt install -y lvm2

호스트에 /dev/sdc 디스크가 있다고 가정하고, 이를 LVM 논리 볼륨으로 구성하려고 합니다:

$ lsblk  /dev/sdc
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdc  252:32   0  100G  0 disk

LVM 유형의 스토리지 풀을 생성할 때 이름을 제공하고 사용할 장치를 지정해야 합니다.

추가한 후 성공 여부를 확인하려면 저장소 페이지를 새로고침하세요.

KVM 호스트에 로그인하면 새 물리 볼륨과 볼륨 그룹이 존재하는 것을 알 수 있습니다.

$ sudo pvs
  PV         VG      Fmt  Attr PSize    PFree
  /dev/sdc   lvmpool lvm2 a--  <100.00g <100.00g

$ sudo vgs
  VG      #PV #LV #SN Attr   VSize    VFree
  lvmpool   1   0   0 wz--n- <100.00g <100.00g

5. Ceph 스토리지 풀 생성

Ceph 스토리지 풀을 추가하기 전에 Ceph 클러스터가 제대로 설정되어 있고 접근 가능해야 합니다.

  • Ceph 클러스터 상태 확인
  • Ceph 인증 키링이 호스트와 WebVirtCloud 인스턴스에서 사용할 수 있는지 확인하십시오
  • Ceph 클러스터에서 키링 파일을 KVM 및 WebVirtCloud 호스트로 복사할 수 있습니다.

Ceph 스토리지 풀을 추가하려면, 유형을 rbd로 선택하고 이름, 사용자, Ceph 풀과 호스트, 비밀 정보를 입력하세요.

인증 비밀은 Secrets 탭에서 추가할 수 있습니다. 이어지는 기사에서는 WebVirtCloud 대시보드에서 인스턴스를 생성하는 방법을 소개하겠습니다.