Я хотел бы добавить общий виртуальный диск ко второй виртуальной машине, которая уже подключена к первой виртуальной машине. У них будет общий доступ к диску через контроллеры SCSI, настроенные на совместное использование виртуальной шины.
Это отлично работает через графический интерфейс vCenter, но я бы хотел сделать это через PoweCLI.
Я не могу найти способ подключить новый контроллер SCSI ко второй виртуальной машине без передачи существующего жесткого диска в качестве аргумента для new-scsicontroller
командлет. К сожалению, это приводит к установке нового контроллера SCSI на первой виртуальной машине, а не на второй.
Есть идеи, как это сделать с помощью vSphere API или других методов?
Лучший способ найти код PowerCLI для чего-то, чего вы не можете понять, - это Onyx: http://labs.vmware.com/flings/onyx
Следующее работает в PowerCLI на vSphere 5.5. Как написано, он создаст новый диск емкостью 1 ГБ на новом контроллере хранилища LSI Logic SAS с общим доступом к шине SCSI в виртуальном режиме на server1 и добавит тот же VMDK в качестве нового диска на новый контроллер хранилища LSI Logic SAS с общим доступом к шине SCSI в виртуальном режиме. на server2 и server3. Вы можете изменить его, чтобы запросить существующий контроллер SCSI и вместо этого добавить его к этому контроллеру.
$SizeGB = 1
$sourceVM = Get-VM 'server1'
$shareWith = @('server2', 'server3')
$disk = New-HardDisk -VM $sourceVM -CapacityGB $SizeGB -Persistence persistent -StorageFormat EagerZeroedThick
$disk | New-ScsiController -Type VirtualLsiLogicSAS -BusSharingMode Virtual
foreach ($targetVM in $shareWith) {
$targetVM = Get-VM $targetVM
New-HardDisk -VM $targetVM -DiskPath $disk.Filename | New-ScsiController -Type VirtualLsiLogicSAS -BusSharingMode Virtual
}