2012-03-02 70 views
0

更新:首選的解決方案是一些使用VMware工具包.NET和實現以下切換磁盤持久模式調用

其中一個,我們現在需要執行的任務(如果可能的話)是將虛擬硬盤從非永久模式切換到永久模式,反之亦然。

我試過尋找正確的API調用,但還沒有找到。有誰知道這是否可以通過API調用完成?

回答

1

雖然我沒有做過這個確切的操作,我通過ReconfigVm任務做了類似的行動用VirtualDeviceBackingInfo在其diskMode屬性中具有所需持久性類型的已升級VirtualDevice來設置VirtualMachineConfigSpec。數據對象被記錄在這裏:

http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.vm.ConfigSpec.html

http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.vm.device.VirtualDevice.html

http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.vm.device.VirtualDevice.BackingInfo.html

+0

非常感謝馬克。我試圖設置它,但沒有太多關於如何在diskMode屬性上設置所需的持久性類型的文檔。你可以發佈一個快速的代碼片段來說明如何做到這一點嗎? – Nikhil 2012-03-15 22:05:26

+0

我已經到了可以創建配置規範並調用Reconfig_VM任務的地步。當我看着VMWare Console時,任務甚至被解僱。但是磁盤模式不會切換。你知道DiskMode屬性的正確值嗎? – Nikhil 2012-03-16 09:44:43

1

按照VMware vSphere PowerCLI Cmdlets Reference,這應該做的工作:http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.VirtualMachine.html#reconfigure

你將需要:

Get-HardDisk -VM $myVM | Set-HardDisk -Persistence "Independent(Non)Persistent" 
+0

其實我使用C#我的API調用。轉換成等效的C#代碼後,我會嘗試一下,並讓你知道。謝謝。 – Nikhil 2012-03-12 00:22:41

+0

在VMWare.Vim dll中找不到任何可以讓我做類似的事情。不幸的是,由於一些公司的限制,我不能使用powershell代碼。你知道我是否可以通過使用VMWare.Vim DLL和C#來做到這一點? – Nikhil 2012-03-12 11:04:35

+0

有沒有辦法使用反射器或其他方式查看此cmdlet的代碼? – Nikhil 2012-03-14 12:23:18