Overview
오늘은 Libvirt에 대해 알아보겠다. Libvirt는 리눅스 환경에서 가상 머신을 관리하기 위한 API 및 툴킷으로, 다양한 하이퍼바이저(KVM, QEMU, Xen 등)와 함께 사용된다.
2022.08.08 - [Understand different OS Concepts/Virtualization] - KVM과 QEMU란? (Linux 가상화 솔루션)
KVM과 QEMU란? (Linux 가상화 솔루션)
Overview오늘은 KVM과 QEMU에 대해 알아보겠다. 두 기술 모두 리눅스(Linux) 환경에서 가상화를 구현하는 핵심 솔루션이다. 일반적으로 KVM과 QEMU는 함께 사용되며, 상호 보완적인 관계를 가진다.
somaz.tistory.com
Libvirt란?
Libvirt는 오픈소스 가상화 관리 라이브러리로, 가상 머신(VM)의 생성, 삭제, 스냅샷, 리소스 할당 등의 기능을 제공한다. CLI 도구인 virsh, GUI 기반 관리 툴인 virt-manager와 함께 사용되며, 다양한 하이퍼바이저와 호환된다.
- 기본 개념: 하이퍼바이저 상의 가상 머신을 추상화하여 관리할 수 있도록 지원하는 소프트웨어
- 특징:
- KVM, QEMU, Xen, VMware, Hyper-V 등 다양한 하이퍼바이저 지원
- 가상 머신의 생성, 삭제, 스냅샷, 마이그레이션 등 다양한 기능 제공
- virsh, virt-manager, libvirt API 등을 활용한 관리 가능
Libvirt의 주요 기능
1️⃣ 가상 머신(VM) 관리
- VM의 생성, 삭제, 시작, 정지, 재부팅 지원
- VM의 상태 조회 및 리소스 사용량 모니터링 가능
2️⃣ 가상 네트워크 및 스토리지 관리
- 브리지 네트워크, NAT(Network Address Translation), 내부 네트워크 설정 가능
- 가상 디스크 및 ISO 이미지 관리 지원
3️⃣ 가상 머신 마이그레이션 (Live Migration)
- 실행 중인 VM을 다운타임 없이 다른 호스트로 이동 가능
- 가상화 클러스터 환경에서 활용 가능
4️⃣ 스냅샷 및 백업
- 특정 시점의 VM 상태를 저장하고 복원 가능
- 스냅샷을 통한 데이터 보호 및 테스트 환경 구축 가능
5️⃣ API 및 자동화 지원
- Python, Go, Ruby 등 다양한 프로그래밍 언어를 지원하는 Libvirt API 제공
- Ansible, Terraform 등과 연동하여 가상화 환경 자동화 가능
🛠️ Libvirt 설치 및 사용 예시
1️⃣ Libvirt 및 KVM 설치 (Ubuntu 기준)
sudo apt update && sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
2️⃣ 가상 머신 생성
virt-install --name test-vm --ram 2048 --vcpus 2 --disk size=10 --os-variant ubuntu20.04 --network bridge=virbr0 --graphics none
3️⃣ 실행 중인 가상 머신 확인
virsh list --all # 현재 실행 중인 VM 목록 확인
virsh start test-vm # VM 시작
virsh shutdown test-vm # VM 종료
virsh console test-vm # VM 접속
4️⃣ VM 스냅샷 생성 및 복원
virsh snapshot-create-as --domain test-vm --name "snapshot1" --description "Backup before update"
virsh snapshot-revert --domain test-vm --snapshotname "snapshot1"
5️⃣ VM 마이그레이션
virsh migrate --live test-vm qemu+ssh://remote-host/system
Libvirt vs 기존 가상화 관리 방식
비교 항목 | Libvirt | 기존 가상화 관리 방식 |
하이퍼바이저 지원 | KVM, QEMU, Xen 등 다양한 하이퍼바이저 지원 | 특정 하이퍼바이저에 종속됨 |
관리 방식 | API, CLI, GUI 기반 관리 가능 | CLI 또는 수동 설정 필요 |
자동화 지원 | Ansible, Terraform 등과 연동 가능 | 제한적 지원 |
마이그레이션 | 라이브 마이그레이션 지원 | 일부 솔루션에서만 지원 |
결론
✅ Libvirt는 가상화 환경을 효과적으로 관리할 수 있는 강력한 오픈소스 툴로, 다양한 하이퍼바이저를 지원하며, VM 자동화 및 관리에 최적화되어 있다.
✅ KVM 및 QEMU와 함께 활용하면, 강력한 가상화 환경을 구축할 수 있으며, virsh, virt-manager 등의 도구를 사용하면 편리하게 VM을 관리할 수 있다.
✅ 가상 네트워크, 스토리지 관리, 스냅샷, 라이브 마이그레이션 등의 기능을 활용하면 더욱 효율적인 클라우드 및 데이터센터 운영이 가능하다.
Reference
'Understand different OS Concepts > Virtualization' 카테고리의 다른 글
Proxmox란? (0) | 2024.05.24 |
---|---|
Xen Orchestra란? (0) | 2024.05.21 |
Enable Nested Virtualization IN KVM In Linux (KVM 중첩 가상화) (0) | 2022.09.02 |
Libvirt virsh 명령어 정리 (0) | 2022.08.12 |
KVM과 QEMU란? (Linux 가상화 솔루션) (0) | 2022.08.08 |