VM克隆到数据存储的子目录

时间:2011-10-04 21:17:17

标签: powershell vmware esxi powercli

我在vCenter中有一个数据存储区,我正在尝试使用我每周运行的PowerCLI脚本克隆到该数据存储区。我可以克隆虚拟机,但我完全无法控制目录结构。它将每个虚拟机放在数据存储区根目录下以虚拟机命名的文件夹中。

我的理想目录结构是Root仅用于活动虚拟机。存在“BACKUPS”文件夹。每周创建该文件夹内部以存储每周克隆。今天的示例“20111004”。每个虚拟机都存在该文件夹。

$vm = <name of the virtual machine obtained programmatically>
$date = Get-Date -Format "YYYYMMDD"
$h = <ESXi host where the VM is located, obtained programatically>
$dsName = "DATASTORE1" #<Name of the datastore I'm targeting>
$dirPath = "BACKUPS/" + $date + "/" + $vm

New-VM -Name $vm-$date -VM $vm -VMHost -$h -Datstore $dsName -Location $dirPath

“完整”路径的示例
[DATASTORE1] BACKUPS / 20111004 / VIRTUALMACHINE

这是脚本中唯一不起作用的部分。在PowerShell中以这种方式发出命令时,它会完全忽略-Location参数并将克隆引发到数据存储区的根目录。我还没有找到任何关于它应该如何格式化的文档(我理解)。与VICONtainer有关的事情??

脚本来源我正在定制:
http://www.mbnbusiness.co.uk/blog/2010/08/updated-powercli-vmware-vm-backup-script-v2-0/

3 个答案:

答案 0 :(得分:1)

-Location定义放置VM的vCenter文件夹,而不是数据存储中放置VM文件的文件夹。

据我所知,VMs文件必须放在数据存储区的根目录上。

当我第一次创建脚本时,我考虑尝试做类似的事情,因为它使旧备份的归档更容易,但我当时找不到解决方案。

抱歉,我帮不了多忙......

答案 1 :(得分:1)

我听起来您正在尝试进行备份,我强烈建议您查看实际的备份产品,例如VMware's Data RecoveryVeeam's Backup实用程序。

就像@Mike所说,VM文件在数据存储区的根目录下工作。您可以创建多个数据存储并循环进行备份,但如果您使用的是高性能磁盘,则可能会非常昂贵。

答案 2 :(得分:0)

我尝试使用$date = Get-Date -Format "YYYYMMDD"但最终输出为YYY01DD

已更改为$date = Get-Date -uformat "%d%m%Y ,我现在得到01012012

相关问题