我是一个非常新手的服务器pipe理员。 我正在运行一个非常基本的云服务器(Windows 2008 R2),它承载了几个不同的公共网站。 服务和数据库现在已经增长了很多,而且我的服务器在负载下正在死亡。 所以我联系了云托pipe公司,显然我拿出的服务器types是当时我能find的最便宜的服务器,不能升级 – 甚至连内存也没有! – 我现在需要一个新的服务器。
所以现在我有几个问题:
我想将我的SQL Server和DNSlogging迁移到新的服务器上,使网站用户的停机时间和中断时间最小化。
我知道我不是世界上第一个必须经历这个练习的人,所以我希望有更多的经验丰富的人可以给我一些提示,以减less痛苦。
谢谢!
使用DNS时,您需要将TTL设置为低,以便在转换时转移生效更快。
我会得到一个新的托pipe公司,并开始在新系统上尽可能复制软件configuration。 静态内容将是简单的移动。
硬件部分是dynamic内容,就像数据库服务器中的内容一样。 从SQL服务器获取数据转储,然后将其导入新的服务器。 这应该给你一个相当的最新版本的网站与生产系统平行运行。
一旦确认新网站中的所有内容都正常工作,通过禁用访问和转储数据库来“locking”旧数据库,然后将数据重新导入到新网站,重新指向DNS并上线。
当然,您需要与您所托pipe的网站的网站所有者合作,以便您可以为其用户放置有关该移动的公告。 您甚至可以在旧站点上放置redirect页面,以便在启动并运行后redirect到新站点,直到DNS迁移生效。
一旦DNS完全迁移closures了旧的服务器。 等几天,然后永久closures旧的供应商。
对于大型网站,您可以查看一段时间的并行运行策略; 通过networking连接复制SQL服务器,等等,直到你可以closures阿尔法站点并启动beta(辅助)站点,类似于使用两个数据中心进行灾难规划并模拟closures主站点。 如果你听起来像是一个很小的操作,那么你最终将不得不创build一个并行安装,然后当结果出现时,取下主服务器并调出备用服务器,然后等待DNS发挥它的魔力,帮助它自动redirect您的旧网站。 您需要警告可能会有一天的维护/停机,尽pipe如果您提前将TTL设置为低,切换本身应该只需要几个小时。 只要考虑一些模糊的因素 – 呃 – 哦时间。
并检查你的日志告诉你什么时候最好的时间切换,用最less的使用。 即使我的银行也警告说,他们的服务在周日深夜的几个小时内将不可用,尽pipe我还没有看到它实际上完全无法访问。
几个步骤
DNSlogging – 首先减lessTTL,让其传播至less12小时。 如果你有一个好的DNS提供商,他们会很乐意协助。 这样,如果您更改您打算的logging,它将根据TTL更新。 但请记住全球DNS服务器最多可能需要48小时才能更新。
你真的应该分离数据库服务和文件服务/打印/广告。 如果可行,考虑虚拟化或分离服务器。
即使网站是“直播”,您也可以进行备份。 但显然你想要最新的备份恢复。 因此,我build议你做一个“testing”,以确保恢复工作,并在现场直播“生活”。 您可以考虑一个“locking机制”来防止发生任何写入,但是您希望在最繁忙的时间执行此操作(不幸的是,这通常不符合标准工作时间)。
至于网站,你需要并肩运行,确保网站可以在本地访问testing数据库。 否则,您可能会发现您没有足够的时间来解决任何可能/容易发生的“潜在”问题。 对于testing,您不需要更改DNS,而是继续使用IP地址。
定时
...so I need to freeze the web sites...
这实际上是一种select吗? 如果是这样,你是一个幸运的小鸭! 如果这不是一个真正的select,那么你会想知道什么时候你的网站使用最less ,然后进行迁移。 对我来说,这通常是一个星期六的晚上(有些人称之为“换窗口”),并在星期天早上跑步。
技术Bab </s>
DNS
你是通过谁购买域名的? 谁在为您pipe理DNSlogging? 更新您的网站的DNS应该是相当痛苦的。 只需使用您的提供商用于更新logging的工具(很可能是某个网页)。 但是,请注意,可能需要几分钟或几个小时的时间才能完整传播。 为了减轻这个时间,可以降低TTL 。
SQL
备份您的SQL Server数据库也应该相当轻松。 在SQL Server Management Studio里面有一些工具可以为你备份数据库。

未来
将数据库服务器与Web服务器分开。 通过不同的物理盒子或虚拟化。 任何时候你需要移动一个服务器,你不想移动所有的东西 。