클러스터에 대한 진단 데이터 수집
적용 대상: Azure Stack HCI, 버전 22H2 및 21H2, Windows Server 2022, Windows Server 2019, Windows Server 2016
Important
Azure Stack HCI는 이제 Azure Local의 일부입니다. 제품 설명서 이름 바꾸기가 진행 중입니다. 그러나 이전 버전의 Azure Stack HCI(예: 22H2)는 Azure Stack HCI를 계속 참조하며 이름 변경 내용이 반영되지 않습니다. 자세히 알아보기.
저장소 공간 Direct에는 Azure Stack HCI 및 Windows Server 클러스터 문제를 해결하는 데 필요한 데이터를 수집하는 데 사용할 수 있는 다양한 진단 도구가 있습니다. 이 문서에서는 SDDC 진단 도구를 설치하고 사용하여 클러스터를 진단하는 데 도움이 되는 관련 정보를 수집하는 데 집중합니다.
로그 및 기타 정보는 밀도가 높기 때문에 이 문서에 제시된 정보는 에스컬레이션된 고급 문제를 해결하는 데 유용하며 심사를 위해 데이터를 Microsoft로 보내야 할 수 있습니다.
Windows Admin Center에서 진단 도구 설치 및 사용
Windows Admin Center(버전 1812 이상)를 사용하여 다음을 수행할 수 있습니다.
- SDDC 진단 도구를 설치하고 최신 상태로 유지
- 매일 진단 실행 예약(시스템에 미치는 영향이 낮고 일반적으로 백그라운드에서 실행하는 데 5분 미만이 걸리며 클러스터에서 500MB를 초과하지 않음)
- 이전에 수집한 진단 정보를 직접 지원하거나 분석하도록 제공해야 하는 경우 확인합니다.
SDDC 진단 도구를 설치하고 데이터 수집을 시작하려면 다음 단계를 수행합니다.
Windows Admin Center를 시작하고 도구 > 진단을 선택합니다. 진단 도구가 아직 설치되지 않은 경우 설치 단추를 클릭합니다.
진단 데이터 수집을 시작하려면 수집을 클릭합니다. "진단 정보 수집. 몇 분 정도 걸릴 수 있습니다." 초기 데이터 수집 후 24시간마다 데이터를 자동으로 수집하려면 슬라이더를 켜기로 변경합니다.
아래 스크린샷이 표시될 때까지 데이터 수집이 완료되지 않습니다. 수집된 진단 정보를 보려면 다운로드(.zip) 또는 파일에서 열기 도구를 선택합니다.
PowerShell을 사용하여 Get-SDDCDiagnosticInfo 설치
PowerShell cmdlet(이전Test-StorageHealth
이라고Get-PCStorageDiagnosticInfo
도 함)을 사용하여 Get-SDDCDiagnosticInfo
장애 조치(failover) 클러스터링(클러스터, 리소스, 네트워크, 노드), 저장소 공간(실제 디스크, 엔클로저, 가상 디스크), 클러스터 공유 볼륨, SMB 파일 공유 및 중복 제거에 대한 상태 검사를 수집하고 수행할 수 있습니다.
스크립트를 설치하는 방법에는 PowerShell 갤러리 및 GitHub의 두 가지 방법이 있습니다. 둘 다 아래에 설명되어 있습니다.
PowerShell 갤러리
PowerShell 갤러리 GitHub 리포지토리의 스냅샷입니다. PowerShell 갤러리 항목을 설치하려면 Windows 10, WMF(Windows Management Framework) 5.0 또는 MSI 기반 설치 관리자(PowerShell 3 및 4용)에서 사용할 수 있는 최신 버전의 PowerShellGet 모듈이 필요합니다.
이 프로세스 Get-SDDCDiagnosticInfo
중에 최신 버전의 Microsoft 네트워킹 진단 도구를 설치합니다. 이 매니페스트 모듈에는 Microsoft의 Microsoft Core 네트워킹 제품 그룹에서 유지 관리하는 네트워크 진단 및 문제 해결 도구가 포함되어 있습니다.
관리자 권한으로 PowerShell에서 다음 명령을 실행하여 모듈을 설치할 수 있습니다.
Install-PackageProvider NuGet -Force
Install-Module PrivateCloud.DiagnosticInfo -Force
Import-Module PrivateCloud.DiagnosticInfo -Force
Install-Module -Name MSFT.Network.Diag
모듈을 업데이트하려면 PowerShell에서 다음 명령을 실행합니다.
Update-Module PrivateCloud.DiagnosticInfo
GitHub
GitHub 리포지토리는 모듈의 최신 버전입니다. 여기서는 계속 반복하기 때문에 이 모듈의 최신 버전입니다. GitHub에서 모듈을 설치하려면 보관 파일에서 최신 모듈을 다운로드하고 PrivateCloud.DiagnosticInfo 디렉터리를 가리키는 올바른 PowerShell 모듈 경로로 추출합니다.$env:PSModulePath
# Allowing Tls12 and Tls11 -- e.g. github now requires Tls12
# If this is not set, the Invoke-WebRequest fails with "The request was aborted: Could not create SSL/TLS secure channel."
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$module = 'PrivateCloud.DiagnosticInfo'
Invoke-WebRequest -Uri https://github.com/PowerShell/$module/archive/master.zip -OutFile $env:TEMP\master.zip
Expand-Archive -Path $env:TEMP\master.zip -DestinationPath $env:TEMP -Force
if (Test-Path $env:SystemRoot\System32\WindowsPowerShell\v1.0\Modules\$module) {
rm -Recurse $env:SystemRoot\System32\WindowsPowerShell\v1.0\Modules\$module -ErrorAction Stop
Remove-Module $module -ErrorAction SilentlyContinue
} else {
Import-Module $module -ErrorAction SilentlyContinue
}
if (-not ($m = Get-Module $module -ErrorAction SilentlyContinue)) {
$md = "$env:ProgramFiles\WindowsPowerShell\Modules"
} else {
$md = (gi $m.ModuleBase -ErrorAction SilentlyContinue).PsParentPath
Remove-Module $module -ErrorAction SilentlyContinue
rm -Recurse $m.ModuleBase -ErrorAction Stop
}
cp -Recurse $env:TEMP\$module-master\$module $md -Force -ErrorAction Stop
rm -Recurse $env:TEMP\$module-master,$env:TEMP\master.zip
Import-Module $module -Force
오프라인 클러스터에서 이 모듈을 가져와야 하는 경우 zip을 다운로드하고 대상 서버 노드로 이동한 다음 모듈을 설치합니다.
PowerShell을 사용하여 로그 수집
이벤트 채널을 사용하도록 설정하고 설치 프로세스를 완료한 후 모듈의 Get-SDDCDiagnosticInfo
PowerShell cmdlet을 사용하여 다음을 가져올 수 있습니다.
- 스토리지 상태에 대한 보고서 및 비정상 구성 요소에 대한 세부 정보
- 풀, 볼륨 및 중복 제거된 볼륨별 스토리지 용량 보고서
- 모든 클러스터 노드의 이벤트 로그 및 요약 오류 보고서
스토리지 클러스터에 "CLUS01"이라는 이름이 있다고 가정합니다.
원격 스토리지 클러스터에 대해 실행하려면 다음을 수행합니다.
Get-SDDCDiagnosticInfo -ClusterName CLUS01
클러스터형 스토리지 노드에서 로컬로 실행하려면 다음을 수행합니다.
Get-SDDCDiagnosticInfo
지정된 폴더에 결과를 저장하려면 다음을 수행합니다.
Get-SDDCDiagnosticInfo -WriteToPath D:\Folder
다음은 실제 클러스터에서 표시되는 방식의 예입니다.
New-Item -Name SDDCDiagTemp -Path d:\ -ItemType Directory -Force
Get-SddcDiagnosticInfo -ClusterName S2D-Cluster -WriteToPath d:\SDDCDiagTemp
볼 수 있듯이 스크립트는 현재 클러스터 상태의 유효성 검사도 수행합니다.
모든 데이터가 SDDCDiagTemp 폴더에 기록되고 있습니다.
스크립트가 완료되면 사용자 디렉터리에 ZIP을 만듭니다.
보고서를 텍스트 파일로 생성해 보겠습니다.
#find the latest diagnostic zip in UserProfile
$DiagZip=(get-childitem $env:USERPROFILE | where Name -like HealthTest*.zip)
$LatestDiagPath=($DiagZip | sort lastwritetime | select -First 1).FullName
#expand to temp directory
New-Item -Name SDDCDiagTemp -Path d:\ -ItemType Directory -Force
Expand-Archive -Path $LatestDiagPath -DestinationPath D:\SDDCDiagTemp -Force
#generate report and save to text file
$report=Show-SddcDiagnosticReport -Path D:\SDDCDiagTemp
$report | out-file d:\SDDCReport.txt
참고로 샘플 보고서 및 샘플 zip에 대한 링크는 다음과 같습니다.
Get-SDDCDiagnosticInfo 출력
다음은 압축된 출력에 포함된 파일입니다 Get-SDDCDiagnosticInfo
.
상태 요약 보고서
상태 요약 보고서는 다음과 같이 저장됩니다.
- 0_CloudHealthSummary.log
이 파일은 수집된 모든 데이터를 구문 분석한 후 생성되며 시스템의 빠른 요약을 제공하기 위한 것입니다. 여기에는 다음이 포함됩니다.
- 시스템 정보
- 스토리지 상태 개요(노드 수, 온라인 리소스, 온라인 클러스터 공유 볼륨, 비정상 구성 요소 등)
- 비정상 구성 요소에 대한 세부 정보(오프라인, 실패 또는 온라인 보류 중인 클러스터 리소스)
- 펌웨어 및 드라이버 정보
- 풀, 실제 디스크 및 볼륨 세부 정보
- 스토리지 성능(성능 카운터 수집)
이 보고서는 더 유용한 정보를 포함하도록 지속적으로 업데이트되고 있습니다. 최신 정보는 GitHub 추가 정보를 참조 하세요.
로그 및 XML 파일
스크립트는 다양한 로그 수집 스크립트를 실행하고 출력을 xml 파일로 저장합니다. 클러스터 및 상태 로그, 시스템 정보(MSInfo32), 필터링되지 않은 이벤트 로그(장애 조치(failover) 클러스터링, 진단 해제, Hyper-V, 스토리지 공간 등) 및 스토리지 진단 정보(운영 로그)를 수집합니다. 수집되는 정보에 대한 최신 정보는 GitHub 추가 정보(수집하는 항목)를 참조하세요.
Get-SDDCDiagnosticInfo에서 XML 파일을 사용하는 방법
cmdlet에서 수집한 데이터에 제공된 XML 파일의 Get-SDDCDiagnosticInfo
데이터를 사용할 수 있습니다. 이러한 파일에는 가상 디스크, 실제 디스크, 기본 클러스터 정보 및 기타 PowerShell 관련 출력에 대한 정보가 있습니다.
이러한 출력의 결과를 보려면 PowerShell 창을 열고 다음 단계를 실행합니다.
ipmo storage
$d = import-clixml <filename>
$d
다음 단계
여기에 문제를 제출하여 보고 싶은 사항에 대한 피드백을 제공합니다. 또한 끌어오기 요청을 제출하여 스크립트에 유용한 변경 내용을 자유롭게 적용할 수 있습니다.