我想添加一个共享虚拟磁盘到已经连接到第一个虚拟机的第二个虚拟机。 他们将共享访问磁盘,通过设置为虚拟总线共享的SCSI控制器。
这可以通过vCenter GUI正常工作,但是我想通过PoweCLI来完成。
我无法find将新的SCSI控制器连接到第二个虚拟机的方法,而无需将现有的硬盘作为parameter passing给new-scsicontroller
cmdlet。 不幸的是,这会在第一个虚拟机上创build一个新的SCSI控制器,而不是第二个虚拟机。
任何想法如何使用vSphere API或其他技术做到这一点?
findPowerCLI代码的最好方法是用Onyx: http : //labs.vmware.com/flings/onyx
以下版本适用于vSphere 5.5的PowerCLI。 正如所写的,它将在服务器1上以虚拟模式下的SCSI总线共享在新的LSI Logic SAS存储控制器上创build一个新的1GB驱动器,并在具有虚拟模式下的SCSI总线共享的新LSI Logic SAS存储控制器上将该VMDK添加为新磁盘在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 }