【云计算的1024种玩法】巧用迁云工具轻松实现服务器迁移到ECS

  1. 云栖社区>
  2. 博客列表>
  3. 正文

【云计算的1024种玩法】巧用迁云工具轻松实现服务器迁移到ECS

妙正灰 2018-03-30 14:34:07 浏览2880 评论2

摘要: 很多时候如何将服务器迁移到阿里云的ECS成了很多用户上云之路的拦路虎,特别是在本地操作系统中已经有了非常复杂的软件部署这时候迁移上云或者在不同公有云之间迁移就让不少人犹豫不决了。 阿里云提供的 迁云工具 就是为这个迁移痛点而生的,特别好用!

前言

很多时候如何将服务器迁移到阿里云的ECS成了很多用户上云之路的拦路虎,特别是在本地操作系统中已经有了非常复杂的软件部署这时候迁移上云或者在不同公有云之间迁移就让不少人犹豫不决了。

阿里云提供的 迁云工具 就是为这个迁移痛点而生的,特别好用!

介绍

迁云工具 直接使用公网迁移用户的系统,无需占用额外的本地存储空间,大大减轻了迁移的负担和迁移成本;同时本工具在易用性方面做了很多努力,相比以前的版本工具极大的简化了使用条件、降低了使用门槛,使用户的系统一键迁移到阿里云成为可能。

当然了瓶颈也是有的,那是带宽了,但是很多物理服务器本身带宽就不小,云服务器的话也都可以开按流量计费,可以说瓶颈也是可以解决的。

总而言之它的特性就是: 操作复杂度 ,迁移速度 ,系统还原度

迁云工具 支持的镜像包括:Windows Server 和常见的主流 Linux 发型版,支持P2V(物理机迁云)、V2V(虚拟机/公有云迁云)。

系统平台 版本号 支持状态
Windows 2003/2008/2012/2016 支持
CentOS 5/6/7 支持
Red Hat 5/6/7 支持
Ubuntu 10/12/14/16/17 支持
Debian 7/8/9 支持
SUSE Linux 11.4/12.1/12.2 支持
OpenSUSE 13.1 支持
Gentoo 13.0 支持

要求 & 收获

需要使用到的产品:

  1. 阿里云账户余额大于等于 100 元(开通按量的要求)
  2. 可连接公网的 物理机、虚拟机、公有云 服务器

    通过本文你将讲学到:

  3. 使用迁云工具实现镜像迁移至阿里云

教程

教程中以腾讯云 CVM 为例介绍 Linux 发型版的迁移,将 腾讯云·上海 地域的镜像迁移至阿里云上。 建议带宽较小的实例可以考虑制作一个自定义镜像并用此镜像创建一个按流量计费100M带宽的按量实例,如果是物理机传输量非常大还可以考虑使用阿里云的 高速通道 服务建立传输专线。

然后我创建了一个纯 Nginx 的环境,并放了一个默认首页和 /root/qianyun.txt 的两个验证迁移准确性的文件。

image
image

准备

安装基础库

一、 安装基础必备软件 Rsync 库:

CentOS、RHEL: 

yum install epel-release -y
yum install rsync git python python-pip –y

Debian、Ubuntu:

apt install rsync git python python-pip –y

编译安装 cloud-init

一、 下载 cloud-init 源码:

git clone https://git.launchpad.net/cloud-init
cd cloud-init

二、 安装 Python 库依赖:

pip install -r requirements.txt

三、 编译安装:

python setup.py install

四、 修改配置文件:

mv /etc/cloud/cloud.cfg /etc/cloud/cloud.cfg.bak
cd /etc/cloud/
wget https://gitee.com/yunvy/codes/p0omxzqs8ecaj5iwtu9b175/raw?blob_name=cloud.cfg -O cloud.cfg 

创建权限子账户

由于期间操作是自动通过命令行实现的,所以需要用到一个 Access Key 的过程,但是默认的 Access Key 是全局全权限的,所以我们应该使用 访问控制 RAM 来创建一个只有 ECS 管理权限的子账户。

不过由于篇幅限制不适合再展开讲访问控制了,可以参考 《使用阿里云短信服务曲线实现 WP 评论实名》 ,查看第四步 四、 在开通 访问控制 服务 中的步骤。

下载迁云工具

一、 下载源码包

cd /root/
wget http://p2v-tools.oss-cn-hangzhou.aliyuncs.com/Alibaba_Cloud_Migration_Tool.zip
unzip Alibaba_Cloud_Migration_Tool.zip

二、 解压后会有两个压缩包,一个是 Linux 一个是 Windows 的,很清楚,我们当然是 Linux。

[root@VM_199_173_centos ~]# unzip Alibaba_Cloud_Migration_Tool.zip                                                                                                                
Archive:  Alibaba_Cloud_Migration_Tool.zip                                                                                                                                        
  inflating: go2aliyun_client1.2.5_linux.zip                                                                                                                                      
  inflating: go2aliyun_client1.2.5_windows.zip  

三、 解压 Linux 工具包:

unzip go2aliyun_client1.2.5_linux.zip
cd go2aliyun_client1.2.5_linux/

四、 目录中有两个目录:

[root@VM_199_173_centos go2aliyun_client1.2.5_linux]# ls                                                                                                                          
go2aliyun_client1.2.5_linux_i386  go2aliyun_client1.2.5_linux_x86_64

i386 即 32位系统的,x86_64 即 64 位系统的,不过服务器默认都用 64 位的,所以我们进 go2aliyun_client1.2.5_linux_x86_64 目录。

cd o2aliyun_client1.2.5_linux_x86_64

配置

一、 修改 user_config.json 文件,这个一个 json 配置文件

{
    "access_id": "",
    "secret_key": "",
    "region_id": "",
    "image_name": "",
    "system_disk_size": 40,
    "platform": "",
    "architecture": "",
    "data_disks": [],
    "bandwidth_limit": 0
}

具体参数介绍:

参数名 类型 是否必填 说明
access_id String 您的阿里云账号的 API 访问密钥 AccessKeyID。更多详情,参阅 创建 Access Key
secret_key String 您的阿里云账号的 API 访问密钥 AccessKeySecret。更多详情,参阅 创建 Access Key
region_id String 您的服务器迁移入阿里云的地域 ID,如 cn-hangzhou(华东1),取值参阅 https://help.aliyun.com/document_detail/53289.html" data-spm-anchor-id="a2c4g.11186623.2.28">地域与可用区。
image_name String 为您的服务器镜像设定一个镜像名称,该名称不能与同一地域下现有镜像名重复。
  • 长度为 [2, 128] 个英文或中文字符,必须以大小字母或中文开头,可包含数字,点号(.),下划线(_)或短横线(-)。
  • 镜像名称会显示在 ECS 控制台。
  • 不能以 http://https:// 开头。
system_disk_size int 为系统盘指定大小,单位为 GB。取值范围:
  • [40, 500]
  • 该参数取值需要大于源服务器系统盘实际占用大小,例如,源系统盘大小为 500 GB,实际占用 100 GB,那该参数取值只要大于 100 GB 即可。
platform String 源服务器的操作系统。取值范围:
  • CentOS
  • Ubuntu
  • SUSE
  • OpenSUSE
  • Debian
  • RedHat
  • Others Linux
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2012
  • Windows Server 2016
参数 platform 的取值需要与以上列表保持一致,必须区分大小写,并保持空格一致。
architecture String 系统架构。取值范围:
  • i386:32 位系统架构
  • x86_64:64 位系统架构
bandwidth_limit int 数据传输的带宽上限限制,单位为 KB/s。
默认值:0
data_disks Array 数据盘列表,最多支持 16 块数据盘。具体参数参阅 数据盘配置参数说明
该参数可以置为缩容数据盘的预期数值,单位为 GB,该值不能小于数据盘实际使用空间大小。
关于数据盘的内容请参考: https://help.aliyun.com/document_detail/62394.html#Table2 所以,我就可以创建出一个配置文件为:
{
    "access_id": "LTAIXeadwww.mf8.biz",
    "secret_key": "VHVQ1Tzwww.mf8.bizvH8pIMoMSA",
    "region_id": "cn-shanghai",
    "image_name": "MF8-BIZ-QIANYUN-IMAGE-001",
    "system_disk_size": 50,
    "platform": "CentOS",
    "architecture": "x86_64",
    "data_disks": [],
    "bandwidth_limit": 0
}

特别注意的是 platform 一定要注意大小写!

二、 rsync_excludes_linux.txt 中的目录是不进行迁移的目录,以避免不必要的空间浪费,我们可以在里面自行添加不必要的目录。

迁移

cd /root/go2aliyun_client1.2.5_linux/go2aliyun_client1.2.5_linux_x86_64
chmod +x ./go2aliyun_client
./go2aliyun_client

然后就会自动创建一个所选地域的临时按量 ECS 进行同步,同步完成后就会自动创建一个快照并创建为自定义镜像。

这时候我们就啥都不用管了,冲一杯咖啡,小憩一会儿就是了~。

出现 Enter any key to Exit... 就表示我们迁移已经完成了。

image

然后在快照列表就可以看到,创建的这个快照:

image

当然最终我们还是要用这个快照创建的自定义镜像来进行ECS的创建。

image

image

检测

我这个架构本身就很简单,基本上只要能打得开 Nginx 就行,其他的复杂架构可能需要详细检测一下是否可以运行。

image
image

用云栖社区APP,舒服~

【云栖快讯】云栖社区技术交流群汇总,阿里巴巴技术专家及云栖社区专家等你加入互动,老铁,了解一下?  详情请点击

网友评论

1F
饭娱咖啡

迁移速度是块?还是快?😂

(来自社区APP)
2F
春日知你

你这个斗。。。

妙正灰
文章92篇 | 关注495
关注
云计算的1024种玩法

已发行: 34期

订阅数: 2426

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
快速、完全托管的TB/PB级数据仓库解决方案,向用户提供了完善的数据导入方案以及多种经典的分... 查看详情
充分利用阿里云现有资源管理和服务体系,引入中间件成熟的整套分布式计算框架,以应用为中心,帮助... 查看详情
建站4折

建站4折