2 个虚拟服务器,数据库位于一个 SAN 硬盘上,一个 VM 作为另一个 VM 的备用

2 个虚拟服务器,数据库位于一个 SAN 硬盘上,一个 VM 作为另一个 VM 的备用

我正在考虑以下设置:

  • 2 个带有本地 C: 盘的虚拟服务器
  • SAN 上的 1 个文件系统
  • 数据库服务器软件安装在两者上,数据库位于 SAN 文件系统上
  • 1台虚拟服务器用于生产,另一台作为备用服务器
  • 两个虚拟服务器的配置除 IP 地址外完全相同,并且只能有一个虚拟服务器同时连接到 SAN 文件系统

这样,当将数据库服务器升级/修补到较新版本时,我们可以这样做:

  • 升级备用服务器的数据库服务器软件
  • 断开用户连接
  • 将主服务器移至其他 IP 地址并断开与 SAN 文件系统的连接
  • 将辅助服务器移至生产 IP 地址并连接到 SAN 文件系统
  • 重新连接用户,以便他们现在使用辅助服务器
  • 升级主服务器的数据库服务器软件

此后,角色将切换,使主服务器成为备用服务器,反之亦然。据我所知,此过程的总停机时间应该只有几秒钟。

这是一个可行的设置吗?有什么需要注意的吗?

答案1

这是一个完全可以接受的设置。根据您选择的数据库引擎,我建议您也设置数据库的第二个副本,并实施镜像或日志传送计划。如果一个数据库发生任何损坏,您可以故障转移到另一个数据库。但我离题了 :)

回到你的问题,还有一些额外的考虑——切换的计划时间是多少,这将影响你的用户群。

答案2

这可以奏效。唯一可能遇到麻烦的地方是数据库本身。它可能不喜欢在没有附加数据的情况下进行升级(在备份机器上),也不喜欢在升级后重新出现数据(在备份成为主要备份之后)。

在投入生产之前,一定要在实验室中对您的数据库软件进行测试,因为您可能会损坏您的数据库。防止这种情况发生的一种方法是在切换之前拍摄 SAN 快照,这样如果发生灾难,您可以在原始服务器和快照上再次切换。

相关内容