Computer >> 컴퓨터 >  >> 소프트웨어 >> 가상 기기

일반적인 Xen 문제 해결

카르마가 최악으로 바뀌면 가상화 경험이 나빠질 수 있습니다. Xen 기술의 새로운 사용자라면 Python 개발자가 아닌 이상 Xen 오류 메시지가 매우 장황하고 그다지 유용하지 않다는 사실을 힘들게 배울 수 있습니다. 내부 함수 호출에 대한 장황한 추적 및 암호 참조를 통해 오류는 본질적으로 간단하고 해결하기 쉬운 문제에서 실제로 당신을 손상시킬 수 있습니다.

저는 가상화나 Python에 대한 전문가는 아니지만 해결하는 데 몇 분 밖에 걸리지 않지만 지식이 부족한 사용자에게는 영원처럼 보일 수 있는 몇 가지 일반적인 문제를 발견했습니다. 추신 나는 전문가이지만 일반적으로 당신이 아니라고 주장하는 것이 더 낫습니다. 왜냐하면 1) 오류가 용서된다면 2) 당신은 실패를 감당할 수 있고 3) 사람들은 겸손과 그 모든 약자 태도를 사랑하기 때문입니다. 어쨌든 Xen을 즐길 수 있도록 도와드리겠습니다.

팁 1:디스플레이

시작하기 전에 디스플레이가 제대로 구성되었는지 확인하십시오. BASH를 사용하든 TCSH를 사용하든 DISPLAY 변수를 적절한 장치로 내보내거나 설정하십시오. 이것이 첫 번째 단계여야 합니다.

내보내기 DISPLAY=호스트 이름:포트

팁 2:

라는 이름의 모듈이 없습니다.

다음과 같은 백만 개의 메시지를 받을 수 있습니다:모듈 이름 xen.xm 없음, gtk라는 모듈 없음, 아무 모듈 이름 없음. 대부분의 경우 오류 메시지가 관련이 없는 것처럼 보이더라도 문제의 원인은 동일합니다.

xm 역추적의 예를 봅시다; /usr/sbin/xm을 실행해 보고 실패합니다:

리눅스 #xm 목록

추적(가장 최근 호출 마지막):

파일 "/usr/sbin/xm", 8행,

xen.xm에서 메인 가져오기

ImportError:xen.xm이라는 모듈이 없습니다.

두 가지 옵션이 있습니다. 1) 모듈이 실제로 누락되었습니다. 2) 다른 곳에 문제가 있습니다. 먼저 첫 번째 옵션을 살펴보는 것으로 시작하겠습니다.

누락된 Python 모듈

모듈이 실제로 누락되었을 수 있습니다. 관련 패키지가 호스트에 설치되어 있는지 확인하여 이를 확인할 수 있습니다. 예를 들어 gtk 패키지가 없는 경우 설치 데이터베이스에서 gtk 및 python-gtk 패키지를 쿼리할 수 있습니다.

실패한 명령을 strace로 실행하고 유틸리티가 예상하는 누락된 파일 또는 디렉토리를 찾을 수도 있습니다. 이렇게 하면 당면한 문제에 대한 자세한 정보를 얻을 수 있습니다. 상자에 불완전한 Xen 설치가 있을 수 있습니다.

다른 문제가 있습니다.

다른 것은 Python 설정을 나타냅니다. 컴퓨터에 패키지를 설치할 수 있지만 Python은 어떤 이유로 패키지를 보지 못할 수 있습니다. 이 문제를 해결하려면 수동으로 PYTHONPATH 변수를 설정하고 사이트 패키지 디렉터리를 가리킬 수 있습니다.

내보내기 PYTHONPATH=/python-version/site-packages 경로

또한 PATH 변수를 확인하여 실제로 올바른 Python 버전을 사용하고 있는지 확인해야 합니다. 전체 경로로 명령을 실행하는 것도 항상 권장됩니다. 이것은 세 번째 팁으로 이어집니다.

팁 3:명시적 명령

믿거나 말거나 대부분의 Xen 유틸리티는 래퍼 스크립트입니다. 아래에는 Python 코드가 표시됩니다. 예를 들어 VMM(Virtual Machine Manager)도 Python입니다. 먼저 유틸리티가 숨은 위치를 찾아야 합니다.

어느

그런 다음 해당 파일의 내용을 확인해야 합니다.

cat

그런 다음 래퍼를 거치지 않고 직접 명령을 실행할 수 있습니다. 이러한 래퍼 명령에는 모두 상대적인 이름이 있습니다. 이는 사용 중인 Python 버전에 관계없이 도구가 작동하지만 문제가 있을 때 근본 원인을 숨기기 때문에 좋은 것입니다.

실제 문제가 있는지 또는 환경 설정에 문제가 있는지 확인하려면 Python 설치의 전체 경로와 함께 명령을 실행하십시오. 예를 들어 virt-manager를 실행하는 대신 다음을 실행해야 합니다.

/usr/bin/python "/usr/share/virt-manager ..."

또는 python2.4 또는 python 2.7과 같은 특정 버전의 Python을 사용할 수도 있습니다.

팁 4:스크립트 변경

숙련된 사용자가 아니면 권장되지 않지만 특정 경로 및 Python 설치를 가리키도록 래퍼 스크립트를 변경할 수 있습니다. 초기 문제로 돌아가 봅시다. xm create 을 실행하면 xen.xm 모듈 오류가 발생합니다.

이제 정확히 xm 명령이 무엇인지 확인해야 합니다. which against xm을 실행하면 /usr/sbin/xm 아래에 숨어 있음을 알 수 있습니다. 이제 텍스트 편집기에서 이 파일을 엽니다. 실제로 Python 스크립트입니다.

#!/usr/bin/env 파이썬

# -*- 모드:파이썬; -*-

수입 시스템



# 필요한 경우 비네이티브 파이썬 경로 설치를 위한 대체 경로 추가

sys.path.append('/usr/lib/python')

sys.path.append('/usr/lib64/python')

xen.xm에서 메인 가져오기



메인.메인(sys.argv)

Xen의 일부 버전에서 첫 번째 줄은 #!/usr/bin/env python입니다. 이것을 특정 Python 버전으로 변경하고 무엇이 제공되는지 확인할 수 있습니다. 예를 들어 Python 2.4 또는 Python 2.6일 수 있습니다. 이 중 하나가 잘못 구성되었거나 환경 설정에서 누락되었을 수 있습니다.

#!/usr/bin/env 파이썬 <--- 삭제

#!/usr/bin/python2.6 <--- 사용

그런 다음 모든 것이 예상대로 작동하는 것을 볼 수 있습니다. 예를 들어, Xen 커널도 설치된 내 openSUSE 11.4 컴퓨터에서:

마찬가지로 /usr/bin/python만 나열하는 최신 버전의 Xen에서는 설정과 관련된 문제가 있는지 확인하기 위해 동일한 변경을 수행할 수 있습니다.

변경하기 전에 원본 파일을 백업하는 것을 잊지 마십시오. 또한 새롭고 복잡한 문제를 만들지 않도록 한 번에 한 가지 이상의 변경을 시도하지 마십시오.

팁 5:서비스 확인

어리석게 들리겠지만 libvirt 서비스가 시작되지 않으면 가상화 작업으로 구취의 풍차에 부딪힐 것입니다. dom0 도메인 등에 연결할 수 없습니다. 따라서 실행 중인지, 시작 시 활성화되어 있는지 확인해야 합니다.

그리고 지금은 그것으로 충분하다고 생각합니다.

더 읽어보기

Virtuatopia에 있는 매우 가치 있는 리소스입니다.

RedHat 설명서, 일반적인 Xen 문제에 관심이 있을 수도 있습니다.

결론

이 기사가 가장 아름답지 않을 수도 있지만, 다시 말하지만 Python 역추적 메시지도 그다지 아름답지 않습니다. 너무 많은 정보는 올바른 환경 변수를 설정하거나 Python 버전을 변경하는 것만큼 간단할 수 있는 실제 문제를 가릴 수 있습니다. 이 가이드를 통해 불필요한 번거로움과 좌절감에서 많은 시간을 절약할 수 있기를 바랍니다.

읽을거리가 많으니 하시는게 좋습니다. 내 가상화 섹션으로 이동하여 미친 듯이 클릭하기 시작하십시오. 소개 기사, Xen Cloud Platform 및 XenServer, 탐색용 라이브 CD가 있습니다. 더 많은 Xen 관련 소식으로 돌아오겠습니다. 다른 오픈 소스 솔루션을 원한다면 KVM도 있습니다. 즐기다!

공유하고 싶은 다른 간단하고 보편적이며 보편적인 트릭이 있으면 낯선 사람이 되지 말고 이메일을 보내십시오. 데도이메도 아웃.

건배.