AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 386720
Accepted
Safado
Safado
Asked: 2012-05-08 07:11:28 +0800 CST2012-05-08 07:11:28 +0800 CST 2012-05-08 07:11:28 +0800 CST

计划将服务器从一个主机迁移到另一个主机

  • 772

我们对目前的托管服务提供商不是很满意,因此我们希望搬到另一个城市的另一家公司。我们的业务是一所可在全球范围内访问的在线学校(这意味着我们的应用程序需要 24x7 可用性,但最多 1-2 小时的停机时间可能是可以承受的)。世界各地的学院和大学都将我们的课程作为他们自己的课程提供,因此这些协议的一部分规定,如果他们付钱给我们,我们在任何给定月份的停工时间不得超过 X。

所以我有一个计划,但我想公开它,看看是否有其他人看到我可能忽略的任何问题,或者如果你有更好的计划可以建议。

我们的设置:英特尔模块化服务器、带监狱的 FreeBSD、apache、mysql、php。学生登录的域类似于 portal.mydomain.com

我在想我们可以在站点 B(新站点)放置我们服务器的第二个实例并给它一个新域名 (portal1.mydomain.com)。然后我们可以强制所有来自 portal.mydomain.com 的流量重定向到 portal1.mydomain.com。届时,我们会对原始域名的 DNS 进行更改,使其具有新的 IP 地址。然后我们会给它 48 小时的时间来传播 DNS 更改。那时我们只需更改新实例上的 apache 以响应 portal.mydomain.com 而不是 portal1,然后一切照常进行。

我忽略了这个计划中的任何漏洞吗?有更好的方法吗?

migration colocation
  • 1 1 个回答
  • 247 Views

1 个回答

  • Voted
  1. Best Answer
    faker
    2012-05-08T07:43:38+08:002012-05-08T07:43:38+08:00

    为此,您必须绝对确保您的应用程序不依赖于当前域名并将在 portal1.mydomain.com 下运行。
    我过去的经验是,可悲的是,情况并非总是如此。

    如果您可以确定域名没有问题,那么您的计划听起来不错。
    当你切换到新的数据中心时,你显然需要同步 MySQL 数据库(你没有在你的计划中提到这一点)。
    我会将 portal.mydomain.com DNS 记录的 TTL 设置为较低的值,因此传播不需要 48 小时。

    如果您不确定,我的建议如下:
    * 降低 portal.mydomain.com 的 TTL(5 分钟)
    * 在新 DC 中设置一个新实例,同时监听 portal.mydomain.com
    * 保持 MySQL DB 从旧 DC 同步(复制)
    * 停止旧 DC 中的 Apache
    ** 等待最后的 DB 更改复制
    ** 停止新 DB 上的复制,配置为独立
    ** 更改 DNS 记录portal.mydomain.com 指向新实例的 IP
    ** 配置旧 Apache 实例访问新 DC 中的 MySQL DB
    * 等待,监视旧 Apache 上的请求,不再使用时关闭
    * 将 TTL 设置为又是一个正常值

    这也假设了一些事情,比如 DC 之间的 MySQL 连接是可能的。

    • 2

相关问题

  • Linux 主机到主机迁移

  • 移至新的 Exchange 组织

  • 如何在 Windows 2003 Server 中获取激活密钥

  • 如何从 SQL Server 2005 迁移到 2008

  • 将 Bugzilla 迁移到 Team Foundation Server (TFS) 的方法或工具

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve