본문 바로가기
Exchange & Outlook/System Administration

Exchange Storage Usage Monitoring using Powershell

by 강철 벼룩 2015. 7. 2.

[적용 버전: Exchange Server 2010/2013]

 

Exchange Server의 데이터베이스를 유지 관리할 때 디스크 사용 현황 모니터링은 운영자의 중요한 업무 중 하나 입니다.

System Center 2012 R2의 Operations Manager를 구매해서 이용하면 더 좋겠지만, 비용이나 훈련의 문제로 곤란을 겪고 있다면, 다음에 소개하는 두 종류의 PowerShell 명령으로 현재 Exchange Server 디스크 사용 현황과 데이터베이스 사용현황도 추출 할 수 있습니다.

 

이렇게 추출한 자료를 엑셀을 사용해 잘 정리하면 전체 스토리지 사용 현황을 쉽게 확인 할 수 있고, 향후 사서함 재배치나, 디스크 증설을 고려할 때 참고 할 수 있습니다.

 

여기에 소개하는 PowerShell 구문은 Exchange Management Shell에서 실행합니다.

 

먼저, Exchange 서버의 디스크 사용 현황을 추출하는 명령 구문입니다. WMI 기능을 PowerShell 커맨드렛을 통해 사용합니다.

 

WMI에 관한 자세한 설명은 다음 링크를 참고하세요.

WMI 개요

 

Get-WMIObject Win32_LogicalDisk -computer PL-MBX-01,PL-MBX-02 | Select-Object SystemName,DeviceID,VolumeName,@{Name=”size(GB)”;Expression={'{0:N1}' -f($_.size/1gb)}},@{Name=”freespace(GB);Expression={'{0:N1}' -f($_.freespace/1gb)}} | Export-CSV D:\Exchange\Disk_150701.csv

 

이 명령 구문을 실행하면 현재 Exchange Server에서 사용하면 시스템 이름, 디바이스 ID, 볼륨 이름, 볼륨 크기, 여유 공간을 추출해서 CSV 파일로 저장합니다.

 

두 번째로, 각 사서함 서버 별로 DB 현황을 가져옵니다. 이 명령 구문은 서버 별로 실행합니다. 서버가 많다면, 서버의 리스트를 먼저 뽑고 파이프로 넘겨 빨간색으로 표시한 부분을 매개변수로 받으면 됩니다.

 

Get-MailboxStatistics -Server PL-MBX-01 | Select-Object itemcount, @{expression={$_.TotalDeletedItemSize.Value.ToMB()};label="TotalDeletedItemSize(MB)"}, @{expression={$_.TotalItemSize.Value.ToMB()};label="TotalItemSize(MB)"}, Database | Export-CSV e:\test\DB_150701_mbx01.csv

 

이 명령 구문을 실행하면 각 사서함에 든 메일 항목의 전체 개수, 삭제된 항목 전체 크기, 전체 메일 항목 크기, 데이터베이스 명을 추출해서 CSV 파일로 저장합니다.

 

이렇게 뽑은 두 가지 데이터를 이용해 엑셀에서 잘 정리하면 다음과 같은 여유 공간 추이를 한 눈에 파악해볼 수 있습니다.