Understand different OS Concepts/Virtualization

Libvirt virsh 명령어 정리

Somaz 2022. 8. 12. 14:40
728x90
반응형

Overview

오늘은 Libvirt에서 QEMU 가상머신을 관리할 때 자주 사용하는 virsh 명령어를 정리해보겠다. Libvirt는 KVM/QEMU 기반 가상화를 관리하기 위한 강력한 도구이며, virsh는 CLI(Command Line Interface) 기반의 가상 머신 관리 명령어이다.

 

 

 

 

 

 

📅 관련 글

2022.08.08 - [Understand different OS Concepts/Virtualization] - Libvirt란? (Linux 가상화 관리 도구)

2022.08.08 - [Understand different OS Concepts/Virtualization] - KVM과 QEMU란? (Linux 가상화 솔루션)

 

 

 

 

 

 


 

Virsh 기본 명령어

 

가상머신 정의 (define)

libvirt Domain XML 파일을 이용해 가상머신을 정의하는 명령어이다.

virsh define [libvirt 도메인 정의 xml 파일 경로]

 

 

가상머신 시작 (start)

가상머신을 실행하는 명령어이다.

virsh start [가상머신 도메인 이름]

 

 

가상머신 목록 확인 (list)

현재 libvirt에 등록된 가상머신 리스트를 확인할 수 있다.

virsh list --all

 

 

가상머신 삭제 (undefine)

등록된 가상머신을 삭제한다. (디스크 이미지 삭제 아님)

virsh undefine [가상머신 도메인 이름]

 

 

 

 


 

 

 

가상머신 상태 관리

 

가상머신 일시중지 (suspend)

가상머신을 일시 중지한다.

virsh suspend [가상머신 도메인 이름]

 

가상머신 재개 (resume)

일시 중지된 가상머신을 다시 실행한다.

virsh resume [가상머신 도메인 이름]

 

 

가상머신 강제 종료 (destroy)

가상머신을 강제 종료한다. (전원 끄기와 유사)

virsh destroy [가상머신 도메인 이름]

 

 

 


 

 

 

 

스냅샷 관리

 

스냅샷 생성 (snapshot-create-as)

가상머신의 현재 상태를 스냅샷으로 저장한다.

virsh snapshot-create-as --domain [가상머신 도메인 이름] [스냅샷 이름]

 

예시:

virsh snapshot-create-as --domain win10 snapshot1

 

 

스냅샷 목록 확인 (snapshot-list)

해당 가상머신의 저장된 스냅샷 리스트를 확인한다.

virsh snapshot-list --domain [가상머신 도메인 이름]

 

예시:

virsh snapshot-list --domain win10

 

 

스냅샷 복원 (snapshot-revert)

저장된 스냅샷 상태로 가상머신을 복원한다.

virsh snapshot-revert [가상머신 도메인 이름] [스냅샷 이름]

 

예시:

virsh snapshot-revert win10 snapshot1

 

 

스냅샷 삭제 (snapshot-delete)

특정 스냅샷을 삭제한다.

virsh snapshot-delete --domain [가상머신 도메인 이름] [스냅샷 이름]

 

예시:

virsh snapshot-delete --domain win10 snapshot1

 

 

 

 


 

 

 

 

 

가상머신 상태 확인 (domstats)

가상머신의 CPU, 메모리, 네트워크 등의 사용량을 확인할 수 있다.

virsh domstats [가상머신 도메인 이름]

 

예시:

virsh domstats win10

 

출력 예시:

Domain: 'win10'
  state.state=1
  cpu.time=197136008572
  balloon.current=1048576
  net.0.rx.bytes=32349
  block.0.rd.bytes=29008384
  block.0.wr.bytes=11841024
  • 해당 정보를 통해 가상머신의 리소스 사용량을 실시간으로 모니터링할 수 있다.

 

 

 

가상머신 설정 확인 및 편집 명령어

  • 가상머신의 XML 설정을 확인하거나 수정하는 기능도 자주 사용된다.
# 설정 확인
virsh dumpxml [도메인 이름]

# 설정 수정 (vim으로 열기)
virsh edit [도메인 이름]
  • Tip: dumpxml은 백업용으로도 자주 사용되고, edit는 live 상태에서 네트워크 등 설정을 수정할 때 유용하다.

 

 

 

자동 시작 설정

  • 시스템 재부팅 시 VM이 자동으로 켜지도록 설정할 수 있다.
# 자동 시작 설정
virsh autostart [도메인 이름]

# 자동 시작 해제
virsh autostart --disable [도메인 이름]
  • 서버 운영 시 무중단 환경 구축에 필수적인 기능

 

 

 

스토리지 및 디스크 관리 (간단히)

virsh를 통해 디스크 이미지나 볼륨 정보를 다루는 경우도 많다.

# 연결된 디스크 정보 확인
virsh domblklist [도메인 이름]

# 스토리지 풀 확인
virsh pool-list --all
  • domblklist 로 디스크 경로를 확인하고, 필요시 qcow2 용량 변경이나 snapshot 작업에도 활용할 수 있다.

 

 

 

네트워크 관리 관련 명령어

# 네트워크 리스트 확인
virsh net-list --all

# 가상 브릿지 재시작
virsh net-destroy default
virsh net-start default

가상머신이 네트워크에 연결되지 않을 때, default 브릿지를 재시작하거나 다시 정의하는 데 유용하다.

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

결론

Libvirt는 QEMU/KVM 기반 가상머신을 관리하는 강력한 도구이며, virsh 명령어를 사용하면 CLI 환경에서 쉽게 제어할 수 있다.

virsh 명령어를 활용하여 가상머신을 정의, 실행, 일시중지, 스냅샷 관리 및 상태 모니터링이 가능하다.

효율적인 가상화 환경을 구축하려면 virsh 명령어를 숙지하는 것이 중요하다.

 

또한 virt-manager GUI와 병행하여 사용하면 virsh의 CLI 강점을 유지하면서도 가시적인 관리가 가능하니 함께 익혀두면 좋다.

 

 

 

 

 


Reference

728x90
반응형