다음을 통해 공유


클러스터에 대한 진단 데이터 수집

적용 대상: Azure Stack HCI, 버전 22H2 및 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

저장소 공간 다이렉트 Azure Stack HCI 및 Windows Server 클러스터 문제를 해결하는 데 필요한 데이터를 수집하는 데 사용할 수 있는 다양한 진단 도구가 있습니다. 이 문서에서는 SDDC 진단 도구를 설치하고 사용하여 클러스터를 진단하는 데 도움이 되는 관련 정보를 수집하는 데 집중합니다.

로그 및 기타 정보가 밀도가 높기 때문에 이 문서에 제공된 정보는 에스컬레이션되었으며 심사를 위해 데이터를 Microsoft로 보내야 할 수 있는 고급 문제를 해결하는 데 유용합니다.

Windows Admin Center 진단 도구 설치 및 사용

Windows Admin Center(버전 1812 이상)를 사용하여 다음을 수행할 수 있습니다.

  • SDDC 진단 도구를 설치하고 최신 상태로 유지
  • 매일 진단 실행 예약(시스템에 미치는 영향이 낮고, 일반적으로 백그라운드에서 실행하는 데 5분 미만이 걸리며 클러스터에서 500MB를 초과하지 않음)
  • 직접 지원하거나 분석하기 위해 제공해야 하는 경우 이전에 수집된 진단 정보를 확인합니다.

SDDC 진단 도구를 설치하고 데이터 수집을 시작하려면 다음 단계를 수행합니다.

  1. Windows Admin Center 시작하고 도구 > 진단을 선택합니다. 진단 도구가 아직 설치되어 있지 않으면 설치 단추를 클릭합니다.

    설치를 클릭하여 SDDC 진단 도구를 설치합니다.

  2. 진단 데이터 수집을 시작하려면 수집을 클릭합니다. "진단 정보 수집. 몇 분 정도 걸릴 수 있습니다." 초기 데이터 수집 후 24시간마다 데이터를 자동으로 수집하려면 슬라이더를 켜기로 변경 합니다.

    수집을 클릭하여 진단 데이터를 수집합니다.

  3. 아래 스크린샷이 표시될 때까지 데이터 수집이 완료되지 않습니다. 수집된 진단 정보를 보려면 다운로드(.zip) 또는 파일에서 열기 도구를 선택합니다.

    진단 정보를 보려면 .zip 파일을 다운로드하거나 파일 도구에서 열 수 있습니다.

PowerShell을 사용하여 Get-SDDCDiagnosticInfo 설치

PowerShell cmdlet(이전에는 라고도 Get-PCStorageDiagnosticInfo함)을 사용하여 Get-SDDCDiagnosticInfo 장애 조치 클러스터링(클러스터, 리소스, 네트워크, 노드), 저장소 공간(실제 디스크, 엔클로Test-StorageHealth저, 가상 디스크), 클러스터 공유 볼륨, SMB 파일 공유 및 중복 제거에 대한 로그를 수집하고 상태 검사를 수행할 수 있습니다.

스크립트를 설치하는 방법에는 PowerShell 갤러리 및 GitHub의 두 가지 방법이 있습니다. 둘 다 아래에 설명되어 있습니다.

PowerShell 갤러리 GitHub 리포지토리의 스냅샷. PowerShell 갤러리 항목을 설치하려면 최신 버전의 PowerShellGet 모듈이 필요합니다. 이 모듈은 Windows 10, WMF(Windows Management Framework) 5.0 또는 MSI 기반 설치 관리자(PowerShell 3 및 4용)에서 사용할 수 있습니다.

이 프로세스 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

여기서 볼 수 있듯이 스크립트는 현재 클러스터 상태의 유효성 검사도 수행합니다.

데이터 수집 PowerShell 스크린샷

모든 데이터가 SDDCDiagTemp 폴더에 기록됩니다.

파일 탐색기 스크린샷의 데이터입니다.

스크립트가 완료되면 사용자 디렉터리에 ZIP을 만듭니다.

PowerShell의 데이터 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) 클러스터링, dis 진단, Hyper-V, 스토리지 공간 등) 및 스토리지 진단 정보(운영 로그)를 수집합니다. 수집되는 정보에 대한 최신 정보는 GitHub 추가 정보(수집하는 항목)를 참조하세요.

Get-SDDCDiagnosticInfo XML 파일을 사용하는 방법

cmdlet에서 수집한 데이터에 제공된 XML 파일의 Get-SDDCDiagnosticInfo 데이터를 사용할 수 있습니다. 이러한 파일에는 가상 디스크, 실제 디스크, 기본 클러스터 정보 및 기타 PowerShell 관련 출력에 대한 정보가 있습니다.

이러한 출력의 결과를 보려면 PowerShell 창을 열고 다음 단계를 실행합니다.

ipmo storage
$d = import-clixml <filename>
$d

다음 단계

여기에서 문제를 제기하여 보고 싶은 내용에 대한 피드백을 제공합니다. 또한 끌어오기 요청을 제출하여 스크립트에 유용한 변경 내용을 자유롭게 기여할 수 있습니다.