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.