2011-07-04 10 views
1

私の仕事は途中で止まりました。クラスタ用に使用可能なストレージの物理サイズを取得できません。

クラスタで利用可能なストレージデバイスに関する情報を取得しようとしています。 利用可能なストレージデバイスのリストを取得できますが、使用可能なストレージの物理ディスク、空き容量などを取得できません。

私はこれが欲しいです。クラスタディスク名から物理ディスク名を取得するコマンドはありますか、直接ディスクの詳細を取得できますか? 共有ディスクの場合詳細(Get-ClusterSharedVolume)は取得できますが、非共有ディスクは取得できません。 そうするためにPowerShellまたはWMIスクリプトが必要です。 enter image description here

答えて

3

あなたはWMIからこの情報を取得することができますが、それはカップルの手順を実行します:より読みやすいレポートのためにあなたはこれを試すことができます

次のようなあなたの出力が得られます

$resources = Get-WmiObject -namespace root\MSCluster MSCluster_Resource -filter "Type='Physical Disk'" 
$resources | foreach { 
    $res = $_ 
    $disks = $res.GetRelated("MSCluster_Disk") 
    $disks | foreach { 
     $_.GetRelated("MSCluster_DiskPartition") | 
      select @{N="Name"; E={$res.Name}}, @{N="Status"; E={$res.State}}, Path, VolumeLabel, TotalSize, FreeSpace 
    } 
} | ft 

012:
Name     Status Path VolumeLabel TotalSize FreeSpace 
----     ------ ---- ----------- --------- --------- 
Cluster Disk 2    2 K: New Volume  5220  5163 
SQL - FAS3070 SiteB  2 S: MC_SQL   5597  5455 
SM Test     2 M: SM Test   1024  992 
DTC - FAS3070B    2 F: MC_WITNESS  5346  5289 
Cluster Disk Witness  2 E: New Volume  5322  5267 
Cluster Disk 1    2 G: MC_DTC   5088  5035 
Cluster Disk 3    2 T: SQL    5119  4999 

あなたはこれらのステップをスキップして、パーティションにストレートジャンプ(と、それははるかに速く実行されます)することができ、リソース名/状態を気にしない場合は

gwmi -namespace root\MSCluster MSCluster_DiskPartition | ft Path, VolumeLabel, TotalSize, FreeSpace 

編集:サイズはMBで、ステータスは「2」はディスクがオンラインであることを示します。

+0

結果はかなりよく見えます。現在、私はクラスタサーバーにアクセスできません。だから私は明日このスクリプトを試してみましょう。 –

+0

宝石のように働きました。たくさんのことがあります。エリック –

+0

エリック:Volumelabelをどのようにフィルタリングできますか?私はボリュームのlablesを取得している "アプリケーションクラスタ1、アプリケーションクラスタ2、目撃者ディスク、DBクラスタ"です。私は "App cluster?"のような名前のボリュームをリストしたいと思います。のみ。 –

1

あなたは、WMI、このような使用することができます。

Get-WMIObject Win32_LogicalDisk -filter "DriveType=3" | Select DeviceID, FreeSpace 

スローをComputerNameパラメーターにリモート

HTH、 マット

PSそれをしたい場合。

Get-WMIObject Win32_LogicalDisk -filter "DriveType=3" | 
    Select DeviceID, @{Name = "Free Space (%)" ; Expression= {[int] ($_.FreeSpace/$_.Size* 100)}},@{Name = "Free Space (GB)"; Expression = {[int]($_.Freespace/1GB)}}, @{Name = "Size (GB)"; Expression = {[int]($_.Freespace/1GB)}} 
+0

ドライブの種類を取得できません。使用できるのは名前のみです(イメージの場合と同様、クラスタディスク1です)。私はこの名前を "Cluster Disk 1"にすることができましたが、それからどのように他の詳細を得ることができますか? –

+0

これを試してみるとどうなりますか? – Matt

+0

エラーはありません。ボリューム名から他の詳細を取得するコマンドはありません(むしろ私はそのようなコマンドを持っていないと言います)。私はこのような出力をしたい。 http://blogs.msdn.com/b/clustering/archive/2010/06/19/10027366.aspx –

関連する問題