XEN에서 실행중인 게스트 확인 : HVM 또는 PV 게스트


9

Citrix에서 XenServer를 누군가가 설치 한 Xen 호스트와 작업 중입니다. 그는 이미 많은 CentOS 5.2 게스트를 호스트에 설치했습니다. 게스트가 PV 유형 또는 HVM 유형인지 확인하는 방법이 궁금합니다.

답변:


10

참고로, 실제로 사용중인 드라이버와 관련하여 두 가지가 아닌 세 가지 모드가 있습니다.

  • HVM : 소프트웨어 에뮬레이트 된 장치를 사용하는 수정되지 않은 커널 및 드라이버
  • PV-HVM : 반 가상화 (Xen 전용) 디스크 및 네트워크 드라이버가있는 수정되지 않은 커널
  • PV : 수정 된 커널 및 드라이버

Xen 게스트 / DomU의 경우 매우 기본 uname적이고 lsmodgrep을 사용하여 사용중인 모듈을 나열 할 수 있습니다.

uname -a
lsmod | grep xen

경우 uname -a목록 거기에 문자열 "젠"와 커널은, 당신은 수정 된 커널을 가지고 있고 그것은 가능성이 PV 게스트, 그리고 당신이 출력을 볼 수 lsmod확인을 위해 명령. grep을 출력 lsmod했지만 수정 된 커널의 표시가 없으면 PV-HVM입니다. 어느 쪽의 흔적도없이, 그것은 바로 HVM입니다.

참고 : 일반적으로 PV 도구가 설치되어있는 VM으로 더 많은 작업을 수행 할 수 있으므로 상당히 확실한 지침이 될 수 있지만 PV 도구 의 존재위조하여 일시 중지 / 다시 시작 등을 허용 할 수 있으므로 일반적으로 신뢰할 수 없습니다. .


감사합니다 @Adam. 내가 지금까지 찾은 가장 명확한 대답입니다.
Ha Son Hai

10

uname -a게스트 도메인 내부의 출력 을 분석하는 더 나은 대안이 있습니다. 하이퍼 바이저 자체에서 VM 프로파일을 확인해야합니다.

특대

독립형 Xen 설치를위한 현재 XenLight 툴 스택을 사용하면 다음xl list --long 명령 을 실행하면됩니다 .

# xl list
Name                   ID   Mem VCPUs      State   Time(s)
My-Virtual-Machine     42  1024     1     -b----    9001.0

# xl list -l 42
    or
# xl list --long My-Virtual-Machine

[
    {
        "domid": 6,
        "config": {
            "c_info": {
                "name": "My-Virtual-Machine",
                "uuid": "12345678-abcd-1234-abcd-12345678abcd",
                "type": "pv",
                ...
            },
            ...
        }
    }
]

섹션 의 type항목에  유의하십시오 .이 c_info"pv"이 같으면  반 가상화를 의미합니다.

XM

이전 기존 사용하여 독립 젠 설치 xm관리 도구 스택 상황이 유사했다 :

# xm list --long My-Virtual-Machine
(domain
    (domid 42)
    (name My-Virtual-Machine)
    (image
        (linux
            (kernel ...)
            ...
        )
    )
    ...
)

섹션 의 (linux)요소  (image)builder구성 지시문에 해당합니다.  여기서 "linux"는 "실제 커널이 아닌"반가상 "을 의미하고"hvm "은"전체 가상화 "를 나타냅니다.

XE

XenServer 또는 XCP 어플라이언스 를 사용하면 xe vm-list params=all명령 등을 사용할 수 있습니다 .

virsh

libvirt toolstack 에서이 정보를 얻는 방법이있을 수도  있지만 아직 알려지지 않았습니다.


Xen 4.5부터 x86-64의 반 가상화 모드에는 두 가지 특징이 있습니다.

  • 게스트 시스템에 의존하여 링 0 을 사용하여 링 1을 향해 다시 쓰여지는 클래식 반 가상화 (PV) ; AMD가 x86-64에서 링 1과 링 2를 버린 이후 Xen은 HVM보다 훨씬 느린 소프트웨어 기반 관리로 대체해야했습니다.
  • PVV ( 하드웨어 보조 반 가상화 ) -PV-on-HVM ( 반 가상화 드라이버)완전히 가상화 된 것과 혼동하지 말아야합니다.이  명령은 특권 명령 및 메모리 페이지 테이블을 처리하기위한 하드웨어 지원에 의존하지만 그 밖의 모든 것에 전통적인 PV 기술을 사용합니다. 따라서 하드웨어가 에뮬레이션되지 않고 오래된 x86-32 배의 성능으로 거의 네이티브 성능을 얻을 수 있습니다.

호스트가 PVH를 사용하여 실행되는지 확인하려면 다음을 사용하십시오 xl info(이 방법이 grub.cfg 검사보다 낫지는 않습니다 ).

# xl info | grep xen_commandline
xen_commandline        : pvh=1 loglvl=all guest_loglvl=all console=com1,vga
                         ^^^^^

특정 게스트가 PVH 모드에서 실행 중인지 ( pvh=1구성 파일에서) 다시 확인하려면 xl list -l다음을 참조하십시오 .

            "c_info":{
                "name": "My-Virtual-Machine",
                "type": "pv",
                "pvh": "True",
                ...
            },

그러나 관리 관점에서 PVH는 PV와 다르지 않아야합니다.


xm명령이 없지만 xl출력이 다른 4.4.1에서는 작동하지 않습니다 . 4.4.1 XEN에 정보를 얻는 방법에 대한 모든 아이디어. 감사.
Wakan Tanka

@ WakanTanka 현재 작동중인 Xen 서버에 액세스 할 수 없지만 온라인에서 찾은 샘플 출력에 따르면 접근 방식은 기본적으로 동일합니다. 업데이트 된 답변을 참조하십시오.
Anton Samsonov

이것은 @AdamC의 대답보다 훨씬 나은 접근 방법입니다. 여기에는 PV에 따라 확실히 PV xl이지만 커널 이름 또는 커널 모듈에 xen에 대한 언급이 없기 때문에 여러 PV 우분투 게스트가 있습니다 .
가짜 이름

2
이를 위해서는 하이퍼 바이저에 액세스해야합니다. 게스트에게만 액세스 할 수 있는지 어떻게 알 수 있습니까?
Tonin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.