리눅스 virsh
IT 위키
더 많은 작업
libvirt 기반 가상 머신(도메인)을 명령행에서 생성·시작·중지하고 관리한다.
# virsh [-c URI] 명령 [도메인] [인수]
- 인수 없이 virsh만 실행하면 대화형 셸로 들어간다.
- -c qemu:///system 은 시스템 전체 도메인, qemu:///session 은 현재 사용자의 도메인에 연결한다.
- 조회
- list : 실행 중인 도메인 목록을 출력한다.
- list --all : 중지된 도메인을 포함한 모든 도메인을 출력한다.
- dominfo 도메인 : 도메인의 상태, CPU 수, 메모리 등을 출력한다.
- domstate 도메인 : 도메인의 현재 상태를 출력한다.
- dumpxml 도메인 : 도메인의 XML 설정을 출력한다.
- 시작·중지
- start 도메인 : 정의된 도메인을 시작한다.
- shutdown 도메인 : 게스트 운영체제에 종료 신호를 보내 정상 종료한다.
- reboot 도메인 : 도메인을 재부팅한다.
- destroy 도메인 : 도메인을 즉시 강제 종료한다. (전원 차단과 같으며 정의는 삭제되지 않는다.)
- suspend 도메인 / resume 도메인 : 도메인을 일시 정지하거나 재개한다.
- autostart 도메인 : 호스트 부팅 시 도메인이 자동으로 시작되게 한다. --disable을 붙이면 해제한다.
- 정의·삭제
- define XML파일 : XML 파일로 도메인을 정의(등록)한다. 시작하지는 않는다.
- undefine 도메인 : 도메인 정의를 삭제한다. 디스크 이미지는 남으며, --remove-all-storage를 붙이면 연결된 저장소도 삭제한다.
- create XML파일 : XML 파일로 일시적(transient) 도메인을 만들고 바로 시작한다. 종료하면 정의가 남지 않는다.
- edit 도메인 : 도메인의 XML 설정을 편집기로 수정한다.
- 기타
- console 도메인 : 도메인의 직렬 콘솔에 접속한다. Ctrl+]로 빠져나온다.
- snapshot-create-as 도메인 이름 / snapshot-list 도메인 / snapshot-revert 도메인 이름 : 스냅숏을 만들고 조회·복원한다.
- net-list --all, pool-list --all, vol-list 풀 : 가상 네트워크, 저장소 풀, 볼륨 목록을 출력한다.
# 모든 가상 머신의 상태를 확인한다. # virsh list --all # rocky8 가상 머신을 시작하고, 정상 종료한다. # virsh start rocky8 # virsh shutdown rocky8 # 응답하지 않는 가상 머신을 강제 종료한다. # virsh destroy rocky8 # 설정을 XML 파일로 백업하고, 그 파일로 도메인을 다시 정의(등록)한다. # virsh dumpxml rocky8 > /root/rocky8.xml # virsh define /root/rocky8.xml # 호스트 부팅 시 자동 시작되도록 설정한다. # virsh autostart rocky8 # 가상 머신 정의를 삭제한다. # virsh undefine rocky8
- shutdown(정상 종료)과 destroy(강제 종료)의 차이, define(등록)과 undefine(등록 해제)의 차이가 자주 출제된다.
- list는 실행 중인 도메인만, list --all은 전체 도메인을 보여 준다.
- 가상 머신 XML 설정을 확인하는 명령은 dumpxml이다.
- 리눅스 KVM
- 리눅스 가상화
- 하이퍼바이저
- Xen
- docker 명령어 : 컨테이너를 관리한다.
- systemctl 명령어