일반적으로 Xen에서 가상 머신을 domU 게스트로 실행하면 virt-manager 또는 virt-viewer를 사용하여 해당 콘솔을 볼 수 있습니다. 모든 실용적인 목적을 위해 콘솔 버퍼는 최소한 그래픽 인터페이스로 부팅할 때까지 직접 상호 작용할 수 없는 애니메이션 이미지입니다. 피>
콘솔 출력을 항상 사용할 수 있게 하려면 어떻게 해야 합니까? 어떻게든 콘솔 출력을 호스트로 리디렉션하여 사용 가능하고 구문 분석 가능한 텍스트로 바꿀 수 있습니까? 대답은 '예'입니다. 이것은 할 수 있지만 그렇게 사소한 일이 아닙니다. 완전히 가상화된 게스트와 반가상화된 게스트 모두에 대해 이것이 어떻게 달성될 수 있는지 보여드리겠습니다. 피>
피>
반가상화 게스트
기본적으로 콘솔은 사용자 측에서 특별한 구성이나 조정 없이 작동해야 합니다. 불행히도 인생은 그렇게 공평한 경우가 거의 없으므로 약간 조정하고 해킹해야 할 수도 있습니다. 몇 가지 가능한 해결 방법이 있습니다. 피>
구성 파일 수정
가상 머신 구성 파일에 다음 변형을 추가합니다.
extra="console=hvc0 xencons=tty"
hvc0 대신 xvc0을 지정하고 두 가지 추가 옵션 중 하나를 한 번에 하나의 키 값 쌍으로 사용할 수도 있습니다. 가장 잘 작동하는 것을 찾기 전에 여러 가지를 변경하고 테스트해야 할 수도 있습니다. 피>
손님의 inittab 편집
이 새 콘솔을 게스트에 추가해야 합니다. 이것은 다음과 같이 /etc/inittab을 편집하여 수행됩니다.
x0:12345:respawn:/sbin/agetty -L 9600 xvc0 xterm
가상 머신 구성에서 지정한 내용에 따라 콘솔 이름을 조정하십시오. 이 새 콘솔을 포함하려면 /etc/securetty를 변경해야 할 수도 있습니다. 파일을 열고 x0을 추가하기만 하면 됩니다. 변경하기 전에 필요한 백업을 만드십시오. 선택적으로 커널 명령줄에 추가 매개변수를 전달하거나 GRUB 메뉴를 편집해야 할 수도 있습니다. 아래에서 또 다른 예를 살펴보겠습니다. 이것은 작동해야 하지만 그렇지 않을 수도 있습니다. /var/log/messages에 다음 오류 시퀀스가 표시될 수 있습니다.
초기화:ID "x0"이 너무 빨리 재생성됨:5분 동안 비활성화됨
초기화:ID "x0"이 너무 빨리 재생성됨:5분 동안 비활성화됨
초기화:ID "x0"이 너무 빨리 재생성됨:5분 동안 비활성화됨
초기화:ID "x0"이 너무 빨리 재생성됨:5분 동안 비활성화됨
이 경우 게스트 운영 체제 udev가 장치를 생성하지 않을 수 있으므로 /dev에서 수동으로 생성해야 합니다. 이것은 이상적인 해결 방법은 아니지만 나머지 조정이 모두 작동하지 않는 경우 콘솔을 얻는 데 도움이 될 수 있습니다. 피>
마지막으로 다음을 시도할 수 있습니다.
virsh 콘솔 <도메인 ID>
xm list를 실행하여 도메인 ID를 얻을 수 있습니다. 피>
완전히 가상화된 게스트
매뉴얼 페이지에 따르면 xm 콘솔은 완전히 가상화된 게스트에 사용할 수 없지만 해결 방법을 사용하여 문제를 해결할 수 있습니다. 해야 할 일이 두 가지 있습니다. 호스트 dom0에서 게스트에 대한 관련 구성 파일에 다음 지시어를 추가합니다.
직렬="pty"
게스트에서 /boot/grub/menu.lst 또는 /boot/grub/grub.conf를 다음 줄로 편집하고 첫 번째 커널 항목 위, 아마도 default 및 timeout 지시문 바로 아래 어딘가에 추가합니다. 피>
직렬 --단위=0 --속도=9600
터미널 --timeout=5 직렬 콘솔
그런 다음 관련 GRUB 항목에서 커널 행에 다음을 추가합니다.
콘솔=ttyS0
게스트를 재부팅하면 콘솔이 있어야 합니다. 이제 확인하려면 dom0에서 게스트에 콘솔을 연결해야 합니다. 이것은 다음과 같이 수행됩니다:
#xm 콘솔 <도메인 이름>
줄이 끊어지고 아마도 터미널이 정지된 것처럼 보일 것입니다. 이제 게스트를 재부팅하면 종료/시작 메시지가 표시됩니다. 종료하려면 Ctrl + ]를 누르십시오. 다음은 Magic Keys를 사용하여 트리거된 커널 충돌뿐만 아니라 부팅 및 종료를 보여주는 몇 가지 예입니다.
#xm 콘솔 테스트1
INIT:런레벨로 전환:6
INIT:전송은 TERM 신호를 처리합니다.
INIT:전송 프로세스 KILL 신호
2011년 12월 1일 목요일 /dev/ttyS0(/dev/console)에서 부팅 로깅 시작
마스터 리소스 제어:이전 런레벨:3, 런레벨로 전환:6
데몬에서 서비스 종료 완료
감사 종료 완료
자동 마운트 종료(강제) 완료
일부 이미지:
피>
피>
이제 콘솔이 리디렉션되어 게스트에 표시되지 않습니다. 게스트에서도 콘솔 메시지를 보려면 GRUB 메뉴에 console=tty1을 추가해야 합니다. 피>
더 읽어보기
다음 사항도 확인하실 수 있습니다.
Xen 문제 해결
추가 Xen 문제 해결
Xen에서 SLES11 설치
Xen 게스트 콘솔이 부팅 시 중단됨
결론
그게 다야. 상당히 사소하지는 않지만 유용한 주제입니다. 최소한 Xen 명령줄로 작업하는 방법, 다양한 명령을 호출하고 다양한 매개변수를 확인하는 방법, 부팅 메뉴를 포함하여 시스템 구성 파일을 편집하는 방법에 대해 조금 더 배웠습니다. 마지막으로 반가상화 게스트와 완전 가상화 게스트 모두를 위한 몇 가지 솔루션과 해결 방법이 제시됩니다. Xen 콘솔에 대한 많은 고민. 피>
괜찮은. 오늘은이 정도로 충분하다. 달콤하게 지내세요. 피>
건배. 피>