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
$ sudo grep GRUB_TERMINAL /etc/default/grub GRUB_TERMINAL=serialCopy to Clipboard Copied! Toggle word wrap Toggle overflow VM에는 콘솔
type='pty'와 같은 직렬 콘솔장치가 구성되어 있어야 합니다. 확인하려면 다음을 수행합니다.virsh dumpxml vm-name | grep console <console type='pty' tty='/dev/pts/2'> </console>
# virsh dumpxml vm-name | grep console <console type='pty' tty='/dev/pts/2'> </console>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# 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 rhgbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 직렬 콘솔이 VM에 올바르게 설정되지 않은 경우 virsh 콘솔 을 사용하여 VM에 연결하면 응답하지 않는 게스트 콘솔에 연결됩니다. 그러나 Ctrl+] 바로 가기를 사용하여 응답하지 않는 콘솔을 계속 종료할 수 있습니다.
VM에서 직렬 콘솔을 설정하려면 다음을 수행합니다.
VM에서
console=ttyS0커널 옵션을 활성화합니다.grubby --update-kernel=ALL --args="console=ttyS0"
# grubby --update-kernel=ALL --args="console=ttyS0"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항이 적용되지 않을 수 있는 커널 옵션을 지웁니다.
grub2-editenv - unset kernelopts
# grub2-editenv - unset kerneloptsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 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)# 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)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
프로세스
호스트 시스템에서
virsh console명령을 사용합니다. libvirt 드라이버가 안전한 콘솔 처리를 지원하는 경우 다음 예제는 guest1 VM에 연결합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 표준 명령줄 인터페이스와 동일한 방식으로 virsh 콘솔과 상호 작용할 수 있습니다.