PowerShellを使ってストレージ情報(ドライブレターや容量等)を取得するためのコマンドレットとスクリプトをメモ。Windows Server 8 / 2012からの新機能「記憶域プール」に参加している物理ディスクを調べる方法もあります。
なお、Windows Server 2012 R2 Essentialsは、
- サーバ・クライアント監視機能(状態レポートを含む)
- 専用コマンドレット(Get-WssDiskやGet-WssDrive、Get-WssDriveInUse)
- S.M.A.R.T情報を表示・通知するアドオン(Home Server SMART 2013)
基本となるコマンドレット
- Get-Volume コマンドレット
- Get-Disk コマンドレット
- Get-PhysicalDisk コマンドレット
- Get-VirtualDisk コマンドレット
- Get-StorageReliabilityCounter コマンドレット
Get-Volume | Format-List *
ストレージ調査
何かがあった時にすぐに使えるスクリプトをメモしておきます。ドライブレター+ボリューム容量+空き容量を確認する
Get-Volume | Select-Object DriveLetter,FileSystemLabel,@{Label='Capacity';Expression={"{0:N2}GB" -f ($_.Size/1GB)}},@{Label='FreeSpace';Expression={"{0:N2}GB" -f ($_.SizeRemaining/1GB)}} | Sort-Object DriveLetter
物理ディスクを確認する
Get-PhysicalDisk | Select-Object FriendlyName,@{Label='Capacity';Expression={"{0:N2}GB" -f ($_.Size/1GB)}},@{Label='AllocatedSize';Expression={"{0:N2}GB" -f ($_.AllocatedSize/1GB)}} | Sort-Object friendlyname
記憶域プールに参加している物理ディスクのみを表示する
Get-VirtualDisk | Get-PhysicalDisk | Select-Object FriendlyName,@{Label='Capacity';Expression={"{0:N2}GB" -f ($_.Size/1GB)}},@{Label='AllocatedSize';Expression={"{0:N2}GB" -f ($_.AllocatedSize/1GB)}} | Sort-Object friendlyname
物理ディスクの健康状態を確認する
Get-PhysicalDisk -FriendlyName ディスク番号 | Get-StorageReliabilityCounterパラメータの中でも、
- Temperature
- ReadErrorsXXX
- WriteErrosXXX
- WriteLatencyMax
の4点を注視すればいいのかな、と思っています。