কম্পিউটার টিউটোরিয়াল

Xen 게스트 콘솔 접근 활성화: 단계별 가이드

일반적으로, 당신이 당신의 가상 머신들을 Xen에서 domU 게스트들로 실행할 때, 당신은 virt-manager나 virt-viewer를 사용하여 그들의 콘솔을 볼 것입니다. 모든 실용적인 목적을 위해, 콘솔 버퍼는 당신이 직접 상호작용할 수 없는 애니메이션 이미지일 것입니다, 적어도 당신이 그래픽 인터페이스로 부팅할 때까지, 만약 ever라면.

그래서 만약 당신이 콘솔 출력을 항상 사용 가능하게 원한다면 당신은 무엇을 합니까? 당신은 어떻게든 콘솔 출력을 당신의 호스트로 리다이렉트하고 그것을 사용 가능하고 파싱 가능한 텍스트로 바꿀 수 있습니까? 답은 예입니다. 이것은 행해질 수 있지만, 그것은 그다지 사소하지 않습니다. 제가 완전히 가상화되고 반가상화된 게스트들 둘 다에 대해 이것이 어떻게 달성될 수 있는지 보여드리겠습니다.

반가상화된 게스트들

기본적으로, 콘솔은 당신의 측에서 어떤 특별한 구성들이나 트윅들 없이 작동해야 합니다. 불행하게도, 인생은 거의 그렇게 공정하지 않습니다, 그래서 당신은 조금 트윅하고 해킹해야 할지도 모릅니다. 몇 가지 가능한 우회책들이 있습니다.

구성 파일 편집

가상 머신 구성 파일에 다음 변형들을 추가하세요:

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에서 다음 에러 시퀀스를 볼 수 있습니다:

init: Id "x0" respawning too fast: disabled for 5 minutes
init: Id "x0" respawning too fast: disabled for 5 minutes
init: Id "x0" respawning too fast: disabled for 5 minutes
init: Id "x0" respawning too fast: disabled for 5 minutes

만약 이것이 일어난다면, 당신의 게스트 운영 체제 udev가 장치를 생성하지 않을 수 있습니다, 그래서 당신은 그것을 /dev 아래에서 수동으로 생성해야 할 것입니다. 이것은 이상적인 우회책은 아니지만, 만약 나머지 모든 트윅들이 당신을 위해 작동하지 않는다면 당신이 콘솔을 얻는 것을 도울 수 있습니다.

마지막으로, 당신은 시도할 수 있습니다:

virsh console <domain id>

당신은 xm list를 실행하여 도메인 id를 얻을 수 있습니다.

완전히 가상화된 게스트들

맨 페이지들에 따르면, xm 콘솔은 완전히 가상화된 게스트들에 대해 사용할 수 없지만, 당신은 우회책을 사용하여 문제를 해결할 수 있습니다. 두 가지 것들이 행해져야 합니다. 당신의 호스트, dom0에서, 게스트를 위한 관련 구성 파일에, 다음 지시어를 추가하세요:

serial="pty"

게스트에서, /boot/grub/menu.lst 또는 /boot/grub/grub.conf를 다음 줄들로 편집하세요, 첫 번째 커널 엔트리 위에 어딘가에 그것들을 추가하세요, 아마도 default와 timeout 지시어들 바로 아래에.

serial --unit=0 --speed=9600
terminal --timeout=5 serial console

그런 다음, 관련 GRUB 엔트리에서 커널 라인에 추가하세요:

console=ttyS0

게스트를 재부팅하고 당신은 콘솔을 가져야 합니다. 이제 확인하기 위해, 당신은 당신의 dom0에서 게스트에 콘솔을 연결해야 합니다. 이것은 다음과 같이 행해집니다:

#xm console <domain name>

라인이 떨어질 것이고 아마도 터미널이 멈춘 것처럼 보일 것입니다. 이제, 만약 당신이 게스트를 재부팅하면, 당신은 종료/시작 메시지들이 올라오는 것을 볼 것입니다. 나가려면, Ctrl + ]을 누르세요. 부팅과 종료뿐만 아니라 매직 키들을 사용하여 트리거된 커널 크래시의 한 줌의 예들:

#xm console test1
INIT: Switching to runlevel: 6
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
Boot logging started on /dev/ttyS0(/dev/console) at Thu Dec 1 2011
Master Resource Control: previous runlevel: 3, switching to runlevel: 6
Shutting down service at daemon done
Shutting down auditd done
Shutting down automount (force) done

몇몇 이미지들:

콘솔이 이제 리다이렉트되었고 게스트에 나타나지 않을 것임을 주목하세요. 당신은 콘솔 메시지들을 게스트에서도 보기 위해 GRUB 메뉴에 console=tty1을 추가해야 할 것입니다.

추가 자료

당신은 또한 이것들을 확인하고 싶을 수 있습니다:

Xen 트러블슈팅

더 많은 Xen 트러블슈팅

Xen 아래에서 SLES11 설치

Xen 게스트 콘솔 부팅 시 멈춤

결론

그것이 전부입니다. 꽤 사소하지 않은 주제지만, 아마도 유용합니다. 최소한, 당신은 Xen 명령줄로 작업하는 방법, 다양한 명령어들을 호출하고 다른 파라미터들을 확인하는 방법, 시스템 구성 파일들을 편집하는 방법, 부팅 메뉴를 포함하여, 조금 더 배웠습니다. 마지막이지만 중요한 것은, 반가상화되고 완전히 가상화된 게스트들 둘 다를 위한 여러 해결책들과 우회책들이 제시되었습니다. Xen 콘솔에 대한 많은 소동.

좋아요. 오늘은 충분합니다. 달콤하게 지내세요.

치어스.

  1. আপনার অ্যান্ড্রয়েডে গুরুত্বপূর্ণ শব্দের জন্য অ্যালার্ট সক্ষম করার উপায়

  2. আপনার এলাকায় ৫G কভারেজ কীভাবে চেক করবেন

  3. Windows 11-এ TPM 2.0 ইনাবল করুন: ধাপে ধাপে গাইড

  4. Zoom-এ অ্যাটেন্ডি রেজিস্ট্রেশন ইনেবল করুন: ধাপে ধাপে গাইড