如何在独立ESXi主机上备份虚拟机?


16

没有任何vCenter Server的独立ESXi(4.1)主机。

如何尽快备份虚拟机并实现存储友好?

我知道我可以访问ESXi控制台并使用标准的Unix cp命令,但这具有复制整个VMDK文件(不仅是它们实际使用的空间)的缺点。因此,对于仅使用1 GB的30 GB VMDK,备份将占用30个完整GB的空间,并相应地占用时间。

是的,我知道精简配置的虚拟磁盘,但是在进行物理复制时,它们的表现往往很差,并且/或者会达到完全配置的大小。此外,不建议使用它们来提高虚拟机的实际性能。

我可以在备份虚拟机之前先关闭它们(即,我不需要“实时”备份);但是我需要一种有效地复制它们的方法;是的,在进行备份时自动关闭/启动的方法也会有所帮助。

我只有ESXi;没有服务控制台,没有vCenter Server ...处理此任务的最佳方法是什么?另外,还原又如何呢?

Answers:


15

我的首选解决方案是使用vSphere Client或命令行ovftool将它们简单地导出到ovf或ova文件。

在vSphere Client中,确保VM已关闭,然后将其突出显示并转到File-> Export-> Export OVF Template。然后只需按照提示进行操作即可。

恢复只是小菜一碟,只需进行相反操作即可(我认为菜单选项是“ Deploy OVF template”)。

使用ovftool创建精简备份

ovftool -dm=thin  vi://<user>@<esxi-host>/<vm-name> <local-file>.ovf

您可能还希望在http://www.virtuallyghetto.com/上查看一些选项,我知道它们非常受欢迎,并且我认为有一些不错的备份选择,尽管我没有看过其中的任何一个。太新了。


OVF备份和还原似乎可以作为穷人的VMWare备份选项。最终,我打算使用cli ovftool进行自动化,但是在备份运行时关闭脚本中的vm将是棘手的部分。
蒸汽动力

OVF非常慢。如果要避免停机,则可以使用Web客户端通过支付vMotion来克隆正在运行的VM,然后关闭并备份克隆。无停机时间。
蒸汽动力

5

我不知道这是否适合您,但VM Explorer可以很好地执行虚拟机的热备份或冷备份。我相信,使用ESXi 4.1 VM Explorer,您也可以从一台主机执行VM来宾备份到另一台主机。


我将不得不对此进行更多研究,但是从一开始,我就会看到自己喜欢的东西-每次安装均获得许可。
Chadddada 2011年

基本版本是免费的
马修·洛克

值得一提的是,它不再免费,最低级别为“专业”,价格为699美元
Douglas Gaskell,

4

我最终编写了一个脚本,该脚本可复制VM配置文件,并用于vmkfstools -d在保留精简配置的同时克隆VMDK。

以供参考:

#!/bin/sh

if [ $# != 2 ]; then
        echo "Usage: $(basename $0) <SOURCE VM PATH> <DESTINATION PATH>"
        echo "Example: $(basename $0) /vmfs/volumes/datastore1/VM1 /vmfs/volumes/datastore2"
        exit
fi

vmx=$(basename $(/bin/ls $1/*.vmx))
name=$(grep displayName $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmxf=$(grep vmxf $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
nvram=$(grep nvram $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmdks=$(grep vmdk $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')

echo "Started copying VM $name"

vmdir=$(basename $1)
destpath="$2/$vmdir"

echo "Source path: $1"
echo "Destination path: $destpath"

echo "Creating destination path $destpath"
/bin/mkdir -p $destpath

echo "Copying configuration files:"
echo $vmx
/bin/cp $1/$vmx $destpath
echo $vmxf
/bin/cp $1/$vmxf $destpath
echo $nvram
/bin/cp $1/$nvram $destpath

echo "Copying virtual disks:"
for vmdk in $vmdks;
do
        echo $vmdk
        /sbin/vmkfstools -d thin -i $1/$vmdk $destpath/$vmdk
done

echo "Completed copying VM $name"

这需要关闭虚拟机电源,并且没有活动的快照。


嗨,那懒惰呢?
rovshango 2015年

很棒的脚本@Massimo,但是我必须在vmx分配中添加双引号,以避免基本名语法错误:vmx = $(basename“ $(/ bin / ls $ 1 / *。vmx)”)。但是现在,如果$ 1路径包含空格,则会崩溃,因为未引用$ 1。我无法摆脱这个问题。任何想法?
Blazeag

4

我会尝试使用经过验证的某种解决方案,而不是自己动手做。即使您选择了非免费的解决方案,减少的麻烦,时间和风险也将很容易得到回报。您担心的所有这些问题都可以在任何适用于ESXi的现代备份解决方案中解决。

客户端可以在自己的ESXi环境中使用的解决方案是Veeam。甚至还有一个免费版本可以满足您的需求:https : //www.veeam.com/virtual-machine-backup-solution-free.html


1
免费版仍需要ESXi许可。
主宰

@Overmind你是绝对正确的。我忽略了免费的vSphere Hypervisor版本无法正常工作(也许具有讽刺意味的是)。
乔什·理查兹


1

XSIBackup是一种ESXi服务,可在ESXi虚拟机管理程序OS中运行,并且占用空间最小。实际上,您的用户不会注意到在后台进行了备份。

它提供了两种不同的工具:XSIBackup-Free和XSIBackup-Pro。

XSIBackup-Free提供了Pro版本中提供的所有功能,例如:

  • 热备份
  • Cron调度
  • 即时差异备份(OneDiff)
  • 本机块级重复数据删除以及对本地数据存储和Linux服务器(XSITools)的压缩。

专业版提供了上述所有功能以及扩展的工具,这些工具将加快您的数据传输(XSIDiff),通过校验和进行的备份认证,快速的文件比较方法以及SSH GUI(图形用户界面),可以通过向导配置所有选项,加快备份作业的设置。

https://33hops.com/xsibackup-pro-vmware-esxi-backup.html


0

我也要导出为OVF格式。很好,因为它可以使用gzip快速压缩图像。

但是许可证不见了,因为将OVF文件导入ESXI会创建带有新硬件的计算机。

解:

我备份(下载)没有大映像的虚拟机文件夹并压缩它们。

ovf文件夹和虚拟映像文件的压缩副本(无大映像)都位于同一文件夹中。

恢复:

->将OVF导入ESXI并上传未压缩的配置(从备份的文件夹中)->虚拟机再次正常

伊斯梅尔


0

cpio 可以在保留稀疏文件的同时复制稀疏文件。


AFAIK,除了vmkfstools之外,没有任何工具可以本地处理sparse.vmdk文件,而vmkfstools只能在本地文件系统中复制文件。这就是为什么我们创建(c)XSIDiff作为ESXi工具套件的原因。它只能像vmkfstools一样复制使用过的块,但是您可以通过SSH以及TCP / IP客户端/服务器应用程序复制数据。您可以在此处下载免费的工作版本:33hops.com/download-xsidiff-trial.html
Daniel J.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.