가상화와 QEMU/KVM · VM 생성과 부팅 · 퀴즈
퀴즈: VM 실행
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
QEMU 의 `-netdev` 와 `-device` 가 분리돼 있는 이유는?
- 역사적 잔재일 뿐 실제 기능은 서로 같다
- -netdev 는 IPv4, -device 는 IPv6 용이다
- -netdev 는 호스트 쪽 백엔드를, -device 는 게스트가 보는 NIC 을 정한다
- -device 는 핫플러그할 때만 쓰는 옵션이다
`hostfwd=tcp::12222-:22` 로 연 포트가 QEMU 시작 직후 리슨 상태입니다. 게스트는 아직 부팅 중인데도요. 왜?
- QEMU가 게스트 SSH 응답까지 대신 생성한다
- 호스트 커널이 게스트 부팅 전에 포트를 예약한다
- QEMU 의 리슨 상태 표시가 잘못된 버그다
- 포워딩 소켓은 QEMU 프로세스가 여는 것이라 게스트 상태와 무관하다
`-drive file=disk.qcow2,if=virtio` 에서 `format=qcow2` 를 명시해야 하는 이유는?
- 포맷을 알려 주면 열기 성능이 좋아지기 때문
- 명시하지 않으면 QEMU 가 파일 내용으로 포맷을 추측하기 때문
- qcow2 는 자동 감지가 되지 않기 때문
- libvirt 가 그 항목을 요구하기 때문
시리얼 콘솔에 `SeaBIOS` 와 `Booting from Hard Disk` 는 보이는데 커널 메시지가 안 나옵니다. 확인할 것은?
- 디스크 이미지가 손상되지 않았는지
- 게스트 메모리가 부족하지 않은지
- 가속기 설정이 잘못되지 않았는지
- 게스트 커널에 console=ttyS0 이 전달되고 있는지
실행 중인 VM 에 자동화 스크립트로 명령을 보내려면?
- ssh 로 게스트에 접속해 명령을 실행한다
- 모니터를 유닉스 소켓으로 열고 nc -U 로 명령을 보낸다
- QEMU 프로세스에 시그널을 보낸다
- 커맨드라인을 다시 만들어 재실행한다
libvirt 로 정의한 VM 의 실제 실행 인자를 확인하는 가장 확실한 방법은?
- XML 정의를 읽는다
- ps 로 qemu 프로세스의 커맨드라인을 본다
- virsh dominfo 를 본다
- 로그 파일을 본다