背景/环境架构:
我当前的环境$corp_overlords$
采用中心辐射模型,其中技术精湛的家庭办公室中心(SAN、bladecenter/bladesystem ESXi 集群、光纤互联网连接等)连接到许多不太发达的远程站点辐条,通常包含单个 ESXi 主机服务器并通过 T1 连接到家庭办公室中心。来自任何远程站点的所有流量都通过“MPLS 网络”(实际上只是将远程站点连接到家庭办公室的 T1)路由回家庭办公室。
在家庭办公室的 SAN 上,我们创建了许多虚拟机模板,用于部署虚拟机。它们存储在 NFS 卷中,即 vSphere 数据存储区,连接到 vSphere 中的家庭办公室数据中心对象。
每个远程站点都有一个对应的 vSphere 数据中心对象,其中包含一个数据存储对象,该数据存储对象连接到物理位于远程站点的 ESXi 主机服务器上的本地连接存储。
由于这些 VM 模板存在于 NFS 卷上,因此它们占用约 40 GiB(精简配置)。作为 NTFS(或 Linux FS)上的文件,它们占用约 100 GiB。
问题:
我应该如何在我的站点之间复制这 40 GiB 的精简配置数据(占用 100 GiB 的文件系统空间)?
我受到的限制是,我只有大约 5 天的时间来完成这项工作,并且不能(明显)干扰“正常网络流量”。
答案1
如何使用 ovftool 直接在主机之间复制模板?
我以前曾将其用于虚拟机,效果很好。不确定它是否也适用于模板,但如果不适用,那么您可以将模板暂时转换为虚拟机以进行复制。
您还可以使用 ovftool 将模板转换为.ovf
包,这些包应该非常紧凑,然后使用 BITS 或 FTP 或 SCP 或任何您想要的协议在数据中心之间传输包。
答案2
选项:
在我看来,我有三种可能的方法,但我真心希望我错过了一个更好的方法,希望有人能指点我。(理想情况下,我只移动 40 GiB 的实际的数据,并以可恢复的“后台”或速度限制的方法。)
- 通过 vSphere 客户端在数据存储之间复制文件。
- 优点:仅移动约 40 GiB,而不是约 100 GiB。
- 缺点:其他方面——不可恢复、无背景/速度受限、界面糟透了。
- 使用 BITS 在 Windows 客户机之间复制文件
- 优点:可恢复,后台传输。
- 缺点:移动约 60 GiB 实际上不存在的数据。
- 奖励:使用 PowerShell。<3
- 双重秘密
试用奖励:PowerShell Remoting 可以通过一个命令完成此操作。
- 通过 SCP 在 ESXi 主机之间复制文件
- 优点:速度受限制且可恢复。
- 缺点:移动约 60 GiB 的实际上并不存在的数据。不是后台传输。
- 奖励:颈须。额外的颈须可恢复。
- 在 Server Fault 上建议更好的选项。
- 优点:可恢复、速度受限制的后台传输,仅移动现有数据约 40 GiB。
- 缺点:颁发赏金会消耗声誉。
- 奖励:学习一些新东西,证明在工作中使用 ServerFault 是合理的。
答案3
这里有一个相当有趣的想法。它不会帮助您进行初始播种,但我想知道使用类似 Crashplan 的免费产品是否会对您的模板有所帮助。
它可进行重复数据删除和块级差异化,因此您可以将其安装在总部的一台本地服务器上作为“播种机”,并安装在每台分支服务器(我猜是虚拟机中)上作为“接收机”。设置备份以仅包含将存储在总部服务器上的模板的文件夹。它还可以备份到多个目的地(例如每个“分支”)https://support.code42.com/CrashPlan/Latest/Getting_Started/Choosing_Destinations
步骤(在每一侧设置 Crashplan 应用程序后)将如下所示:
- 将模板从数据存储复制到“种子”服务器,复制到 Crashplan 正在监控的目录中。在千兆网络上,这可能需要一点时间,但应该不会太糟糕。
- Crashplan 应监控并开始将文件备份到辐条/接收器。这显然需要相当长的时间。
- 在初始播种/备份之后,当将来的模板发生变化时,将其从实际数据存储复制到 Crashplan 正在监控的“种子”服务器目录,覆盖原始模板副本。然后 Crashplan 将进行重复数据删除,并仅将块级更改复制到辐条上。
只是一个想法......可能是一条有趣的道路,值得尝试,看看它是否可以作为穷人对这些文件的重复数据删除/块级复制。
答案4
这是我经常用于此类场景的方法。这似乎违反直觉,因为您要将文件从存储在数据存储上的 VM 内部上传到数据存储本身。但是,这可以让您更好地控制传输的完成方式。
- 使用 WinRAR 或 7Zip 将您的模板分成 1GB-2GB 的块。
- 在每个远程站点的 ESXi 服务器上创建一个 VM。需要的资源很少,这只是一个暂存区。
- 将一个足够大的 VMDK 附加到每个 VM 上,以容纳您正在传输的数据。
- 安装您选择的操作系统和传输工具(我为此使用 SFTP 服务器)。
- 将 RAR 模板上传至暂存虚拟机。
- 解压缩 RAR 模板。
- 使用 vSphere 或 Web UI 将模板从暂存 VM 上传到 ESXI 数据存储。(这将是一次快速传输)。
优点:
通过将模板分成更小的部分,可以降低传输过程中数据损坏的风险。(如果文件损坏,您只需重新上传 RAR 的这一部分,而不是整个 40GB 文件。)
您仅传输 40GB(可能更少,因为 RAR 会进一步压缩)。
您可以选择传输实用程序,因为您在您选择的操作系统内进行传输。
缺点:
您必须创建一个临时虚拟机。我使用预先创建的模板(小于 1GB,仅包含裸操作系统安装 + SFTP 服务器)简化了此过程。
压缩/解压 40GB 模板大约需要 4-6 小时,具体取决于您的 CPU 资源。