虚拟服务器 2005 R2 功夫

虚拟服务器 2005 R2 功夫

Virtual Server 2005 R2 是否具有足够灵活的命令行界面?

情况如下。我在一台内存受限的旧机器上运行 Win2k VM。我为它分配了 378MB 的 RAM,VM 运行良好。每月一次,在 VM 内部,我会备份(非常大的)数据库,使用 7Zip 压缩它,然后通过 ftp 将其发送到备份站点(所有操作都在一个脚本中)。

不幸的是,压缩部分占用了大量的 RAM(远远超过 378MB),它会占用页面文件,使所有内容变得非常缓慢,如果无人看管,实际上需要 2-3 天的时间。因此,为了解决这个问题,我必须关闭虚拟机,暂时给它 768MB 的 RAM,然后整个过程将在 20 分钟内完成。

那么,有没有办法在脚本中从主机自动执行以下操作?

  1. 关闭客户操作系统(我想,我明白了部分
  2. 将 RAM 分配从 378 更改为 768
  3. 重新启动客户操作系统

然后,一小时后,再按相反顺序重复所有操作。

编辑:感谢 Wesley 'Nonapeptide' 提供的链接。我编写了一个脚本,它运行起来非常顺畅。它将内存量作为参数。以下是任何可能想要执行此操作的人的参考:

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)

答案1

.memory 属性您需要的是 VM 对象。请查看VM 对象上的方法和属性的列表

.startup 方法就是您要找的重新启动它的方法。

你可能还喜欢本教程的第二部分介绍如何使用 PowerShell 管理虚拟机。这显示了虚拟机配置如何被摆弄的几个例子。

最后,收藏MSDN Microsoft 虚拟服务器参考. 太棒了。

相关内容