QEMU/KVM 자동으로 VM 구동/중단 방법(autostart)

QEMU/KVM을 활용해서 가상머신을 만들었는데, 사용하는 컴퓨터 운영체제가 부팅될 때 VM도 같이 켜서 사용해야 하는 경우가 있습니다. OS를 부팅했을 때 자동으로 VM 구동시키는 방법 함께 살펴보시죠.

QEMU/KVM 자동으로 VM 구동 방법(호스트 OS 부팅시)

호스트OS 부팅시 자동으로 VM 구동하는 명령어는 간단합니다. virsh autostart 명령어를 사용하면 됩니다. 여기에서 도메인이름은 Virtual Machine Manager에서 나오는 VM의 이름을 의미합니다.

sudo virsh autostart 도메인이름
ShellScript

실행하면 다음과 같이 자동실행 설정이 되었다고 알려줍니다.

Domain '도메인이름' marked as autostarted

실제로 위의 명령어를 실행한 결과입니다.

그림 1. QEMU/KVM 호스트OS 부팅시 자동으로 VM 구동 방법
그림 1. QEMU/KVM 호스트OS 부팅시 자동으로 VM 구동 방법

virsh autostart 명령어 사용할 때엔 sudo 꼭 붙여주셔야 합니다. 안 붙여주시면, “error: failed to get domain”라는 메시지를 만날 수 있습니다.

그리고 하나 더, 아래 명령어를 사용해서 libvirtd가 부팅시 실행되도록 해주어야 합니다.

sudo systemctl enable libvirtd
ShellScript

이제 모든 설정을 마쳤습니다. 재부팅 해보면, 가상머신이 함께 부팅되는 것을 볼 수 있습니다.

자동 VM 구동 해제 방법

자동으로 가상머신이 부팅되게 하고 싶을 때도 있지만, 반대로 호스트OS 부팅시 자동 VM 구동을 중단하고 싶을 때도 있습니다. 그럴 때에는 autostart 명령어에 –disable 옵션을 추가해 주면 됩니다.

virsh autostart 도메인이름 --disable
ShellScript

아래의 예시는 자동 VM 구동 설정을 해제하는 명령어의 실행 결과입니다. 제대로 실행이 되면 Domain ‘도메인명’ unmarked as autostarted 메시지로 응답해 줍니다.

그림 2. QEMU/KVM 호스트OS 부팅시 자동으로 VM 구동되게 하던 것 중단한 결과
그림 2. QEMU/KVM 호스트OS 부팅시 자동으로 VM 구동되게 하던 것 중단한 결과

사용 예시

저는 Ubuntu 22.04에서 Windows OS를 활용해야 할 일이 있어서 이렇게 활용하고 있습니다. Windows OS를 브릿지 서버로 사용하고 있거든요. 안정적으로 잘 작동되어서, 부팅 후에 신경을 쓰지 않아도 되니 정말 좋습니다.

관련 자료

libvirt virsh manpage의 도메인 명령어 autostart를 참고했습니다. 더 정보가 필요한 분들은 manpage 참고하시면 됩니다.

같이 읽으면 좋은 글

Leave a Comment