O Virtual Server 2005 R2 tem uma interface de linha de comando, que é versátil o suficiente?
Aqui está uma situação. Eu corro uma VM Win2k em uma antiga máquina de memória restrita. Eu aloco 378MB de RAM e a VM funciona muito bem. Uma vez por mês, dentro da VM, faço backup do banco de dados (muito grande), compacte-o usando 7Zip e ftp para o site de backup (tudo em um script).
Infelizmente, a parte de compactação usa uma quantidade enorme de RAM (excedendo em muito os 378MB), ele é usado para o arquivo de paginação e traz absolutamente tudo para um rastreamento e, literalmente, leva de dois a três dias, se for deixado desacompanhado. Então, para consertar isso, eu tenho que desligar a VM, dar temporariamente 768MB de RAM e, em seguida, a coisa toda termina em 20 minutos.
Então, existe uma maneira de fazer o seguinte automaticamente a partir da máquina host em um script?
- Desligar o sistema operacional convidado (acho que eu tenho essa parte )
- Altere a alocação de RAM de 378 para 768
- Inicie o sistema operacional convidado novamente
depois, 1 hora depois, faça tudo ao contrário.
Edit: thx para Wesley 'Nonapeptide' para os links. Eu preparei um roteiro e funciona como manteiga. Leva a quantidade de memória como um parâmetro. Aqui está para qualquer pessoa que queira fazer isso:
if Wscript.Arguments.Count = 0 then
Wscript.Quit
end if
memory = Wscript.Arguments(0)
Set objVS = CreateObject("VirtualServer.Application")
Set objVM = objVS.FindVirtualMachine("vbRad.com")
Set objGuestOS = objVM.GuestOS
Set objTask = objGuestOS.Shutdown()
objTask.WaitForCompletion(600000)
objVM.Memory = memory
Set objTask = objVM.Startup()
objTask.WaitForCompletion(600000)