只需6步,教你把服务迁移到云端

Ghost是一个开源博客平台,而Ghost(Pro)是它的托管平台。这篇文章的作者是Ghost的高级DevOps工程师Sebastian Gierlinger。他用简单的6个步骤,总结了Ghost(Pro)的基础设施从专用服务器迁移到DigitalOcean Droplets的过程。

以一年多运营Ghost(Pro)的经验来看,我们认为自己的下一代基础设施需要满足如下需求:

能够在几分钟内对服务器扩容拥有能服务数千个博客的大内存提供强大的客户支持在不做重大重构的前提下迁移软件
任何一个项目的迁移,都以一定程度的不确定性开始。一开始就预料到所有的迁移步骤是不可能的,更不要说预料到任何一个即将遇到的问题。但鉴于这是一篇回顾文章,出于方便理解的目的,迁移过程包括以下几个大步骤:

为现有的服务器基础设施建立目录确保公网安全确保专用网络安全备份数据库更新DNS(切换到目标服务器)下线旧的运行环境
迁移后的Ghost(Pro)系统架构是这样的:

  下面就让我们来详细看看迁移过程的6个步骤。

Step 1:创建目录

第一步是用配置管理工具创建一个目录,用来显示现存的服务器基础设施上运行着什么。

我们并没有一个完整的目录,包含所有安装的软件、防火墙设置和其他服务器配置。为了解决这个问题,我们引入了一个配置管理系统工具箱。配置管理的一大好处就是,一旦系统建立起来,它既可以作为记录文档,又可以用作一个部署工具。

我们考虑过几个比较流行的配置管理工具,包括Puppet、Chef、Ansible和SaltStack。我们需要一个既能完成工作又不容易因为复杂性而过载的工具。最终就选择了SaltStack。

下面是几个选择SaltStack的原因:

它很轻量,易于安装和维护;它采用master/minion的架构,可以将更改从master“推送”到minion端,避免了由于频繁请求可能造成的DDoS攻击;它拥有一个专门的主服务器,可以防止管理员和开发者直接在未受保护的生产环境部署更改;Master和Minion的通信采用ZeroMQ而不是SSH。在处理多个加密并发连接时,ZeroMQ使用更少的CPU资源,效率更高。
另一个附加的好处是Salt Cloud,它包含在SaltStack里,并且和DigitalOcean的API无缝兼容,资源可以快速弹性伸缩,我们可以用命令行管理系统资源。

虽然这个新的Ghost(Pro)架构初始设置和配置颇花费了一些时间——大概3周,但SaltStack表现除了它强大的功能。第二步迭代配置用了大概一周,第三步部署托管平台只用了两天。

创建一个目录,并把它迁移到配置管理工具,这是一个迭代的过程,会涵盖几乎整个系统迁移的过程。除了完成迁移,创建目录还暴露了我们结构中需要改进的部分。读者如果想要尝试SaltStack更多功能,请参考使用手册:1、2、3.

Step 2:确保公网安全

第二步是为了确保平台内部服务器的公网防火墙安全。

以前,只有我们面向公众的服务器可以通过外网访问;其他服务,比如APP和数据库服务,只能通过专用网络访问。迁移到DigitalOcean的云端后,所有服务器都有一个公共IP地址,我们必须解决这项新的安全隐患。

我们给内部服务器的公网设置了一个iptables规则,能够拦截除了SSH加密通信的其他所有连接。我们自己的服务器用的是Ubuntu,所以用UFW作为iptables的管理界面。

和其他基础设施一样,防火墙配置是通过SaltStack完成的,方便于我们统一管理。

Step 3:确保专用网络安全

第三步是用VPN确保所有服务器专用网络的安全。

DigitalOcean的专用网络允许同一数据中心的Droplets彼此通信。这个特点非常棒,它在基础设施内保证了高带宽和低延时,专用网络被共享给数据中心所有的Droplets,包括那些属于其他DigitalOcean客户的Droplets。这就是说,专用网络保护我们不会被接入一般的互联网连接,但可能接入其他不属于我们的Droplets。

我们选择配置VPN来确保服务器专用网络的安全,它提供的加密和身份认证正是我们所需要的。我们选了Tinc VPN,因为它有网状路由布局,这意味着它的流量会尽可能直接发送到目标主机。它允许通过直连的Droplets发送流量,而不必直接与请求者相连。不像OpenVPN那样把VPN管理复杂化,我们的VPN更像是个传统的专用网络。

就像防火墙配置一样,我们用SaltStack集中管理VPN配置。这样就可以在所有服务器中自动更新Tinc VPN的配置,从而保证了所有VPN网络的正确和及时更新。

Step 4:启动数据库备份

第四步是设置备份来迁移数据库。

最初,我们计划在数据库迁移期间把Ghost(Pro)下线。这样暂停一下,我们就可以保持数据的连续性,并为MySQL数据库备份。然后我们再把备份传到新数据库服务器上,最后重置一下就能完成数据库迁移。然而,分析完现有数据后,我们发现这并不可行。我们有大约500G的数据库,这意味着预计需要6小时的下载时间,还不包括任何意外的错误。服务下线那么长时间是不能接受的。我们需要其他解决方案。

我们决定首先迁移备份数据库,这样可以保证在迁移数据的一致性,同时也能保证数据库迁移过程中线上服务不中断。下面简述备份步骤:

配置Master/Slave备份
把原始数据库服务器设置为master,新数据库服务器设为slave。这意味着从原始数据库系统到新架构的数据库备份是单向的。

测试新基础设施
用这样的master/slave设置,就可以测试了,看我们新的Ghost(Pro)系统是不是和原有设置保持一致。所有测试完成后,我们删除了新的数据库服务器(slave)数据来为下一步做准备。

配置Master/Master备份
新数据库服务器测试后,我们开启了master/master备份,这意味着所有的数据变更是双向的。一旦开启master/master备份,原始数据库被迁移到新服务器上,新的基础设施准备就绪了。更多关于数据库迁移的教程,请参考1、2。

Step 5:更新DNS记录

第五步是更新DNS记录,以此把新基础设施投入使用。

更新DNS记录有时候会出现问题,因为DNS生效需要时间。如果处理得当,生效时间是几个小时,用户可以使用新老系统。我们使用CloudFlare管理DNS条目,它支持实时修改DNS,这样我们就能避免可能出现的问题了。

当准备启用新系统时,我们执行了以下步骤。首先,更新ghost.org,使它指向新的核心服务器;然后,测试运行;最后,更新ghost.io,使它指向新缓存服务器,再多测试几次。

Step 6:下线旧的运行环境

最后一步就是下线旧运行环境中的服务器。所有服务都运行在新的DigitalOcean中,我们不再需要原来的专用服务器基础设施了。淘汰旧的设备能大大节省我们的开支。

在关停旧的基础设施前,我们需要停掉新旧数据库服务器的备份。

结语

把Ghost(Pro)平台从专用服务器迁移到DigitalOcean非常成功。我们希望分享自己的经验,因为我们知道业务迁移是很多项目面临的一个挑战。我们希望自己迁移到DigitalOcean的分享对其他准备迁移的项目能有借鉴意义。

本文转自d1net(转载)

时间: 2024-09-20 18:39:01

只需6步,教你把服务迁移到云端的相关文章

一分钟了解阿里云产品:从域名到网站,只需四步

  从域名到网站,只需四步,轻松访问   第一步. 注册域名.     首先您需要先拥有一个域名,没有域名先购买域名,这是一个很简单的事情.   第二步. 准备服务器和网站.     1.我已经有域名,接下来该如何操作?接下来需要您开始准备网站和服务器   如果您已经做好了网站,还没有购买服务器?您可以购买阿里云云服务器.   如果您需要网站建设加服务器一站式服务,您可以购买阿里云智能建站服务.   2.我的网站和服务器已准备完毕,接下来该如何操作?那我们一起进入服务器备案环节.   根据规定,

只需3步 轻松获得情人

"只需3步,轻松获得情人"."Valentine"s Day(情人节),不是一个人的狂欢"."美人芬芳.醇美邂逅"--源自西方的情人节来临时,各类交友网站上类似的绚丽广告随处可见,为网上相亲的潮流再添一份热度.然而,网络情缘果能成就真爱?新华社记者调查发现,目前交友网站良莠不齐,一些不法分子假借"爱情"名义,挑战法律和道德底线,集中呈现出三种乱象. 乱象一:公然吆喝"一夜情":挑战道德底线 网上交

只需三步 菜鸟制作精美Flash导航菜单

菜单|导航 为方便网友浏览,导航菜单是每个网站必不可少,一个漂亮精美的Flash导航菜单是每个站长所向往的.但对于刚刚学习制作网页的站长来说,使用Flash MX这类专业制作Flash的工具着实有一定的困难.下面笔者就向大家介绍一款软件,即使你不懂任何专业的编程技巧,也可以创建出多种动态效果的Flash菜单,并且所有的操作只需三步即可完成.该软件同样适用于Flash高手,借助该软件可以大大简化操作步骤,提高工具效率.下面我们就以制作"天极学院频道导航菜单"为例,向大家介绍该款软件. 1

阿里云推出数据库迁移服务ADAM:Oracle数据库上云只需4步

为方便用户更安全快速地在云上开展数据库业务,阿里云在"2017云栖大会·上海峰会"上推出了业内首个覆盖数据全生命周期的应用与数据库迁移工具Advanced Database & Application Migration(ADAM),该服务使得企业能够将Oracle等数据库无缝迁移上云,在云上数据库MySQL.PPAS.AnalyticDB等开展业务. 传统数据库和云端数据库不兼容是阻碍企业上云的一大障碍,阿里云ADAM提供了一种绝佳的方案,全程仅需4步--迁移前,ADAM可对

阿里云首推音乐变速短视频SDK,上线抖音 freestyle只需1步

2016年可谓是短视频行业风生水起的一年,2017年更是呈现市场井喷的态势.短视频玩家从从秒拍.美拍到今年刚刚入局的土豆,竞争可谓激烈.值得关注的还有快手这匹短视频APP黑马,在它的引领下短视频服务被资本和市场普遍看好,据说快手至今已经覆盖4亿用户,日活达6000万之高.最近短视频圈多了一个后起之秀--抖音,这个画风奇绝动感酷炫的短视频APP上线不到半年就迅速走红,它主打的混音和变速玩法让年轻人欲罢不能. 短视频好像拥有一种魔力,可以无限激发用户的创作和表达欲望.这恰恰又是以内容为王的互联网服务

易信3.0推高清免费电话只需三步拨打全国号码

互联网总能用最低的成本给我们提供最优质的服务,近日,时下热门的移动社交工具易信发布了3.0预览版,此次更新完成后易信将全面提升用户语音通信功能服务!用户使用易信电话与好友沟通将不再需要对方同样安装易信软件,直接与全国用户随时免费通话,步骤简洁.更新后的易信免费电话功能与普通手机拨打电话模式极其相似,只需3个小步骤即可轻松实现畅聊,更重要的是通话过程中免话费.免流量费.下面以iOS版本为例感受下易信高清免费电话的简单3个步骤,安卓版本的操作步骤与iOS版本大体类似,甚至相关按钮都在相同地方,在此就

上海移动新推4G厚礼惠客户 只需“三步”尽享体验

在第三届亚洲移动通信博览会(Mobile Asia Expo)(简称MAE展会)和GTI亚洲大会(Global TD-LTE Initiative)召开前夕,中国移动上海公司重磅推出"价格超优惠.使用超自由.消费超放心.换机超省心.换卡超贴心"五重厚礼,客户只需简单的 "选购一款移动定制版4G手机"."更换一张4G卡"和"选择一款适合自己的http://www.aliyun.com/zixun/aggregation/9422.html

只需“三步”尽享高速畅快网络体验 上海移动新推4G五重厚礼普惠客户

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在第三届亚洲移动通信博览会(Mobile Asia Expo)(简称MAE展会)和GTI亚洲大会(Global TD-LTE Initiative)召开前夕,中国移动上海公司重磅推出"价格超优惠.使用超自由.消费超放心.换机超省心.换卡超贴心"五重厚礼,客户只需简单的 "选购一款移动定制版4G手机".&

数据驱动型企业如何炼成?只需五步!

处理器在更新换代, 企业也面临着如何转型的巨大挑战. 老化的处理器会被遗弃, 落后的企业也同样会被淘汰. 如何识别和整合数据源 以及选择合适的技术来支持数据整合, 成为了企业当下急需面对的问题. 而且对企业而言, 数据决策已经不再是业务的副产品, 而是适应社会的生存能力, 也是成功的关键因素. 企业需要建立可信且统一的基础设施,来高效地存储数据.快速传输数据,并以极快的速度分析数据,以便企业能够随时随地从广泛分布的数据中获取所需的商业洞察. 这对许多 IT 部门来说,似乎有些要求过高,但通过业务