VM 문제 해결
XenServer는 두 가지 형태의 지원을 제공합니다.
- XenServer 웹 사이트에서 무료 자가 진단 지원
- 유료 지원 서비스 - 지원 사이트에서 구입할 수 있습니다.
XenServer 기술 지원을 사용하면 기술적 어려움이 있는 경우 온라인으로 지원 사례를 작성하거나 전화로 지원 센터에 문의할 수 있습니다.
XenServer 지원 사이트에는 비정상적인 동작, 충돌 또는 기타 문제가 발생할 경우 도움이 될 수 있는 몇 가지 리소스가 호스팅됩니다. 리소스에는 지원 포럼, 기술 자료 문서 및 제품 설명서가 포함됩니다.
비정상적인 VM 동작이 표시되는 경우 이 섹션의 목적은 문제를 해결하는 데 도움이 됩니다. 이 섹션에서는 응용 프로그램 로그가 있는 위치와 XenServer 솔루션 공급자가 문제를 추적하고 해결하는 데 도움이 되는 기타 정보에 대해 설명합니다.
중요:
XenServer 솔루션 공급자 또는 지원 팀의 지침에 따라서만 이 섹션의 문제 해결 정보를 따르십시오.
공급업체 업데이트: 운영 체제 공급업체 제공 업데이트를 통해 VM을 최신 상태로 유지합니다. 공급업체가 VM 충돌 및 기타 오류에 대한 수정 사항을 제공했을 수 있습니다.
VM 충돌
VM 크래시가 발생하는 경우 커널 크래시 덤프가 문제 식별에 도움이 될 수 있습니다. 가능한 경우 충돌을 재현하고 다음 절차를 따릅니다. 이 문제에 대한 추가 조사는 게스트 OS 공급업체에 문의하십시오.
actions-after-crash
매개 변수를 사용하여 VM의 크래시덤프 동작을 제어할 수 있습니다. 다음 값을 사용할 수 있습니다.
값 | 설명 |
---|---|
preserve |
VM을 일시 중지된 상태로 둡니다. (분석용) |
restart |
코어 덤프가 없으며 VM을 재부팅합니다. (기본값) |
destroy |
코어 덤프가 없으므로 VM을 중단된 상태로 둡니다. |
VM 크래시 덤프 저장을 활성화하려면:
-
XenServer 호스트에서 다음 명령을 실행하여 원하는 VM의 UUID를 확인합니다.
xe vm-list name-label=<name> params=uuid --minimal <!--NeedCopy-->
-
xe vm-param-set
을 사용하여actions-after-crash
값을 변경합니다. 예를 들어 dom0에서 다음 명령을 실행합니다.xe vm-param-set uuid=<vm_uuid> actions-after-crash=preserve <!--NeedCopy-->
-
VM에 크래시를 발생시킵니다.
-
dom0에서 다음 명령을 실행하여 VM의 도메인 ID를 확인합니다.
xe vm-param-get uuid=<vm_uuid> param-name=dom-id <!--NeedCopy-->
-
dom0에서
xl trigger
명령을 실행하여 충돌을 트리거합니다.xl trigger <dom_id> nmi <!--NeedCopy-->
-
Windows VM 크래시덤프 동작
기본적으로 Windows 크래시 덤프는 Windows VM 자체의 %SystemRoot%\Minidump
에 저장됩니다. 내 컴퓨터 > 속성 > 고급 > 시작 및 복구 메뉴 경로를 따라 VM 덤프 수준을 구성할 수 있습니다.
윈도우 진단을 위한 XenServer VM 도구를 수집하세요
Windows용 XenServer VM 도구에는 xtbugtool
(이)라는 진단 도구가 포함되어 있습니다. 이 도구는 PowerShell 스크립트, xtbugtool.ps1
(으)로 사용할 수 있습니다.
또한 이전 버전의 Windows, xtbugtool.bat
에서 실행하기 위한 지원 중단된 배치 스크립트 버전도 제공합니다. 가능하면 PowerShell 버전을 사용하는 것이 좋습니다.
이 도구는 다음 운영 체제에서 지원됩니다.
- Windows 10
- Windows 11
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
Windows용 XenServer VM 도구의 문제를 진단하는 데 도움이 되도록 스크립트는 Windows VM에서 다음 정보를 수집합니다.
- Windows 설치용 XenServer VM 도구와 관련된 레지스트리 키
- NFO 및 텍스트 버전의 MSInfo
- 시스템, 보안 및 애플리케이션 이벤트 로그
- 다음 파일 및 디렉터리:
C:\ProgramData\Citrix
C:\ProgramData\Citrix Systems, Inc.
C:\ProgramData\XenServer
C:\Windows\Inf\setupapi.dev.log
C:\Windows\Inf\setupapi.setup.log
- 다음 명령의 출력:
- 시스템 정보
- 작업 목록 /NH
- pnputil -e
- pnputil/enum-드라이버
- winmgmt /검증 리포지토리
- ipconfig /all
파워셸 스크립트 실행
PowerShell 스크립트를 실행하려면 다음 단계를 따르십시오.
- Windows VM에서 관리자 권한으로 PowerShell 터미널을 엽니다.
-
시작 메뉴에서
PowerShell
을(를) 입력하고 관리자 권한으로 실행을선택합니다. - 디렉토리를
C:\Program Files\XenServer\XenTools\diagnostics
(으)로 변경 -
다음 명령을 사용하여 스크립트를 실행합니다.
xtbugtool.ps1 <path_to_output_directory>
출력 경로에 값을 제공하지 않는 경우 스크립트는 현재 디렉터리로 출력합니다.
스크립트는 지정한 출력 디렉터리에 있는 xtbugtool-yyyyMMddHHmmss.zip
형식의 이름을 사용하여 압축 파일을 만듭니다.
배치 스크립트 실행 (지원 중단됨)
배치 스크립트를 실행하려면 다음 단계를 따르십시오.
- Windows VM에서 관리자 권한으로 명령 프롬프트를 엽니다.
-
시작 메뉴에서
cmd
을(를) 입력하고 관리자 권한으로 실행을선택합니다. - 디렉토리를
C:\Program Files\XenServer\XenTools\diagnostics
(으)로 변경 -
다음 명령을 사용하여 스크립트를 실행합니다.
xtbugtool.bat <path_to_output_directory>
스크립트는 지정한 출력 디렉터리에 있는 xt-bugtool-YYYY.MM.DD-xxxx.zip
형식의 이름을 사용하여 압축 파일을 만듭니다.
UEFI 및 보안 부팅 문제
UEFI 지원 VM에서 XenCenter 콘솔의 화면 해상도를 변경하려면 어떻게 해야 합니까?
UEFI 사용 VM에서 XenCenter 콘솔의 화면 해상도를 변경하려면 다음을 수행하십시오.
- Windows 설정을 엽니다.
- 업데이트 및 보안 버튼을 클릭합니다.
- 복구 탭에서 지금 다시 시작 버튼을 누릅니다.
- 문제 해결 > 고급 옵션 > UEFI 펌웨어 설정으로 이동합니다.
- 다시 시작을 누릅니다. 다시 시작하는 동안 UEFI 설정 메뉴가 로드됩니다.
- 장치 관리자 > OVMF 플랫폼 구성으로 이동합니다. 현재 화면 해상도를 표시합니다.
- Enter 키를 눌러 화면 해상도 옵션을 확인합니다.
- 화살표 키를 사용하여 원하는 화면 해상도를 선택하고 Enter키를 누릅니다.
- F10 키를 눌러 변경 사항을 저장하고 선택을 확인합니다.
- VM을 재부팅하여 XenCenter 콘솔이 업데이트된 화면 해상도로 표시되도록 합니다.
UEFI 보안 부팅 VM을 만들 수 없는 이유는 무엇입니까?
VM 운영 체제가 UEFI 보안 부팅 모드를 지원하는지 확인합니다. 보안 부팅을 지원하는 운영 체제는 다음과 같습니다.
- Windows 10(64비트)
- Windows 11(64비트)
- Windows Server 2016(64비트)
- Windows Server 2019 (64비트)
- Windows Server 2022 (64비트)
UEFI 보안 부팅 VM이 시작되지 않는 이유는 무엇입니까?
UEFI 보안 부팅 VM의 콘솔에 다음 메시지가 표시되고 XenCenter에 경고가 표시되면 보안 부팅 프로세스가 실패하고 VM이 시작되지 않는 것입니다.
이 문제는 대개 서명되지 않은 드라이버를 VM에 설치한 경우 발생합니다. 마지막으로 성공한 보안 부팅 이후 어떤 드라이버가 업데이트되거나 설치되었는지 조사합니다.
보안 부팅을 사용하지 않도록 설정하고 설정 모드에서 VM을 시작하여 서명되지 않은 드라이버를 제거할 수 있습니다.
중요:
이렇게 하기 전에 스냅샷을 생성하여 VM을 백업하십시오.
UEFI 보안 부팅 VM을 UEFI 부팅 VM으로 변경하려면 VM을 호스트하는 XenServer 호스트에서 다음 명령을 실행합니다.
varstore-sb-state <VM_UUID> setup
VM을 수정한 후 다음 명령을 실행하여 보안 부팅을 다시 사용하도록 설정합니다.
varstore-sb-state <VM_UUID> user
보안 부팅으로 인해 VM에서 문제가 발생합니까?
VM에 대해 보안 부팅을 사용하도록 설정하여 VM의 문제가 발생하는지 진단하려면 보안 부팅을 사용하지 않도록 설정하고 문제를 재현해 보십시오.
보안 부팅을 사용하지 않도록 설정하려면 VM을 호스팅하는 XenServer 호스트에서 다음 명령을 실행합니다.
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을 호스팅하는 XenServer 호스트에서 다음 명령을 실행하여 보안 부팅을 사용하지 않도록 설정합니다.
varstore-sb-state <VM_UUID> setup
문제를 디버깅한 후 다음 명령을 실행하여 보안 부팅을 재활성화할 수 있습니다.
varstore-sb-state <VM_UUID> user
내 UEFI 지원 Windows VM에 NIC가 두 개만 표시되는 이유는 무엇입니까?
UEFI 지원 VM을 만들 때 두 개 이상의 NIC를 설정하더라도 VM이 처음 시작될 때는 두 개의 NIC만 표시됩니다. Windows용 XenServer VM Tools를 VM에 설치한 후에는 이 정보가 올바르게 표시됩니다.
에뮬레이션된 디바이스가 UEFI Windows VM에서 예상한 것과 다른 유형으로 표시되는 이유는 무엇인가요?
UEFI 보안 부팅 VM은 에뮬레이션된 장치에 대해 NVME 및 E1000 을 사용합니다. 그러나 VM이 처음 시작되면 에뮬레이션된 장치가 다른 유형으로 표시됩니다. Windows용 XenServer VM Tools를 VM에 설치한 후에는 이 정보가 올바르게 표시됩니다.
템플릿을 BIOS 모드에서 UEFI 또는 UEFI 보안 부팅 모드로 변환할 수 없는 이유는 무엇입니까?
XenServer와 함께 제공된 템플릿에서만 UEFI 사용 VM 템플릿을 만들 수 있습니다.
무언가가 설치된 템플릿이나 스냅샷에서 만든 템플릿에는 이 xe template-param-set
명령을 사용하지 마십시오. 이러한 스냅샷의 부팅 모드는 변경할 수 없으며 부팅 모드를 변경하려고 하면 VM이 부팅되지 않습니다.
UEFI 및 UEFI 보안 부팅 변수를 확인하려면 어떻게 해야 합니까?
UEFI 또는 UEFI 보안 부팅 VM이 호스팅되는 XenServer 호스트에서 다음 명령을 실행합니다.
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 유틸리티는 XenServer 시스템 및 실행 중인 도메인에 대한 실시간 정보를 준그래픽 형식으로 표시합니다. 이 도구를 사용하면 VM과 연결된 도메인의 상태를 조사할 수 있습니다.
Xentop 유틸리티를 실행하는 방법:
- SSH를 통해 XenServer 호스트에 연결하거나 XenCenter에서 호스트의 콘솔 탭으로 이동합니다.
-
다음 명령을 실행합니다.
xentop
콘솔은 테이블에 호스트에 대한 정보를 표시합니다. 정보는 정기적으로 업데이트됩니다.
출력 열
Xentop 유틸리티는 콘솔에 다음 열을 표시합니다.
- NAME - 도메인 이름입니다. “Domain-0”은 XenServer 제어 도메인입니다. 다른 도메인은 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 유틸리티 내에서 구성할 수도 있습니다.