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/vmdataSELinux가 강제 모드(Enforcing mode)로 설정된 경우(RHEL 기반 시스템), 올바른 컨텍스트를 적용하세요:
sudo semanage fcontext -a -t virt_image_t "/kvm(/.*)?"
sudo restorecon -Rvv /kvmWebvirtCloud에 로그인한 상태에서 “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 -rvKVM 호스트 준비
먼저, 클라이언트 컴퓨터에 NFS 유틸리티가 설치되어 있는지 확인하십시오.
# RHEL-based systems
sudo yum install -y nfs-utils
# Debian-based systems (like Ubuntu)
sudo apt update
sudo apt install -y nfs-commonNFS 마운트 디렉터리 생성
sudo mkdir -p /mnt/nfsNFS 스토리지 풀 추가
새 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/nfs4. 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 diskLVM 유형의 스토리지 풀을 생성할 때 이름을 제공하고 사용할 장치를 지정해야 합니다.
추가한 후 성공 여부를 확인하려면 저장소 페이지를 새로고침하세요.
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.00g5. Ceph 스토리지 풀 생성
Ceph 스토리지 풀을 추가하기 전에 Ceph 클러스터가 제대로 설정되어 있고 접근 가능해야 합니다.
- Ceph 클러스터 상태 확인
- Ceph 인증 키링이 호스트와 WebVirtCloud 인스턴스에서 사용할 수 있는지 확인하십시오
- Ceph 클러스터에서 키링 파일을 KVM 및 WebVirtCloud 호스트로 복사할 수 있습니다.
Ceph 스토리지 풀을 추가하려면, 유형을 rbd로 선택하고 이름, 사용자, Ceph 풀과 호스트, 비밀 정보를 입력하세요.
인증 비밀은 Secrets 탭에서 추가할 수 있습니다. 이어지는 기사에서는 WebVirtCloud 대시보드에서 인스턴스를 생성하는 방법을 소개하겠습니다.














