5.4. 가상 머신 직렬 콘솔 열기
virsh console
명령을 사용하면 VM(가상 머신)의 직렬 콘솔에 연결할 수 있습니다.
이 기능은 VM에서 사용할 때 유용합니다.
- VNC 프로토콜을 제공하지 않으므로 GUI 툴에 대한 비디오 디스플레이를 제공하지 않습니다.
- 에는 네트워크 연결이 없으므로 SSH를 사용하여 상호 작용할 수 없습니다.
사전 요구 사항
호스트의 GRUB 부트 로더는 직렬 콘솔을 사용하도록 구성해야 합니다. 확인하려면 호스트의
/etc/default/grub
파일에GRUB_TERMINAL=serial
매개변수가 포함되어 있는지 확인합니다.$ sudo grep GRUB_TERMINAL /etc/default/grub GRUB_TERMINAL=serial
VM에는 콘솔
type='pty'와 같은 직렬 콘솔
장치가 구성되어 있어야 합니다. 확인하려면 다음을 수행합니다.# virsh dumpxml vm-name | grep console <console type='pty' tty='/dev/pts/2'> </console>
VM에는 커널 명령줄에 직렬 콘솔이 구성되어 있어야 합니다. 이를 확인하려면 VM의
cat /proc/cmdline
명령 출력에 console=<console-name>이 포함되어야 합니다. 여기서 < console-name >은 아키텍처에 따라 다릅니다.-
AMD64 및 Intel 64의 경우:
ttyS0
ARM 64의 경우:
ttyAMA0
참고이 절차의 다음 명령은
ttyS0
을 사용합니다.# cat /proc/cmdline BOOT_IMAGE=/vmlinuz-3.10.0-948.el7.x86_64 root=/dev/mapper/rhel-root ro console=tty0 console=ttyS0,9600n8 rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb
직렬 콘솔이 VM에 올바르게 설정되지 않은 경우 virsh 콘솔 을 사용하여 VM에 연결하면 응답하지 않는 게스트 콘솔에 연결됩니다. 그러나 Ctrl+] 바로 가기를 사용하여 응답하지 않는 콘솔을 계속 종료할 수 있습니다.
VM에서 직렬 콘솔을 설정하려면 다음을 수행합니다.
VM에서
console=ttyS0
커널 옵션을 활성화합니다.# grubby --update-kernel=ALL --args="console=ttyS0"
변경 사항이 적용되지 않을 수 있는 커널 옵션을 지웁니다.
# grub2-editenv - unset kernelopts
- VM을 재부팅합니다.
-
AMD64 및 Intel 64의 경우:
serial-getty@<console-name>
서비스를 활성화해야 합니다. 예를 들어 AMD64 및 Intel 64에서 다음을 수행합니다.# systemctl status serial-getty@ttyS0.service ○ serial-getty@ttyS0.service - Serial Getty on ttyS0 Loaded: loaded (/usr/lib/systemd/system/serial-getty@.service; enabled; preset: enabled)
프로세스
호스트 시스템에서
virsh console
명령을 사용합니다. libvirt 드라이버가 안전한 콘솔 처리를 지원하는 경우 다음 예제는 guest1 VM에 연결합니다.# virsh console guest1 --safe Connected to domain 'guest1' Escape character is ^] Subscription-name Kernel 3.10.0-948.el7.x86_64 on an x86_64 localhost login:
- 표준 명령줄 인터페이스와 동일한 방식으로 virsh 콘솔과 상호 작용할 수 있습니다.
추가 리소스
-
virsh
도움말 페이지