我有一台带有以下虚拟机的 ESXi 主机:
1 个 Active Directory 服务器
1 个远程桌面服务服务器
1 个 SQL 数据库服务器
1 x 会计软件应用服务器
我有第二个“空白/空”的 ESXi 主机。
理论上,我想要做的只是安排虚拟机克隆到第二台主机作为备份。如果第一台服务器出现问题,我只需在第二台机器上启动虚拟机并恢复,就像第一台服务器从未出现过故障一样。
实际上,在 SF 上进行过多次搜索之后,这似乎不太实用。
我主要关心的是 SQL 数据库的完整性和一致性... 由于内存中驻留着未写入的数据,这种备份策略似乎不推荐用于 SQL 服务器。我想我可以关闭服务器,克隆它,然后重新启动,但在我理想的世界中,我希望至少每晚复制这些虚拟机,同时它们仍然在线。
当这些特定类型的服务器仍然在线时,每晚将它们复制到第二台 ESXi 主机的最佳备份策略是什么?请考虑预算 1,000 美元和预算 10,000 美元的单独选项。
整体上是否存在更好的备份策略?
答案1
尽管甚至不符合 10,000 美元的预算,但最终的选择是拥有两个 SAN,并在两个 SAN 之间实时复制数据,然后在发生故障时使用 VMWare SRM 启动另一端的 VM。
预算 10,000 美元,您应该能够获得单个 SAN 阵列,然后使用 VMWare 的高可用性功能,这意味着如果主机发生故障,其所有 VM 都会立即在其他主机上启动。这使得 SAN 成为单点故障,您需要确保它足够快,不会成为影响您日常工作的瓶颈。
对于 1,000 美元的预算,我建议使用“廉价”NAS(例如 QNap 4xx 系列)并通过 iSCSI 公开共享存储。它们只公开 1GbE 接口,运行域控制器之类的东西没问题,但其他功能就不行了(我试过了,我们这里有一个 6Tb 的 qnap,它无法胜任繁重的 iSCSI 负载)。
就我个人而言,如果您可以承受停机时间,我建议您在主机 B 上安装第二个 SQL 服务器,并向其发送事务日志。您甚至可能不需要为此购买任何额外的硬件,请咨询您的 Microsoft 代表,但您甚至可能不需要获得许可。因此,请让它们都保持活动状态,然后在主机离线时将您的应用程序重新指向第二个 SQL 服务器。
另外,我强烈建议不要克隆域控制器,因为在还原(或快照)后返回时会出现问题。我建议再次使用两个 DC,每个主机上一个,并让它们自己的复制(DFS)来处理它。
对于您的会计和 RDS 服务器,您的克隆解决方案应该可以正常工作。我不知道您在 RDS 上运行什么,但我们认为我们可以承受最多 24 小时的数据丢失而不会造成严重后果,因此如果您只是在晚上克隆它,您可能会没事。
答案2
查看带有 VSA(虚拟存储设备)的 VMware vSphere 5.0。这将允许您在两台机器上运行集群,并自动实时复制两台机器之间的虚拟机。
SQL Server 中的数据只有在写入事务日志后才被视为已接受。一旦将数据写入磁盘,客户端应用程序就会收到写入已完成的通知。即使已更改的页面仍保留在内存中且未写入磁盘,写入日志也已完成。当数据库在新主机上联机时,将在用户能够登录系统之前从日志中读取并应用日志中标记为已完成的事务。
在此设置中,您实际上应该运行两个域控制器,每个服务器一个(规则可以帮助您确保这种情况发生),以便当主机发生故障时,一个域控制器仍然在线,所以其他一切都保持运行,直到其他客户操作系统重新上线。