我有一台服务器托管网站和其他需要重新安装的服务。我想暂时将这些服务重新定位到另一台服务器,尽可能减少停机时间。两台服务器都在同一个数据中心,可以在同一个网络交换机上。
以最少的停机时间移动这些服务的最佳技术是什么?该站点是数据库驱动的,所以理想情况下我想要一个“铁路开关”事件,在那里我可以确保所有流量一次移动到新服务器。我不希望出现在将数据迁移到新数据库后旧数据库得到更新的情况。
我考虑过两件事:
更改 DNS 以指向临时服务。这里的主要问题是我不控制 DNS 的传播时间,其他服务器可以保留缓存的结果一段时间,让获得旧地址的用户“关闭”站点。
有没有办法解决 Apache + 重定向的问题?我怀疑不是,因为基于名称的虚拟主机在没有域名的情况下会中断,我无法使用它,因为它已经过时了。
将旧 IP 地址绑定到新服务器,并(临时)在重新安装期间为旧服务器分配不同的 IP。在这种情况下,我可以不理会 DNS。
我忽略了其他任何简单的解决方案吗?
听起来您可能最好得到一个相对简单的解决方案......因为您可以容忍一点停机时间。我会避免欺骗 DNS,因为你几乎无法控制传播/缓存延迟。
1- 构建临时服务器
2- 关闭主服务器上的服务
3- 将关键数据从主服务器移动/复制到临时服务器
4- 将主服务器更改为另一个 IP 地址
5- 将临时服务器更改为主 IP 地址,启动
6- 修复主服务器(在不同的 IP 上)
7- 关闭临时服务器上的服务
8- 将关键数据从临时服务器移动/复制到主服务器
9- 关闭临时服务器
10- 将主服务器更改回主 IP 地址,启动
唯一的停机时间是当数据在服务器之间移动时,并且会根据数据移动方式而有所不同。
注意:如果您有防火墙并且正在执行 NAT,则更改主地址和临时地址之间的 NAT 是交换 IP 地址的一个很好的替代方案,并且会减少停机时间。