记一次利用SMS进行整体环境的迁移|【我的华为云体验之旅】

举报
真爱无敌 发表于 2021/12/14 19:21:20 2021/12/14
【摘要】 一、背景    服务器以及相应的部署环境的迁移是很多企业都会遇到的场景,有可能是因为云环境发生了变化需要进行迁移,也有可能是因为考虑成本原因要进行本地环境上云,凡此种种,都会涉及到环境的迁移和数据的迁移,当然也包括各种配置的迁移。        很多时候,我们在迁移前会做很多的准备工作,包括:    1)现有环境调研:有哪些服务器资源、哪些静态数据、数据库版本、服务器版本、网络环境、配置文件...

一、背景

    服务器以及相应的部署环境的迁移是很多企业都会遇到的场景,有可能是因为云环境发生了变化需要进行迁移,也有可能是因为考虑成本原因要进行本地环境上云,凡此种种,都会涉及到环境的迁移和数据的迁移,当然也包括各种配置的迁移。

   

    很多时候,我们在迁移前会做很多的准备工作,包括:

    1)现有环境调研:有哪些服务器资源、哪些静态数据、数据库版本、服务器版本、网络环境、配置文件等等

    2)迁移的影响:是否需要宕机迁移、增量迁移还是全量迁移、迁移过程中如何确保数据不丢失、如何确保数据一致性等等

    3)迁移后的网络情况:是否会因为网络环境导致无法访问、端口是否都一致、防火墙/安全组配置是否都确认等等

    4)是否有backup方案:数据是否都已备份、万一迁移失败是否能够恢复原状等等

    5)迁移的时间:到底是热迁移还是冷迁移,选择凌晨进行割接迁移还是停服迁移等等

    这次正好公司要对现有的环境整体进行迁移,其中就应用到了一个非常重要的工具--SMS(即主机迁移服务),用于对现有的服务器主机进行整体迁移,这样就可以规避掉在新服务器上重新构建应用环境并迁移数据的复杂操作,能够节省很大的成本。

    以往也有过迁移服务器的经历,都是新购服务器,重新搭建一遍环境(安装JDK、数据库、nfs、手动挂载磁盘、安装各种类库、安装docker等等),然后将源服务器的数据迁移到新服务器(相对比较耗时),之后再重新启动服务,一两台服务器相对还好,如果服务器多的情况下,那么这种迁移就会变得费时费力,并且极其容易出现各种错误。

    那么,接下来就本次对SMS的使用以及遇到的一些问题给大家分享(PS:本次迁移的源端也是华为云服务器,目的端也是华为云)


二、SMS介绍

2.1 产品简介    

    首先要给大家介绍一下SMS这个产品,官方介绍:主机迁移服务(Server Migration Service)是一种P2V/V2V迁移服务,可以帮您把X86物理服务器,或者私有云、公有云平台上的虚拟机迁移到华为云弹性云服务器(ECS),从而帮助您轻松地把服务器上应用和数据迁移到华为云。

    产品的优势有:

   

    官方的应用场景包括OS迁移、应用迁移和数据库迁移,那本次我们实际在操作的过程中主要涉及的就是应用迁移: 

    使用SMS无需进行购买,目前华为云提供的该项服务还处于免费阶段,仅对迁移过程中产生的临时存储按需按时收取一定的费用,相对来说还是比较节省成本的。

2.2 控制台介绍

    通过官网首页搜索SMS可以快速进入SMS控制台,如下图所示:

   

    在总览页面可以看到有关迁移的流程引导:从迁移前准备-->安装和启动迁移Agent-->设置迁移目的端-->开始服务器复制-->启动目的端

    总体上按照流程已到一步步操作即可完成整体迁移,接下来详细介绍迁移过程。


三、迁移过程

3.1 迁移前准备

    在使用SMS前,我们需要做好以下几个准备工作:

    1)准备好目的端账号的AK和SK

    2)账户余额留个100元吧(按照官方的意思可能会涉及到一些临时存储的资源费用,防止因欠费造成迁移失败)

    3)确保源端和目的端都能正常访问(建议源端出方向端口都开放

    4)确认源端服务器的环境,确认目的端服务器配置是否>=源端服务器环境(CPU、存储、内存等)

    (如果是linux,要安装Rsync库,否则在安装Agent的时候会出现下述错误,当然大部分系统应该初始都会预装的,防止个别出现这个情况

     

    (本次因为本人迁移的都是linux服务器,但是其中有2台涉及到华为云耀云服务器,这2台服务器没有预装Rsync库,因此需要自行安装,命令如下:

yum -y install rsync

      )

3.2 安装和启动迁移Agent

    环境都check完毕后,开始为每台需要迁移的服务器安装Agent并启动。

    我们进入到主机迁移服务-迁移Agent页面:

   

    在这里我们可以看到下载Agent以及启动Agent的命令:

#在Linux服务器上下载Agent(手动下载)
wget -t 3 -T 15 https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent.tar.gz
#执行下面连续命令运行Agent
tar -zxvf SMS-Agent.tar.gz   && cd SMS-Agent  &&    ./startup.sh

    启动时需要输入目的端服务器所在华为云账号的AK和SK,如下图: 

    安装完成后,我们进入到服务器列表,可以看到源端服务器已经成功在列表中显示:

   


3.3 设置迁移目的端

    接下来就是目的端设置,点击服务器列表每个服务器对应的目的端服务器配置按钮:进入如下界面:

    此处需要注意几个配置项:

    1)是否调整磁盘分区(因本次不涉及调整,因此全部选择否)

    2)网络类型(刚开始因为不清楚,所以就默认使用公网,这部分后续问题中会详细阐述

    3)是否持续同步(默认迁移完毕就结束,这部分后续也会阐述

    4)服务器选择(选择已有的服务器即可)

当上述内容全部配置完毕后,我们的源端和目的端就都配置好了。


3.4 开始服务器复制

    点击开始按钮,就可以开启迁移任务了,我们可以查看迁移的进度情况:

也可以查看实时迁移速率和剩余时间:

没错,剩余时间需要1天,这不是我所能接受的,因此在问题中我会详细展开说明解决方案。


3.5 启动目的端服务器

    如果一切没问题,就可以正常启动目的端服务器,启动后使用原服务器的账号密码进行登录,登录后需重新修改新密码。 

    点击启动时会提示是否持续同步(此处会与目的端设置中是否持续同步有关,在第四节问题中会展开描述)

    启动完成后最终迁移实时状态会变成“已完成”,至此整个迁移操作都已完成,其他的服务器都可按此进行操作。


四、遇到的问题及对策

4.1 如何解决迁移效率问题

    在第三部分中,我们看到迁移速率才5M/s左右,正常服务器都上百G,那迁移就需要1天左右的时间,这对于生产环境的迁移是不可接受的,因此在多方咨询以及官方调研后发现可以使用对等连接的方式来实现快速迁移。

    由于我的源端服务器和目的端服务器处于不同的华为云账户,因此需要建立不同账户下的对等连接,有关对等连接的详细操作步骤大家参考官方手册:https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0046655038.html,在这里我不作详细展开。

    简单来说:

    1)在目的端创建对等连接,输入对端VPC的相关信息,如下图

   

    2)在源端的对等连接里接受对等连接请求

   

    3)在目的端对等连接中天界VPC对等连接路由

   

    

    4)对等连接建立后,可以使用私有IP地址在两个VPC之间进行通信。您可以使用“ping”命令检查网络两端是否连通。


    此时我们回头到目的端设置中有个网络设置,不选择公网,而是选择专线或VPN,然后我们再次启动迁移任务,会惊人的发现耗时从原来的1天缩减成了25分钟

迁移速率也从原来的5M/s提升到了近千兆/s的速率。


4.2 迁移过程中如果源服务器如何持续同步

    假如在迁移过程中我们源服务器还在应用中,还在持续产生新的数据,那这个时候我们就可以选择“持续同步”选项

    官方的说明是:如果选择持续同步,那么服务器会进入持续同步阶段,会定时进行增量数据的同步,如果确认最终迁移完毕,手动执行“启动目的端”即可。


五、小结

    以往大家都会觉得服务器迁移时间很麻烦的事情,但是有了SMS之后会发现迁移也变得相对简单了,特别是服务器上部署了很多应用的情况。

    华为云的SMS服务个人体验后有如下感觉:

    1)整体技术相对成熟,整个体验过程也相对比较流畅

    2)华为的技术支持还是比较靠谱的,在迁移过程中遇到了一些问题,通过技术支持也能够快速找到解决方案,其中对等连接在执行的时候因为两端的IP段不能重叠也走了一些弯路,最后还是曲线救国完成了配置

    3)后续也可以尝试一下非华为云服务器迁移到华为云的操作

    这次的迁移一共有7台服务器,前后完成迁移一共花了40多分钟,大部分是等待复制的过程以及迁移后修改相关的IP信息和启动应用服务的过程,迁移从凌晨0点开始,到1点多就全部恢复正常使用了,非常棒的一次实操!!

【我的华为云体验之旅】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/309059

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。