Citrix Hypervisor

VM 문제 해결

Citrix는 두 가지 형태의 지원을 제공합니다.

  • Citrix 웹 사이트에서 무료 자가 진단 지원
  • 유료 지원 서비스 - 지원 사이트에서 구입할 수 있습니다.

Citrix 기술 지원을 사용하면 기술적 어려움이 있는 경우 온라인으로 지원 사례를 작성하거나 전화로 지원 센터에 문의할 수 있습니다.

Citrix Support 사이트에는 비정상적인 동작, 충돌 또는 기타 문제가 발생할 경우 도움이 될 수 있는 몇 가지 리소스가 호스팅됩니다. 리소스에는 지원 포럼, 기술 자료 문서 및 제품 설명서가 포함됩니다.

비정상적인 VM 동작이 표시되는 경우 이 섹션의 목적은 문제를 해결하는 데 도움이 됩니다. 이 섹션에서는 응용 프로그램 로그가 있는 위치와 Citrix Hypervisor 솔루션 공급자가 문제를 추적하고 해결하는 데 도움이 되는 기타 정보에 대해 설명합니다.

중요:

Citrix Hypervisor 솔루션 공급자 또는 지원 팀의 지침에 따라서만 이 섹션의 문제 해결 정보를 따르십시오.

공급업체 업데이트: 운영 체제 공급업체 제공 업데이트를 통해 VM을 최신 상태로 유지합니다. 공급업체가 VM 충돌 및 기타 오류에 대한 수정 사항을 제공했을 수 있습니다.

VM 충돌

VM 크래시가 발생하는 경우 커널 크래시 덤프가 문제 식별에 도움이 될 수 있습니다. 가능한 경우 충돌을 재현하고 다음 절차를 따릅니다. 이 문제에 대한 추가 조사는 게스트 OS 공급업체에 문의하십시오.

actions-after-crash 매개 변수를 사용하여 VM의 크래시덤프 동작을 제어할 수 있습니다. 다음 값을 사용할 수 있습니다.

설명
preserve VM을 일시 중지된 상태로 둡니다. (분석용)
restart 코어 덤프가 없으며 VM을 재부팅합니다. (기본값)
destroy 코어 덤프가 없으므로 VM을 중단된 상태로 둡니다.

VM 크래시 덤프 저장을 활성화하려면:

  1. Citrix Hypervisor 서버에서 다음 명령을 실행하여 원하는 VM의 UUID를 확인합니다.

    xe vm-list name-label=<name> params=uuid --minimal
    <!--NeedCopy-->
    
  2. xe vm-param-set을 사용하여 actions-after-crash 값을 변경합니다. 예를 들어 dom0에서 다음 명령을 실행합니다.

    xe vm-param-set uuid=<vm_uuid> actions-after-crash=preserve
    <!--NeedCopy-->
    
  3. VM에 크래시를 발생시킵니다.

    1. dom0에서 다음 명령을 실행하여 VM의 도메인 ID를 확인합니다.

      xe vm-param-get uuid=<vm_uuid> param-name=dom-id
      <!--NeedCopy-->
      
    2. dom0에서 xl trigger 명령을 실행하여 충돌을 트리거합니다.

      xl trigger <dom_id> nmi
      <!--NeedCopy-->
      

Windows VM 크래시덤프 동작

기본적으로 Windows 크래시 덤프는 Windows VM 자체의 %SystemRoot%\Minidump에 저장됩니다. 내 컴퓨터 > 속성 > 고급 > 시작 및 복구 메뉴 경로를 따라 VM 덤프 수준을 구성할 수 있습니다.

UEFI 및 보안 부팅 문제

UEFI 지원 VM에서 Citrix Hypervisor 센터 콘솔의 화면 해상도를 변경하려면 어떻게 해야 합니까?

UEFI 사용 VM에서 Citrix Hypervisor 센터 콘솔의 화면 해상도를 변경하려면 다음과 같이 하십시오.

  1. Windows 설정을 엽니다.
  2. 업데이트 및 보안 버튼을 클릭합니다.
  3. 복구 탭에서 지금 다시 시작 버튼을 누릅니다.
  4. 문제 해결 > 고급 옵션 > UEFI 펌웨어 설정으로 이동합니다.
  5. 다시 시작을 누릅니다. 다시 시작하는 동안 UEFI 설정 메뉴가 로드됩니다.
  6. 장치 관리자 > OVMF 플랫폼 구성으로 이동합니다. 현재 화면 해상도를 표시합니다.
  7. Enter 키를 눌러 화면 해상도 옵션을 확인합니다.
  8. 화살표 키를 사용하여 원하는 화면 해상도를 선택하고 Enter키를 누릅니다.
  9. F10 키를 눌러 변경 사항을 저장하고 선택을 확인합니다.
  10. VM을 재부팅하여 Citrix Hypervisor 센터 콘솔이 업데이트된 화면 해상도로 표시되도록 합니다.

UEFI 보안 부팅 VM을 만들 수 없는 이유는 무엇입니까?

VM 운영 체제가 UEFI 보안 부팅 모드를 지원하는지 확인합니다. Citrix Hypervisor 8.2에서는 Windows 10(64비트), Windows Server 2016 (64비트), Windows Server 2019(64비트), Windows Server 2022 (64비트) 와 같은 운영 체제만 보안 부팅을 지원합니다.

Citrix Hypervisor 서버가 UEFI 모드로 부팅되었는지 확인합니다. 보안 부팅 인증서가 있는 Citrix Hypervisor 서버에서만 UEFI 보안 부팅 VM을 만들 수 있습니다. 보안 부팅 인증서는 UEFI 모드로 부팅된 서버 또는 UEFI 모드로 부팅된 서버와 동일한 풀에 있는 서버에만 표시됩니다. 자세한 내용은 네트워크 부팅을 참조하십시오.

UEFI 부팅 Citrix Hypervisor 서버가 하드웨어 호환성 목록에 포함되어 있는지 확인합니다. 이전 서버에는 UEFI 모드로 부팅할 때 보안 부팅 인증서가 포함되지 않을 수 있습니다.

Citrix Hypervisor 서버에 보안 부팅 인증서가 있는지 어떻게 알 수 있습니까?

Citrix Hypervisor 서버가 UEFI 모드로 부팅된 경우 서버에서 보안 부팅 인증서를 사용할 수 있습니다. Citrix Hypervisor 서버는 동일한 리소스 풀의 다른 서버와 인증서를 공유합니다. 리소스 풀에 UEFI 부팅 서버가 있는 경우 해당 풀의 모든 서버에서 보안 부팅 인증서를 사용할 수 있습니다.

Citrix Hypervisor 서버에서 다음 명령을 실행합니다.

xe pool-param-get param-name=uefi-certificates uuid=<pool-uuid> | wc -c

0보다 큰 값을 반환하면 보안 부팅 인증서가 있는 것입니다.

인증서가 유효한지 확인하려면 Citrix Hypervisor 서버에서 다음 명령을 실행합니다.

xe pool-param-get uuid=$(xe pool-list --minimal)  param-name=uefi-certificates|base64 -d|tar tv
-rw-r--r-- root/root      1600 2019-11-11 17:09 KEK.auth
-rw-r--r-- root/root      3212 2019-11-11 17:09 db.auth
<!--NeedCopy-->

보안 부팅 인증서가 없는 경우 Citrix Hypervisor 서버에서 다음 명령을 실행합니다.

ls /sys/firmware/efi/efivars | grep KEK

이 명령이 비어 있으면 UEFI 펌웨어에서 필요한 인증서가 누락되어 해당 서버에 Secure Boot VM을 만들 수 없습니다.

UEFI 보안 부팅 VM이 시작되지 않는 이유는 무엇입니까?

UEFI 보안 부팅 VM의 콘솔에 다음 메시지가 표시되고 Citrix Hypervisor 센터에 경고가 표시되면 보안 부팅 프로세스가 실패하고 VM이 시작되지 않는 것입니다.

시작되지 않는 UEFI 보안 부팅 VM의 콘솔 출력입니다.

이 문제는 대개 서명되지 않은 드라이버를 VM에 설치한 경우 발생합니다. 마지막으로 성공한 보안 부팅 이후 어떤 드라이버가 업데이트되거나 설치되었는지 조사합니다.

보안 부팅을 사용하지 않도록 설정하고 설정 모드에서 VM을 시작하여 서명되지 않은 드라이버를 제거할 수 있습니다.

중요:

이렇게 하기 전에 스냅샷을 생성하여 VM을 백업하십시오.

UEFI 보안 부팅 VM을 UEFI 부팅 VM으로 변경하려면 VM을 호스트하는 Citrix Hypervisor 서버에서 다음 명령을 실행합니다.

varstore-sb-state <VM_UUID> setup

VM을 수정한 후 다음 명령을 실행하여 보안 부팅을 다시 사용하도록 설정합니다.

varstore-sb-state <VM_UUID> user

보안 부팅으로 인해 VM에서 문제가 발생합니까?

VM에 대해 보안 부팅을 사용하도록 설정하여 VM의 문제가 발생하는지 진단하려면 보안 부팅을 사용하지 않도록 설정하고 문제를 재현해 보십시오.

보안 부팅을 사용하지 않도록 설정하려면 VM을 호스팅하는 Citrix Hypervisor 서버에서 다음 명령을 실행합니다.

varstore-sb-state <VM_UUID> setup

문제를 디버깅한 후 다음 명령을 실행하여 보안 부팅을 재활성화할 수 있습니다.

varstore-sb-state <VM_UUID> user

보안 부팅 Windows VM에서 Windows 디버그를 실행하려면 어떻게 해야 합니까?

보안 부팅 Windows VM에서는 Windows 디버그를 실행할 수 없습니다. VM에서 Windows 디버그를 실행하려면 다음 작업 중 하나를 수행할 수 있습니다.

  • 다음 명령을 실행하여 VM을 UEFI 부팅 모드로 전환합니다.

     xe vm-param-set uuid=<UUID> platform:secureboot=false
    

    VM을 재부팅합니다.

    문제를 디버깅한 후 다음 명령을 실행하여 보안 부팅을 재활성화할 수 있습니다.

     xe vm-param-set uuid=<UUID> platform:secureboot=auto
    

    VM을 재부팅합니다.

  • VM을 호스팅하는 Citrix Hypervisor 서버에서 다음 명령을 실행하여 보안 부팅을 사용하지 않도록 설정합니다.

     varstore-sb-state <VM_UUID> setup
    

    문제를 디버깅한 후 다음 명령을 실행하여 보안 부팅을 재활성화할 수 있습니다.

     varstore-sb-state <VM_UUID> user
    

내 UEFI 지원 Windows VM에 NIC가 두 개만 표시되는 이유는 무엇입니까?

UEFI 지원 VM을 만들 때 두 개 이상의 NIC를 설정하더라도 VM이 처음 시작될 때는 두 개의 NIC만 표시됩니다. 이 정보는 Windows용 XenServer VM 도구를 VM에 설치한 후에 올바르게 표시됩니다.

에뮬레이션된 디바이스가 UEFI Windows VM에서 예상한 것과 다른 유형으로 표시되는 이유는 무엇인가요?

UEFI 보안 부팅 VM은 에뮬레이션된 장치에 대해 NVME 및 E1000 을 사용합니다. 그러나 VM이 처음 시작되면 에뮬레이션된 장치가 다른 유형으로 표시됩니다. 이 정보는 Windows용 XenServer VM 도구를 VM에 설치한 후에 올바르게 표시됩니다.

템플릿을 BIOS 모드에서 UEFI 또는 UEFI 보안 부팅 모드로 변환할 수 없는 이유는 무엇입니까?

Citrix Hypervisor와 함께 제공된 템플릿에서만 UEFI 사용 VM 템플릿을 만들 수 있습니다.

무언가가 설치된 템플릿이나 스냅샷에서 만든 템플릿에는 이 xe template-param-set 명령을 사용하지 마십시오. 이러한 스냅샷의 부팅 모드는 변경할 수 없으며 부팅 모드를 변경하려고 하면 VM이 부팅되지 않습니다.

UEFI 및 UEFI 보안 부팅 변수를 확인하려면 어떻게 해야 합니까?

UEFI 또는 UEFI 보안 부팅 VM이 호스팅되는 Citrix Hypervisor 서버에서 다음 명령을 실행합니다.

 varstore-ls

이 명령은 사용 가능한 변수의 GUID 및 이름을 나열합니다. 다음 명령에서 GUID와 이름을 사용합니다.

varstore-get <VM\_ID> <GUID> <name> | hexdump -C

보안 부팅 VM에서 ‘테스트’ 드라이버를 사용할 수 없는 이유는 무엇입니까?

UEFI Secure Boot VM의 문제를 디버깅하고 해결하기 위해 타사와 협력하는 경우 타사 제공 업체가 테스트 또는 확인을 위해 서명되지 않은 드라이버를 제공할 수 있습니다. 이러한 드라이버는 UEFI 보안 부팅 VM에서 작동하지 않습니다.

서명한 드라이버를 타사에 요청하십시오. 또는 UEFI Secure Boot VM을 설치 모드로 전환하여 서명되지 않은 드라이버로 실행할 수 있습니다.

Xentop 유틸리티

Xentop 유틸리티는 Citrix Hypervisor 시스템 및 실행 중인 도메인에 대한 실시간 정보를 준그래픽 형식으로 표시합니다. 이 도구를 사용하면 VM과 연결된 도메인의 상태를 조사할 수 있습니다.

Xentop 유틸리티를 실행하는 방법:

  1. SSH를 통해 Citrix Hypervisor 호스트에 연결하거나 XenCenter에서 호스트의 콘솔 탭으로 이동합니다.
  2. 다음 명령을 실행합니다. xentop

    콘솔에 서버 정보가 테이블 형식으로 표시됩니다. 정보는 정기적으로 업데이트됩니다.

출력 열

Xentop 유틸리티는 콘솔에 다음 열을 표시합니다.

  • NAME - 도메인 이름입니다. “Domain-0”은 Citrix Hypervisor 제어 도메인입니다. 다른 도메인은 VM에 속합니다.
  • STATE - 도메인의 상태입니다. 상태 값은 다음 중 하나일 수 있습니다.

    • d - 도메인 중단 중
    • s — 도메인 종료 중
    • b — 도메인이 차단됨
    • c — 도메인이 다운됨
    • p — 도메인이 일시 중지됨
    • r — 도메인이 CPU 중 하나에서 활성 상태로 실행 중
  • CPU(초) - 도메인의 CPU 사용량(초 단위)입니다.
  • CPU(%) - 도메인의 CPU 사용량을 백분율로 나타낸 값입니다.
  • MEM(k) - 도메인의 현재 메모리 사용량(KiB)입니다.
  • MEM(%) - 도메인의 현재 메모리 사용량(백분율)입니다.
  • MAXMEM(k) - 최대 도메인 메모리 사용량(KiB)입니다.
  • MAXMEM(%) - 최대 도메인 메모리 사용량(백분율)입니다.
  • VCPU - 도메인에 할당된 가상 CPU 수입니다.
  • NETS - 도메인에서 사용하는 가상 네트워크 수입니다.
  • NETTX(k) - 총 네트워크 tx의 양(KiB)입니다.
  • NETRX(k) - 전체 네트워크 rx의 양(KiB)입니다.
  • VBDS - 가상 블록 장치 수입니다.
  • VBD_OO - VBD에서 요청 초과 오류가 발생한 총 횟수입니다. 이 경우 VBD에 대한 I/O 요청이 지연됩니다.
  • VBD_RD - VBD 읽기 요청의 총 수입니다.
  • VBD_WR - VBD 쓰기 요청의 총 수입니다.
  • VBD_RECT - VBD 읽기 섹터입니다.
  • VBD_WSECT - VBD 쓰기 섹터입니다.

Xentop 매개변수

다음 매개변수를 사용하여 Xentop 명령의 출력을 구성할 수 있습니다.

  • -h - Xentop 명령에 대한 명령 도움말을 출력합니다.
  • -V - Xentop 명령의 버전을 출력합니다.
  • -d 또는 –delay=SECONDS - 업데이트 간격(초)을 설정합니다.
  • -n 또는 –networks - 도메인과 연결된 각 VIF 네트워크의 데이터를 출력합니다.
  • -x 또는 –vbds - 도메인과 연결된 각 VBD 블록 장치의 데이터를 출력합니다.
  • -r 또는 repeat-header - 각 도메인 앞에 테이블 헤더를 반복합니다.
  • -v 또는 –vcpus - 도메인과 연결된 각 vCPU의 데이터를 출력합니다.
  • -i 또는 –iterations - Xentop이 종료되기 전에 표시할 반복(업데이트) 수입니다.
  • -f 또는 –full-name - 잘린 이름 대신 전체 도메인 이름을 출력합니다.

이러한 매개 변수의 대부분을 Xentop 유틸리티 내에서 구성할 수도 있습니다.

VM 문제 해결