其中一些问题可能高度特定于应用程序,但是当寻求将应用程序从一个服务器/平台迁移到另一个服务器/平台以及将服务器从一个网络段迁移到另一个网络段时,您会采取什么方法?
对于无法重新 IP 的应用程序(此类别中存在许多应用程序),一般答案是删除并铺设(或扩展可集群的应用程序,然后删除需要“移动”的段)。
对于“正常”应用程序(httpd、邮件、目录服务等),在迁移之前、迁移期间和迁移之后您会执行哪些检查以确保迁移后的应用程序/服务器的健康状况?
Apache 的一个示例:
- 备份 httpd conf 目录
- 更改 httpd conf 文件以使用服务器的新 IP 地址
- 更改(或添加)服务器的 IP
- 更新 DNS 条目
- 重启 Apache
- 验证 Web 服务器是否仍提供页面服务
- 重启服务器
- 验证环境恢复正常
答案1
我只做过大约 4-5 个大型重新编号项目,因此对这一切持怀疑态度 :)
我总是从当前环境的重新启动测试开始:如果您无法将其全部关闭并再次恢复正常工作,那么迁移就是一个白日梦。
重启测试之后是广泛的防火墙审核(假设您的网络已分割且所有内容不在同一段/子网中):找出哪些服务器需要相互通信,并确保您彻底了解允许进行这种通信的防火墙规则。
防火墙审核还应包括 NAT/双向 NAT/端口映射等内容(用于可公开访问的邮件/Web 服务器等)。
通过防火墙审核和对您的环境的充分了解,您可以为新的 IP 空间制定新的防火墙规则。如果您要迁移的环境已经运行了一段时间,那么您可能还会发现(并关闭)多年来潜伏的大量漏洞。
对于迁移单个应用程序(和操作系统配置),您的 Apache 示例具有很好的概括性。我尽可能将其与操作系统/应用程序无关:
- 将您要接触的所有内容(配置文件、DNS 等)备份到离线存储。
(如果您不确定要触及什么,请对整个环境进行完整备份!) - 更新防火墙规则。
- 更新名称服务(DNS、NIS
/etc/hosts
等)。
如果您不使用 DNS,现在可能是部署它的好时机…… - 编辑系统配置文件(不要忘记 resolv.conf 之类的文件)
(在编辑每个文件之前,请先在本地备份,以防万一出错,尤其如果你忽略了上面的#2!) - 编辑应用程序配置文件,注意事项与第 3 条相同
(Postgres 站点特别注意了 IP 限制pg_hba.conf
) - 重新启动机器至少一次,以确保它能够重新启动。
- 所有内容迁移完成后,关闭并恢复环境
(包括防火墙——以防你错过第 5 点中的某些内容)
按照一般顺序,我首先迁移网络内容(交换机/路由器/防火墙配置),然后是名称服务(DNS)和身份验证/授权(LDAP、NIS、AD 等),然后“按照重启期间出现的顺序迁移其他所有内容”,这样通常效果很好。