重新 IP/迁移服务器和应用程序的最佳实践

重新 IP/迁移服务器和应用程序的最佳实践

其中一些问题可能高度特定于应用程序,但是当寻求将应用程序从一个服务器/平台迁移到另一个服务器/平台以及将服务器从一个网络段迁移到另一个网络段时,您会采取什么方法?

对于无法重新 IP 的应用程序(此类别中存在许多应用程序),一般答案是删除并铺设(或扩展可集群的应用程序,然后删除需要“移动”的段)。

对于“正常”应用程序(httpd、邮件、目录服务等),在迁移之前、迁移期间和迁移之后您会执行哪些检查以确保迁移后的应用程序/服务器的健康状况?

Apache 的一个示例:

  1. 备份 httpd conf 目录
  2. 更改 httpd conf 文件以使用服务器的新 IP 地址
  3. 更改(或添加)服务器的 IP
  4. 更新 DNS 条目
  5. 重启 Apache
  6. 验证 Web 服务器是否仍提供页面服务
  7. 重启服务器
  8. 验证环境恢复正常

答案1

我只做过大约 4-5 个大型重新编号项目,因此对这一切持怀疑态度 :)

我总是从当前环境的重新启动测试开始:如果您无法将其全部关闭并再次恢复正常工作,那么迁移就是一个白日梦。

重启测试之后是广泛的防火墙审核(假设您的网络已分割且所有内容不在同一段/子网中):找出哪些服务器需要相互通信,并确保您彻底了解允许进行这种通信的防火墙规则。
防火墙审核还应包括 NAT/双向 NAT/端口映射等内容(用于可公开访问的邮件/Web 服务器等)。
通过防火墙审核和对您的环境的充分了解,您可以为新的 IP 空间制定新的防火墙规则。如果您要迁移的环境已经运行了一段时间,那么您可能还会发现(并关闭)多年来潜伏的大量漏洞。


对于迁移单个应用程序(和操作系统配置),您的 Apache 示例具有很好的概括性。我尽可能将其与操作系统/应用程序无关:

  1. 将您要接触的所有内容(配置文件、DNS 等)备份到离线存储。
    (如果您不确定要触及什么,请对整个环境进行完整备份!)
  2. 更新防火墙规则。
  3. 更新名称服务(DNS、NIS/etc/hosts等)。
    如果您不使用 DNS,现在可能是部署它的好时机……
  4. 编辑系统配置文件(不要忘记 resolv.conf 之类的文件)
    (在编辑每个文件之前,请先在本地备份,以防万一出错,尤其如果你忽略了上面的#2!)
  5. 编辑应用程序配置文件,注意事项与第 3 条相同
    (Postgres 站点特别注意了 IP 限制pg_hba.conf
  6. 重新启动机器至少一次,以确保它能够重新启动。
  7. 所有内容迁移完成后,关闭并恢复环境
    (包括防火墙——以防你错过第 5 点中的某些内容)

按照一般顺序,我首先迁移网络内容(交换机/路由器/防火墙配置),然后是名称服务(DNS)和身份验证/授权(LDAP、NIS、AD 等),然后“按照重启期间出现的顺序迁移其他所有内容”,这样通常效果很好。

相关内容