本文将介绍从其他主机迁移到Linode时的建议策略。需要执行的具体步骤会因所使用的软件而异,不过无论服务性质如何,大体思路一般都是相同的。希望本文能对刚迁入或者考虑入驻Linode的新朋友有所帮助。
一、确定迁移策略
从其他托管服务提供商平台迁移到Linode,一般来说有两种策略:
1.分别安装每个服务──推荐的方法
-
创建一个Linode,在其中部署Linode提供的Linux映像,然后只复制与服务相关的配置和数据。这样,Linux环境就能保证在Linode平台上正常启动。
- 重新安装服务可能需要一些时间。不过设置应用程序时出现的任何问题通常都比底层配置问题更容易排除故障。这是迁移时建议采用的策略。
2.全盘克隆──不建议采用
- 创建一个Linode,然后将现有磁盘从当前主机完整克隆到Linode。这将在Linode平台上创建磁盘的精确副本。不建议采用这种策略,因为不同主机提供商的底层系统配置文件可能不同。
- 这些差异会导致Linode无法正常启动。虽然可以适当调整这些设置,使Linode正常运行,不过要获得这些设置的正确值可能比较困难,而且当设置存在错误时,也很难排除故障。
二、迁移策略概述
1.部署一个新Linode
创建新Linode需要考虑两个因素:Linode应位于哪个数据中心,以及Linode应以哪个硬件资源计划来运行。
· 数据中心位置
- 要选择数据中心位置,可从Linode的测速页面(http://www.linode.com/speedtest/)对不同Linode区域测速。该页面可以让用户从每个地点下载100MB的文件。请比较每次下载的速度,以确定所在位置和数据中心之间的带宽。
- 用户还可以在每个地点的速度测试服务器(如http://speedtest.dallas.linode.com)
上运行MTR测试。这些测试会报告所在位置与数据中心间的延迟,当然了,延迟越低越好。
· 方案规模
- 要确定选择哪种方案,请查看Linode定价页面。至少要选择一个能为自己在当前托管服务提供商平台上存储的数据提供足够存储容量的方案。
- CPU和内存分配也很重要,因为工作负载/流量越大的服务,对CPU和内存的需求就越高。如果不确定自己的工作负载需要多少,可以先从较小的Linode开始,然后根据需要调整计划的大小。
2.部署Linux
如果知道当前主机使用的Linux发行版,请将其部署到新的Linode上。如果当前部署使用的是旧版本Linux发行版,请为Linode部署可用的最新版本。这样可以确保最新安全增强功能和软件都可以使用。
如果主机提供了共享环境,而我们又不确定正在使用哪个Linux发行版,那么可以选择任何新的Linux映像。Linode上最常用的发行版是Ubuntu、Debian和CentOS。大多数Linux发行版都应支持你的服务所使用的软件,但也有一些软件包更适合特定发行版。为此可以查看Linode指南和教程,了解针对我们感兴趣的软件和发行版编写的指南。
有关部署新Linux映像的详细信息,请参阅Linode入门指南。此外,我们还建议在部署新映像后按照《设置和保护计算实例》指南的建议执行操作。
3.安装软件
在新的Linode上安装与当前主机相同的软件栈。有关如何设置不同类型软件的指导,请查看Linode指南和教程 。
如果主机提供了共享环境,而你又不确定需要哪些软件,请询问主机是否可以提供更多有关其运行软件的信息。例如,WordPress网站由PHP、Web服务器和数据库提供支持,因此安装一个LAMP栈就足够了。
注意:我们可能希望通过配置管理工具来安装软件。配置管理是一种将安装脚本浓缩为可重复运行的配方的方法。这样每次部署的结果都是一样的。一旦写好配方,配置管理就能大幅加快创建新部署和维护现有部署的速度。这些工具还能最大限度减少人为错误的可能性。
4.备份数据
找到当前主机上所存在的数据并进行备份。请明确下列信息:
- 应保留哪些软件配置设置(如Web服务器、虚拟主机信息、数据库连接设置,以及哪些文件包含这些设置等)。
- 数据在磁盘上的存储位置(如目录中的文件、数据库进程等)。
如果数据存储在数据库中,则可能需要执行数据库转储。这将在磁盘上生成一个封装了数据库数据的文件,并可作为普通文件在网络上复制:
- 使用mysqldump备份MySQL或MariaDB
- 创建MariaDB或MySQL数据库的物理备份
- 使用postgres 转储数据库
如果当前主机是共享环境,而且你没有完整的管理/命令行访问权限,那么主机可能会提供其他导出数据的方法。如果是这种情况,则应使用这些工具将数据下载到本地计算机或其他可访问的位置。
5.使用rsync将数据传输到Linode
使用rsync等网络传输工具将数据传输到Linode。
例如,以下命令可将当前主机上的/path/to/source_folder文件上传到新Linode上的/path/to/destination_folder。从当前主机运行此命令。请将example_user替换为Linode上的Linux用户,将linode_ip_address替换为Linode的IP地址:
rsync -avzh /path/to/source_folder example_user@linode_ip_address:/path/to/destination_folder
如果当前主机是共享环境,而你之前将数据下载到了自己电脑上,那么应该将数据从电脑上传到Linode。可以使用SFTP工具(如FileZilla,它有Windows、Mac和Linux客户端)执行该操作。
如果已将数据库转储文件上传到新Linode,随后还需要还原转储文件,以便数据库软件可以正常使用数据。
6.测试新环境
完成软件设置和数据恢复后,请测试安装是否正常。此时,我们尚未更新DNS记录以指向Linode部署,但仍有方法在没有DNS的情况下预览服务。
利用这段时间对新服务进行负载测试。ApacheBench是一款流行的Web服务基准测试工具。如果在完成这些负载测试后发现最初选择的硬件资源方案不够用,可以调整方案的规模并继续测试。
完成测试后,进入迁移的最后一步:更新DNS记录。
三、迁移DNS记录
要将访客引导到Linode,请将域名与Linode的IP关联。有两种移动DNS记录的方法:
- 使用Linode快速、稳定的DNS托管服务,只要账户中有一个活动的Linode,该服务就是免费的。
- 继续使用当前的名称服务器授权,并使用新Linode的IP地址更新DNS记录。你应向当前服务提供商咨询DNS服务是否需要付费。如果使用的是域名注册商的名称服务器,那么它们通常是免费的。
1.(可选)让域名为迁移做好准备
建议采取的第一步是降低域名“存活时间”(TTL)设置,以确保迁移不会对网站访客产生负面影响。TTL会告诉DNS缓存服务器保存域名信息的时间。由于DNS地址不会经常更换服务器IP地址,因此默认TTL通常为24小时左右。
不过在更换服务器时,TTL要短一些,以确保更新域名信息后能迅速生效。否则,你的域名可能会在长达24小时内解析到旧服务器的IP地址。
- 找到当前域名服务器。如果不确定域名服务器是什么,请使用Whois搜索工具。你会看到列出的多个名称服务器,可能都在同一家公司。
通常我们可以从Whois报告中找到的名称服务器(如http://ns1.linode.com对应http://linode.com)
推导出名称服务器的管理机构(管理DNS的组织)。有时,名称服务器的标签与机构的网站没有直接关系,在这种情况下,通常可以搜索名称服务器来找到对应的网站。
- 联系域名服务器管理机构,了解如何缩短域名TTL。每个提供商的情况略有不同,可能需要询问相关客服。
- 记下当前的TTL。它将以秒为单位,因此需要除以3600才能得到小时数(例如86400秒=24小时)。这是从现在到实际转移域名之间需要等待的时间。
- 将TTL调整为最短设置。例如,300秒等于5分钟,所以如果可以的话,这是一个不错的选择。
- 在实际转移域名前,请等待与步骤3中原始TTL相同长度的时间,否则DNS缓存服务器将无法知道新的、较短的TTL。
2.使用Linode的名称服务器
- 按照Linode添加域名区域的说明,为自己的域名在Linode平台创建DNS记录。重新创建当前名称服务器授权网站上列出的DNS记录,但要酌情更改IP地址,以反映Linode IP。
- 找到域名注册商,即购买域名的公司。如果不确定注册商是谁,可以使用Whois搜索工具查找。
你的注册商可能与当前名称服务器授权机构不是同一个组织,但通常是同一个组织,因为注册商通常会提供免费的DNS服务。
-
登录域名注册商控制面板,将授权名称服务器更新为如下的Linode名称服务器:
http://ns1.linode.com
http://ns2.linode.com
http://ns3.linode.com
http://ns4.linode.com
http://ns5.linode.com - 等待与所设置的TTL相同长度的时间,让域名信息传播出去。如果没有缩短TTL,可能需要等待48小时。
- 在浏览器中访问自己的域名。现在显示的应该是Linode平台上的网站,而不是旧主机。如果无法区分,请使用DIG实用程序。它应该会显示Linode的IP地址。
- 为域名设置反向DNS。如果正在运行邮件服务器,这一点尤为重要。
注意:如果在新IP地址下无法看到你的网站,请尝试使用其他浏览器或在私密浏览模式下访问。有时浏览器会缓存旧的DNS数据,即使其他地方实际上已经更新。
3.或者:使用原先的名称服务器
如果想继续使用原先的名称服务器,请更新分配给旧主机IP地址的所有DNS记录,以使用Linode的IP。有关如何更新DNS记录的说明,请咨询你的名称服务器授权机构。
DNS传播完成后,为域名设置反向DNS。如果正在运行邮件服务器,这一点尤为重要。
四、下一步
完成上述步骤后,你的服务应已完全迁移到Linode了。在取消共享主机服务前最好等待几天,以确保一切运行顺利。此外,请务必确认原本的共享主机上的重要文件均已成功导出。
欢迎关注Akamai CSDN机构号,第一时间了解与Akamai和Linode云服务有关的更多使用技巧以及基于这些服务构建的创新解决方案。