VMware COM+ API

Merhaba Değerli Ziyaretçimiz,

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

İyi çalışmalar…