пятница, 12 марта 2010 г.

Как узнать к какой ВМ подключен vmdk?

Бывают ситуации, когда в большой инфраструктуре после кучи переименований ВМ и миграций по датасторам отдельные vmdk остаются непонятно где. И надо узнать – а этот конкретный vmdk кем-то используется или просто место занимает и можно удалить.
В этом поможет простенький PowerShell скрипт, который покажет все используемые в инфраструктуре диски. Соотв. если vmdk, вызвавшего вопрос, в списке не окажется – он ни к какой машине не подключен.


$report = @()
Get-VM | % {
  $vm = $_  $vm | Get-HardDisk | % {    
    $row = "" | select Name, HardDiskFile, Harddisk, HDType    
    $row.Name = $vm.Name    
    $row.HardDiskFile = $_.FileName    
    $row.Harddisk = $_.CapacityKB    
    $row.HDType = $_.DiskType    
    $report += $row  
  }
}
$report

4 комментария:

  1. Как узнать какой VMDK не подключен к ВМ?
    [url=http://communities.vmware.com/thread/223104?tstart=0]Way to report on Orphaned .VMDK files[/url]
    ну и
    Find orphaned vswp files - http://communities.vmware.com/message/1333760#1333760

    ОтветитьУдалить
  2. LucD велик, бесспорно :)

    Я хотел показать простой и понятный путь тем, кто не настолько "огурел" в PowerShell :)

    ОтветитьУдалить
  3. "простой и понятный путь" - RVTools?

    ОтветитьУдалить
  4. Зависит от того, хотите ли вы простого и понятного пути как написать скрипт или воспользоваться чужим гуевым приложением.

    ОтветитьУдалить