in Eski Blog Yazılarım

VMware COM+ API

VMware’in programatik yönetimi için bir çok perl ve com api mevcut. Genelde hosting firmaları VPS hizmetlerini Vmware ürünleri ile
veriyorlar tabi ki Vmware Server’ın ücretsiz ve açık kaynaklı olmasın da
bunun etkisi var fakat bu ürün enterprise olmadığı için çok güvenmemek
lazım. Bunun için ESX komple bir çözüm olabilir neyse konumuza dönelim.

VPS
hizmeti veriyorsanız müşterilerinize vps makinalarını restart
edebilecekleri bir panel vermeniz sizin yararınıza olacaktır, yoksa olmadık yerde sevgili müşterileriniz sizi arayıp "Abey makinam takıldı bi restart edebilcenmi gözünü sevim" diye rahatsız ederler.

Aşağıdaki asp script’i müşterilerinizi savuşturmanızda size yardımcı olacaktır.
Vmware Server’da ki tüm sanal makinaları listelemek için şu kodu kullanabilirsiniz.

    Set Baglanti = CreateObject("VmCOM.VmConnectParams")
Baglanti.hostname = "127.0.0.1"
Baglanti.port = 902
Baglanti.username = "Administrator"
Baglanti.password = "sifre"

set VmSunucusu = CreateObject("VmCOM.VmServerCtl")
VmSunucusu.Connect Baglanti

set vmlist = VmSunucusu.RegisteredVmNames

for each config in vmlist

Set vm = CreateObject("VmCOM.VmCtl")
vm.Connect Baglanti, config
Response.Write vm.Config("displayName")
Response.Write config
Response.Write vm.ExecutionState
Response.Write Vm.Uptime
Response.Write vm.Config("memsize")
Set vm = Nothing

next
set VmSunucusu = Nothing
set Baglanti = Nothing

Vmware Server da ki sunucuyu kapatmak, açmak ve yeniden başlatmak için aşağıdaki script’i kullanabilirsiniz.

	Function  VmWareIslem(VmxPath,Durum,VmIp, VmUser, VmPass, VmPort)
On Error Resume Next
Set Baglanti = CreateObject("VmCOM.VmConnectParams")
Baglanti.hostname = VmIp
Baglanti.username = VmUser
Baglanti.password = VmPass
Baglanti.port = VmPort

Set vm = CreateObject("VmCOM.VmCtl")
vm.Connect Baglanti, VmxPath
select case Durum
case "UP"
vm.Start(1)
case "DOWN"
vm.Stop(1)
case "RESET"
vm.Reset(1)
case "SUSPEND"
vm.Suspent(1)
case else
VmWareIslem = 1
Exit Function
end select
Set vm = Nothing
Set Baglanti = Nothing

if Err.Number = 0 Then
Islem = 0
Else
Islem = 1
Err.Clear
End if
End Function

Son olarak bu bileşenleri sunucuya kurmanız gerekmektedir.

Alaka : http://www.vmware.com/download/sdk/sdk.html

Yorum Bırak

Comment