Невозможно получить физический размер доступного хранилища для кластера.
Я на полпути вниз с моей работой и теперь застрял.
Я пытаюсь получить информацию о доступных устройствах хранения для кластера. Я могу получить список доступных устройств хранения, но не могу извлечь физический диск, доступное свободное пространство и т. Д. Из этого доступного хранилища.
Я хочу так. Есть ли какая-либо команда для получения имени физического диска из имени диска кластера, или я могу напрямую получить информацию о диске. Для общего диска я могу получить подробную информацию ( Get-ClusterSharedVolume), но не для общего диска. Я хочу PowerShell или WMI скрипт для этого.
2 ответа
Вы можете получить эту информацию из 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
Это даст вам вывод, как показано ниже:
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
Изменить: Обратите внимание, что размер указан в МБ, а состояние "2" означает, что диск подключен.
Вы можете использовать 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)}}