스토리지 공간 다이렉트의 성능 기록
성능 기록은 저장소 공간 다이렉트 관리자가 호스트 서버, 드라이브, 볼륨, 가상 머신 등에서 기록 컴퓨팅, 메모리, 네트워크 및 스토리지 측정에 쉽게 액세스할 수 있도록 하는 새로운 기능입니다. 성능 기록은 자동으로 수집되어 최대 1년 동안 클러스터에 저장됩니다.
Important
이 기능은 Windows Server 2019의 새로운 기능입니다. Windows Server 2016에서는 사용할 수 없습니다.
시작하기
성능 기록은 Windows Server 2019에서 저장소 공간 Direct를 사용하여 기본적으로 수집됩니다. 아무것도 설치, 구성 또는 시작할 필요가 없습니다. 인터넷 연결이 필요하지 않고, System Center가 필요하지 않으며, 외부 데이터베이스가 필요하지 않습니다.
클러스터의 성능 기록을 그래픽으로 보려면 Windows Admin Center를 사용합니다.
프로그래밍 방식으로 쿼리하고 처리하려면 새 Get-ClusterPerf
cmdlet을 사용합니다. PowerShell에서 사용량을 참조하세요.
수집되는 항목
성능 기록은 7가지 유형의 개체에 대해 수집됩니다.
각 개체 형식에는 여러 계열이 있습니다. 예를 들어 ClusterNode.Cpu.Usage
은 각 서버에 대해 수집됩니다.
각 개체 형식에 대해 수집되는 항목과 이를 해석하는 방법에 대한 자세한 내용은 다음 하위 항목을 참조하세요.
Object | 계열 |
---|---|
드라이브 | 드라이브에 대해 수집되는 항목 |
네트워크 어댑터 | 네트워크 어댑터에 대해 수집되는 항목 |
서버 | 서버에 대해 수집되는 항목 |
가상 하드 디스크 | 가상 하드 디스크에 대해 수집되는 항목 |
가상 머신 | 가상 머신에 대해 수집되는 내용 |
볼륨 | 볼륨에 대해 수집되는 항목 |
클러스터 | 클러스터에 대해 수집되는 항목 |
많은 계열이 피어 개체에서 부모로 집계됩니다. 예를 들어 NetAdapter.Bandwidth.Inbound
은 각 네트워크 어댑터에 대해 개별적으로 수집되고 전체 서버에 집계됩니다. 마찬가지로 ClusterNode.Cpu.Usage
는 전체 클러스터로 집계됩니다.
시간대
성능 기록은 세분성이 감소하여 최대 1년 동안 저장됩니다. 가장 최근 시간 동안 측정값은 10초마다 사용할 수 있습니다. 그 후, 더 많은 시간에 걸쳐 덜 세분화된 계열로 지능적으로 병합됩니다(평균 또는 합계를 적절하게 합산). 가장 최근의 날에는 5분마다 측정값을 사용할 수 있습니다. 가장 최근 주, 15분마다; 등등.
Windows Admin Center에서 차트의 오른쪽 위에 있는 시간 범위를 선택할 수 있습니다.
PowerShell에서 -TimeFrame
매개 변수를 사용합니다.
다음은 사용 가능한 시간 범위 입니다.
시간 프레임 | 측정 빈도 | 보존 기간 |
---|---|---|
LastHour |
10초마다 | 1시간 |
LastDay |
5분마다 | 25 시간 |
LastWeek |
15분마다 | 8일 |
LastMonth |
1시간마다 | 35일 |
LastYear |
매 1일 | 400 일 |
PowerShell의 사용량
Get-ClusterPerformanceHistory
cmdlet을 사용하여 PowerShell에서 성능 기록을 쿼리하고 처리합니다.
Get-ClusterPerformanceHistory
팁
Get-ClusterPerf 별칭을 사용하여 일부 키 입력을 저장합니다.
예시
지난 1시간 동안의 가상 머신 MyVM 의 CPU 사용량을 가져옵니다.
Get-VM "MyVM" | Get-ClusterPerf -VMSeriesName "VM.Cpu.Usage" -TimeFrame LastHour
고급 예제를 보려면 최고값을 찾고, 평균을 계산하고, 추세선을 표시하고, 이상값 검색을 실행하는 시작 코드를 제공하는 게시된 샘플 스크립트 를 참조하세요.
개체 특정하기
파이프라인에서 원하는 개체를 지정할 수 있습니다. 7가지 유형의 개체에서 작동합니다.
파이프라인의 개체 | 예시 |
---|---|
Get-PhysicalDisk |
Get-PhysicalDisk -SerialNumber "XYZ456" | Get-ClusterPerf |
Get-NetAdapter |
Get-NetAdapter "Ethernet" | Get-ClusterPerf |
Get-ClusterNode |
Get-ClusterNode "Server123" | Get-ClusterPerf |
Get-VHD |
Get-VHD "C:\ClusterStorage\MyVolume\MyVHD.vhdx" | Get-ClusterPerf |
Get-VM |
Get-VM "MyVM" | Get-ClusterPerf |
Get-Volume |
Get-Volume -FriendlyName "MyVolume" | Get-ClusterPerf |
Get-Cluster |
Get-Cluster "MyCluster" | Get-ClusterPerf |
지정하지 않으면 전체 클러스터의 성능 기록이 반환됩니다.
계열 지정
다음 매개 변수를 사용하여 원하는 계열을 지정할 수 있습니다.
매개 변수 | 예시 | List |
---|---|---|
-PhysicalDiskSeriesName |
"PhysicalDisk.Iops.Read" |
드라이브에 대해 수집되는 항목 |
-NetAdapterSeriesName |
"NetAdapter.Bandwidth.Outbound" |
네트워크 어댑터에 대해 수집되는 항목 |
-ClusterNodeSeriesName |
"ClusterNode.Cpu.Usage" |
서버에 대해 수집되는 항목 |
-VHDSeriesName |
"Vhd.Size.Current" |
가상 하드 디스크에 대해 수집되는 항목 |
-VMSeriesName |
"Vm.Memory.Assigned" |
가상 머신에 대해 수집되는 내용 |
-VolumeSeriesName |
"Volume.Latency.Write" |
볼륨에 대해 수집되는 항목 |
-ClusterSeriesName |
"PhysicalDisk.Size.Total" |
클러스터에 대해 수집되는 항목 |
팁
탭 완성을 사용하여 사용 가능한 계열을 검색합니다.
지정하지 않으면 지정된 개체에 사용할 수 있는 모든 계열이 반환됩니다.
시간 범위 지정
-TimeFrame
매개 변수를 사용하여 원하는 기록 기간을 지정할 수 있습니다.
팁
탭 완성을 사용하여 사용 가능한 시간 범위를 검색합니다.
지정하지 않으면 MostRecent
측정값이 반환됩니다.
작동 방식
성능 기록 스토리지
저장소 공간 Direct를 사용하도록 설정한 직후 ClusterPerformanceHistory
이라고 명명되는 약 10GB의 볼륨이 생성되고 확장 가능한 스토리지 엔진(Microsoft JET라고도 함)의 인스턴스가 프로비전됩니다. 이 경량 데이터베이스는 관리자의 개입이나 관리 없이 성능 기록을 저장합니다.
볼륨은 저장소 공간 지원되며 클러스터의 노드 수에 따라 간단한 양방향 미러 또는 3방향 미러 복원력을 사용합니다. 저장소 공간 Direct의 다른 볼륨과 마찬가지로 드라이브 또는 서버 오류가 발생한 후 복구됩니다.
볼륨은 ReFS를 사용하지만 CSV(클러스터 공유 볼륨)는 아니므로 클러스터 그룹 소유자 노드에만 표시됩니다. 이 볼륨은 자동으로 생성되는 것 외에도 이 볼륨을 보거나, 찾아보거나, 크기를 조정하거나, 삭제할 수 있습니다(권장하지 않음). 문제가 발생하면 문제 해결을 참조 하세요.
개체 검색 및 데이터 수집
성능 기록은 클러스터의 어디서나 가상 머신과 같은 관련 개체를 자동으로 검색하고 성능 카운터 스트리밍을 시작합니다. 카운터는 집계, 동기화 및 데이터베이스에 삽입됩니다. 스트리밍은 지속적으로 실행되며 시스템 영향을 최소화하기 위해 최적화됩니다.
컬렉션은 상태 관리 서비스 처리되며, 이 노드가 실행 중인 노드가 다운되면 나중에 클러스터의 다른 노드에서 다시 시작됩니다. 성능 기록은 잠시 경과할 수 있지만 자동으로 다시 시작됩니다. PowerShell에서 Get-ClusterResource Health
을 실행하여 상태 관리 서비스 및 해당 소유자 노드를 볼 수 있습니다.
측정 간격 처리
시간 프레임에 설명된 대로 측정값이 더 많은 시간에 걸쳐 있는 덜 세분화된 계열로 병합되는 경우 누락된 데이터의 기간은 제외됩니다. 예를 들어 서버가 30분 동안 다운된 후 다음 30분 동안 50%의 CPU에서 실행되는 경우 ClusterNode.Cpu.Usage
시간 평균은 50%(25%)가 아닌 50%로 올바르게 기록됩니다.
확장성 및 사용자 지정
성능 기록은 스크립팅에 친숙합니다. PowerShell을 사용하여 데이터베이스에서 직접 사용 가능한 기록을 끌어오면 자동화된 보고 또는 경고 빌드, 안전 유지 기록 내보내기, 사용자 고유의 시각화 롤 등을 수행할 수 있습니다. 유용한 시작 코드는 게시된 샘플 스크립트를 참조하세요.
추가 개체, 시간 범위 또는 계열에 대한 기록을 수집할 수 없습니다.
측정 빈도 및 보존 기간은 현재는 구성할 수 없습니다.
성능 기록 시작 또는 중지
이 기능을 사용하도록 설정하려면 어떻게 해야 하나요?
Stop-ClusterPerformanceHistory
를 하지 않는 한, 성능 기록은 기본적으로 사용하도록 설정됩니다.
다시 사용하도록 설정하려면 이 PowerShell cmdlet을 관리자 권한으로 실행합니다.
Start-ClusterPerformanceHistory
이 기능을 사용하지 않도록 하려면 어떻게 할까요?
성능 기록 수집을 중지하려면 다음 PowerShell cmdlet을 관리자 권한으로 실행합니다.
Stop-ClusterPerformanceHistory
기존 측정값을 삭제하려면 플래그를 -DeleteHistory
사용합니다.
Stop-ClusterPerformanceHistory -DeleteHistory
팁
초기 배포 중에는 Enable-ClusterStorageSpacesDirect
의 -CollectPerformanceHistory
매개 변수를 $False
으로 설정 하여 성능 기록이 시작되지 않도록 할 수 있습니다.
문제 해결
cmdlet이 작동하지 않음
"'Get-ClusterPerf'라는 용어가 cmdlet의 이름으로 인식되지 않습니다"와 같은 오류 메시지는 기능을 사용할 수 없거나 설치되지 않음을 의미합니다. Windows Server 2025가 있고 장애 조치(failover) 클러스터링을 설치했으며 저장소 공간 Direct를 실행하고 있는지 확인합니다.
참고 항목
이 기능은 Windows Server 2016 또는 이전 버전에서는 사용할 수 없습니다.
데이터를 사용할 수 없음
차트에 그림과 같이 "사용 가능한 데이터 없음"이 표시되면 문제를 해결하는 방법은 다음과 같습니다.
개체를 새로 추가하거나 만든 경우 개체가 검색될 때까지 기다립니다(최대 15분).
페이지를 새로 고치거나 다음 백그라운드 새로 고침(최대 30초)을 기다립니다.
특정 특수 개체는 성능 기록(예: 클러스터되지 않은 가상 머신 및 CSV(클러스터 공유 볼륨) 파일 시스템을 사용하지 않는 볼륨에서 제외됩니다. 볼륨의 성능 기록과 같은 개체 형식에 대한 하위 항목을 확인하여 세밀한 인쇄를 확인합니다.
문제가 지속되면 관리자 권한으로 PowerShell을 열고
Get-ClusterPerf
cmdlet을 실행합니다. cmdlet에는 ClusterPerformanceHistory 볼륨이 누락된 경우와 같은 일반적인 문제를 식별하는 문제 해결 논리가 포함되어 있으며 수정 지침을 제공합니다.이전 단계의 명령이 아무 것도 반환하지 않으면 PowerShell에서
Stop-ClusterResource Health ; Start-ClusterResource Health
을 실행하여 상태 관리 서비스 다시 시작할 수 있습니다(성능 기록을 수집).