已经有很多朋友通过楚狂人博客的介绍,选择了阿里云服务器ECS的服务,还有一些朋友正在犹豫中,其中典型的一个问题便是原来放在传统服务器的数据怎样安全快速的迁移到阿里云服务器中。今天,我带大家看一下如何用迁云工具把服务器数据迁移到阿里云服务器ecs?

当然,前提是你首先要有阿里云的账户,并购买了阿里云服务器ECS。如果你还没有购买,可以点击下面链接领取幸运券之后再买,领券后下单可以获得两次抽奖机会,最高奖品为128G的ipad迷你。

如果你已经有阿里云服务器ECS了,或者你刚刚购买完毕,下面我们来看下迁移的步骤。

注意事项

阿里云迁云工具当前版本暂不支持迁移增量数据。对于源服务器上需要保持数据完整的业务,您可以选择一个业务空闲时段,暂时停止这些业务,再迁移数据。

迁云时,系统默认在您的阿里云账号下创建一个默认名为 INSTANCE_FOR_GOTOALIYUN 的 ECS 实例做中转站。该中转实例付费类型为按量付费,按量付费实例产生的资源耗费及计费说明请参阅 产品定价 按量付费。

注意:

迁云成功后,系统自动释放该中转实例。

迁云失败后,该实例保留在 ECS 控制台,以便于重新迁云。此时,您需要前往 ECS 控制台手动 释放实例,以免造成不必要的扣费。

中转实例的默认付费模式为 按量付费(Pay-As-You-Go),您需要确保账号余额大于等于 100 元。

每成功迁云一次,配置文件 client_config.json 会自动记录迁云成功后在 ECS 控制台创建的 ECS 实例的相关信息。再次迁云时,您需要使用初始下载的客户端配置文件。

注意:

为避免迁云失败,如无特殊需求,您无需自行修改配置文件 client_config.json。

阿里云迁云工具需要使用 AccessKeyID 以及 AccessKeySecret, AccessKeyID 以及 AccessKeySecret 是您的重要凭证,请妥善保管,防止泄露。

前提条件

迁云之前,待迁云的源服务器必须能够访问公网,便于传输数据至阿里云管理控制台。

确保系统本地时间与实际时间一致,否则日志文件会提示 TimeStamp 异常。

源服务器为 Windows 系统

确保防火墙没有限制 go2aliyun_client.exe 及 Rsync\bin 文件夹中的 rsync.exe。

确保系统开机启动引导正常。

您需要以管理员身份运行迁云工具。

源服务器为 Linux 系统

确保 go2aliyun_client 没有被防火墙限制。

确保您已经安装了 Rsync 库:

CentOS:运行 yum install rsync –y。

Ubuntu:运行 apt-get install rsync –y。

Debian:运行 apt-get install rsync –y。

其他发行版:参考发行版官网安装相关的文档。

确保系统安装了 Xen 或者 KVM(Kernerl Virtual Machine) 驱动,您可以参阅 安装 virtio 驱动 配置虚拟化环境。

确保系统已关闭 SELinux。您可以通过将文件 /etc/selinux/config 中的配置修改为 SELINUX=disabled 关闭 SELinux。

您需要以 root 身份运行迁云工具。

下载迁云工具

登录阿里云管理控制台 提交迁云申请。

注意:

提交迁云申请后,如果您长时间未收到迁云回复,您可以同时检查您的收件箱与垃圾邮件。

审核完成后,根据邮件、站内信或者短信提示下载阿里云迁云工具压缩包。解压后包含的文件列表如下:

Windows 服务器

文件(夹)名

描述

Rsync 文件夹

迁云所需要依赖的应用,除筛选机制文件 Rsync\etc\rsync_excludes_win.txt 外,其余文件请勿手动修改。

client_config.json

迁云过程中,在 ECS 控制台创建的中转实例的配置文件。

user_config.json

源服务器信息配置文件

go2aliyun_client.exe

迁云工具主程序

Linux 服务器

文件(夹)名

描述

client_check

辅助程序

client_config.json

迁云过程中,在 ECS 控制台 创建的中转实例的配置文件。

user_config.json

源服务器信息配置文件

go2aliyun_client

迁云工具主程序

rsync_excludes_linux.txt

筛选机制文件,设置不迁云的路径。

操作步骤

登录待迁云的服务器、虚拟机或者云主机。

将下载的阿里云迁云工具压缩包解压到您指定的目录。

在控制台 创建 Access Key,用于输出到配置文件 user_config.json里。

根据您的实际情况,自定义配置文件 user_config.json。

运行阿里云迁云工具:

Windows 服务器:右击 go2aliyun_client.exe,选择 以管理员身份运行。

Linux 服务器:

执行命令 chmod +x go2aliyun_client 赋予 go2aliyun_client 可执行权限。

执行命令 ./ go2aliyun_client 运行 go2aliyun_client。

等待运行结果:

当出现 Goto Aliyun Finished! 提示时,前往 ECS 控制台 镜像详情页查看结果。

当出现 Goto Aliyun Not Finished! 提示时,检查同一目录下 Logs 文件夹下的日志文件 排查故障。修复问题后,重新运行迁云工具,迁云工具会从上一次执行的进度中继续迁云。

自定义 user_config.json

user_config.json 是一个以 JSON 语言编写的配置文件,主要包含源服务器需要迁移至阿里云云平台的一些必要配置信息,其中包括您的 AccessKey 信息、生成的目标自定义镜像的配置信息等。您需要手动配置部分参数,修改后,仔细检查 JSON 语言格式的规范性,关于 JSON 的语法标准请参阅 RFC 7159。

配置文件模板

以下是配置文件 user_config.json 的模板:

{

"access_id": "",

"secret_key": "",

"region_id": "",

"image_name": "",

"system_disk_size": 40,

"platform": "",

"architecture": "",

"data_disks": []

}

模板参数说明

表一. 服务器配置参数说明

参数名

类型

是否必填

说明

access_id

String

Yes

您的阿里云账号的 API 访问密钥 AccessKeyID。更多详情,参阅 创建 Access Key。

secret_key

String

Yes

您的阿里云账号的 API 访问密钥 AccessKeySecret。更多详情,参阅 创建 Access Key。

region_id

String

Yes

您的服务器迁移入阿里云的地域 ID,如 cn-hangzhou(华东1),取值参阅 地域与可用区。

image_name

String

Yes

为您的服务器镜像设定一个镜像名称,该名称不能与同一地域下现有镜像名重复。

长度为 [2, 128] 个英文或中文字符,必须以大小字母或中文开头,可包含数字,点号(.),下划线(_)或短横线(-)。

镜像名称会显示在 ECS 控制台。

不能以 http:// 和 https:// 开头。

system_disk_size

int

Yes

为系统盘指定大小,单位为 GB。取值范围:

[40, 500]

该参数取值需要大于源服务器系统盘实际占用大小,例如,源系统盘大小为 500 GB,实际占用 100 GB,那该参数取值只要大于 100 GB 即可。

platform

String

No

源服务器的操作系统。需要注意大小写,取值范围:

CentOS

Ubuntu

SUSE

OpenSUSE

Debian

RedHat

Others Linux

Windows Server 2003

Windows Server 2008

Windows Server 2012

Windows Server 2016

architecture

String

No

系统架构。取值范围:

i386:32 位系统架构

x86_64:64 位系统架构

data_disks

Array

No

数据盘列表,最多支持 16 块数据盘。具体参数参阅 数据盘配置参数说明。

表二. 数据盘配置参数说明

参数名

类型

是否需要手动配置

说明

data_disk_index

int

Yes

数据盘序号。取值范围:[1, 16]

初始值:1

data_disk_size

int

Yes

数据盘大小。单位为 GB。取值范围:

[5, 2000]

该参数取值需要大于源服务器数据盘实际占用大小,例如,源数据盘大小为 500 GB,实际占用 100 GB,那该参数取值只要大于 100 GB 即可。

src_path

String

Yes

数据盘源目录。取值范围:

Windows 指定盘符,例如,D、E 或者 F。

Linux 指定目录,例如,/mnt/disk1、/mnt/disk2 或者 /mnt/disk3。

自定义配置示例

此处以四种场景为例,为您示范如何根据场景和配置文件模板自定义配置 user_config.json 文件:

场景一. 迁移一台无数据盘的 Windows 服务器

假设您的服务器配置信息为:

操作系统:Windows Server 2008

系统盘:30 GB

系统架构:64 位

您的迁云目标为:

目标地域:阿里云华东 1 地域(cn-hangzhou)

镜像名称:CLIENT_IMAGE_WIN08_01

系统盘设置:50 GB

那么您可以根据如下信息配置 user_config.json 文件:

{

"access_id": "YourAccessKeyID",

"secret_key": "YourAccessKeySecret",

"region_id": "cn-hangzhou",

"image_name": "CLIENT_IMAGE_WIN08_01",

"system_disk_size": 50,

"platform": "Windows Server 2008",

"architecture": "x86_64",

"data_disks": []

}

场景二. 迁移一台带数据盘的 Windows 服务器

如果您的 Windows 服务器在场景一的基础上加入了 3 块数据盘,源目录和数据盘大小分别为:

D:100 GB

E:150 GB

F:200 GB

那么您可以根据如下信息配置 user_config.json 文件:

{

"access_id": "YourAccessKeyID",

"secret_key": "YourAccessKeySecret",

"region_id": "cn-hangzhou",

"image_name": "CLIENT_IMAGE_WIN08_01",

"system_disk_size": 50,

"platform": "Windows Server 2008",

"architecture": "x86_64",

"data_disks": [ {

"data_disk_index": 1,

"data_disk_size": 100,

"src_path": "D:"

}, {

"data_disk_index": 2,

"data_disk_size": 150,

"src_path": "E:"

}, {

"data_disk_index": 3,

"data_disk_size": 200,

"src_path": "F:"

}

]

}

场景三. 迁移一台无数据盘的 Linux 服务器

假设您的服务器配置信息为:

发行版本:CentOS 7.2

系统盘:30 GB

系统架构:64 位

您的迁云目标为:

目标地域:阿里云华东 1 地域(cn-hangzhou)

镜像名称:CLIENT_IMAGE_CENTOS72_01

系统盘设置:50 GB

那么您可以根据如下信息配置 user_config.json 文件:

{

"access_id": "YourAccessKeyID",

"secret_key": "YourAccessKeySecret",

"region_id": "cn-hangzhou",

"image_name": "CLIENT_IMAGE_CENTOS72_01",

"system_disk_size": 50,

"platform": "CentOS",

"architecture": "x86_64",

"data_disks": []

}

场景四. 迁移一台有数据盘的 Linux 服务器

如果您的 Linux 服务器在场景三的基础上加入了 3 块数据盘,源目录和数据盘大小分别为:

/mnt/disk1:100 GB

/mnt/disk2:150 GB

/mnt/disk3:200 GB

那么您可以根据如下信息配置 user_config.json 文件:

{

"access_id": "YourAccessKeyID",

"secret_key": "YourAccessKeySecret",

"region_id": "cn-hangzhou",

"image_name": "CLIENT_IMAGE_CENTOS72_01",

"system_disk_size": 50,

"platform": "CentOS",

"architecture": "x86_64",

"data_disks": [ {

"data_disk_index": 1,

"data_disk_size": 100,

"src_path": "/mnt/disk1"

}, {

"data_disk_index": 2,

"data_disk_size": 150,

"src_path": "/mnt/disk2"

}, {

"data_disk_index": 3,

"data_disk_size": 200,

"src_path": "/mnt/disk3"

}

]

}

自定义 client_config.json

文件 client_config.json 主要包含程序的运作过程状态以及迁云过程中在 ECS 控制台 创建的中转实例的配置信息。

注意:

为避免迁云失败,如无特殊需求,您无需自行修改配置文件 client_config.json。

配置文件模板

以下是配置文件 client_config.json 的模板:

{

"instance": {

"instance_id": "",

"instance_name": "",

"description": "",

"instance_type": "",

"system_disk_category": "",

"public_ip_address": "",

"status": ""

}

}

模板参数说明

参数名

类型

说明

status

String

阿里云迁云工具的运作过程状态。取值范围:

Finished:已完成迁云

Not finished:迁云中断,未完成。

instance.instance_id

String

创建的中转实例的 ID

instance.instance_name

String

创建的中转实例名称。默认值:INSTANCE_FOR_GOTOALIYUN

instance.instance_type

String

创建的中转实例的资源规格。取值参见 实例规格族。默认值:ecs.n1.small

当创建实例失败时,并且日志文件提示 NoStock,则表示该 ECS 实例规格暂无库存,您可以选择其他实例规格后重试。

instance. system_disk_category

String

创建的中转实例的系统盘磁盘种类。取值范围:

cloud:普通云盘

cloud_efficiency:高效云盘

cloud_ssd:SSD 云盘

ephemeral_ssd:本地 SSD 盘

InstanceType 为 系列 I 规格的非 I/O 优化实例的默认值:cloud

其余情况,默认值:cloud_efficiency

instance.public_ip_address

String

创建的中转实例的公网地址。

更多参数规格,您可以参阅 API CreateInstance 的请求参数说明。

自定义无需迁云的目录

阿里云迁云工具同时具备过滤筛选功能,该功能过滤掉部分文件或者目录,这些被过滤的文件不会迁移到阿里云云端。其默认过滤文件为:

Linux 服务器:

/dev/*

/sys/*

/proc/*

/media/*

/lost+found/*

/mnt/*

/var/lib/lxcfs/*

注意:

/var/lib/lxcfs/* 目录仅针对部分系统版本,例如,无权访问 Ubuntu 的 Linux 容器服务缓存目录时,需要排除 Ubuntu 的 /var/lib/lxcfs/* 才能顺利迁云。

Windows 服务器

pagefile.sys

$RECYCLE.BIN

System Volume Information

您可以通过配置 rsync 实现过滤不想迁云的文件或者目录。Linux 服务器通过配置文本文件 rsync_excludes_linux.txt 实现,Windows 文件通过配置文本文件 Rsync/etc/rsync_excludes_win.txt 实现。您可以参阅 rsync 相关文档,在文本文件里按需添加过滤的文件或目录。

日志文件

阿里云迁云工具的日志记录保存在主程序目录下的 Logs 目录。日志文件记录迁云过程中出现异常中断,如提示 Go2aliyun Not Finished 时,您可查看日志详情 定位并解决问题。

FAQ

1. 迁云日志关键字里包含了 TimeStamp

请检查系统时间是否为正确时间。

2. 迁云日志关键字里包含了 OperationDenied

请确保配置文件 user_config.json 中参数 access_id 所属的阿里云账号已 申请 开通迁云功能白名单。

3. Linux 服务器日志关键字里包含了 check rsync failed

请检查系统是否已安装 rsync 组件。

4. Linux 服务器迁云日志关键字里包含了 check virtio failed

请检查系统是否安装 virtio 驱动。

5. Linux 服务器迁云日志关键字里包含了 check selinux failed

请检查是否已禁用 SElinux。

您可以通过将文件 /etc/selinux/config 中的配置修改为 SELINUX=disabled 关闭 SELinux。

6. Linux 服务器迁云日志错误提示关键字里包含了 Do Grub Failed

日志文件提示如 Do Grub Failed 的错误信息时,确保源服务器已经安装了系统引导程序 GRUB(GRand Unified Bootloader)。您可以 安装 1.9 以上版本的系统引导程序 GRUB 后重试。

7. 日志错误提示关键字里包含了 Unknow Error

请检查配置文件 user_config.json 中参数 platform 取值是否正确。

8. 日志错误提示关键字里包含了 Permission denied

日志文件提示如 rsync: send_files failed to open "…": Permission denied (13) 的错误信息时,表明阿里云迁云工具无权访问该目录或文件夹,导致 rsync 失败。此时您可以通过配置 rsync_excludes_linux.txt 或者 Rsync/etc/rsync_excludes_win.txt 过滤该目录或文件夹,然后重试。

9. 日志错误提示关键字里包含了 NotEnoughBalance

中转实例的默认付费模式为 按量付费(Pay-As-You-Go),您的账号余额不足时,无法顺利迁云。您需要更新账户状态后重试。

10. 为什么启动 Others Linux 实例后,网络服务不正常?

导入 Others Linux 类型镜像时,阿里云不会对该自定义镜像所创建的 ECS 实例做任何配置工作,包括相关的网络配置、SSH 配置等。此时,您需要参阅 配置 Customized Linux 自定义镜像 自行修改。

如果网络配置失败,您可以 提交工单 联系阿里云。

11. 迁移 Linux 服务器后,根据该自定义镜像创建的 ECS 实例为何不能启动?

检查驱动。创建 I/O 优化的 ECS 实例时,请确保源服务器已经安装 virtio 驱动。

检查一下源系统引导配置是否正确。

如果你还没有阿里云账号,看完这篇文章之后可以去免费注册一下!

转载请注明:作者:楚狂人,

转载或复制请以 超链接形式 并注明出处 楚狂人博客。

ecs服务器数据迁移_如何用迁云工具把服务器数据迁移到阿里云服务器ecs?相关推荐

  1. 【推荐】如何使用好阿里云的网络安全隔离?深入分享阿里云ECS安全组实践经验...

    近期针对安全的话题非常火爆.特别邀请阿里云专家撰写一组文章,深入分享阿里云ECS安全组实践经验. 阿里云的ECS有经典网络和专有网络(VPC)两种网络类型.经典网络基于阿里云基础网络,通过安全组(类似 ...

  2. 【云周刊】第134期:阿里云发布ECS企业级产品家族 19款实例族涵盖173个应用场景

    摘要: 阿里云发布ECS企业级产品家族,19款实例族涵盖173个应用场景 .阿里云发布T级数据压测的终极秘笈,一步步带你探究如何高效使用TensorFlow,程序员真的适合跑步健身吗?...更多精彩技 ...

  3. 【云周刊】第134期:阿里云发布ECS企业级产品家族 19款实例族涵盖173个应用场景...

    摘要: 阿里云发布ECS企业级产品家族,19款实例族涵盖173个应用场景 .阿里云发布T级数据压测的终极秘笈,一步步带你探究如何高效使用TensorFlow,程序员真的适合跑步健身吗?...更多精彩技 ...

  4. 【云周刊】第172期:阿里云总裁胡晓明:“自主研发、共生共存、不碰数据是我们的三条生命线“...

    本期头条 **阿里云总裁胡晓明:"自主研发.共生共存.不碰数据是我们的三条生命线" ** ** ** 5月23日,在云栖大会·武汉峰会上,阿里云总裁胡晓明系统阐述了这家公司坚守的三 ...

  5. 【云周刊】第133期:阿里云全球十四个节点评测分析及服务器地域选择攻略

    摘要: 应该如何考虑阿里云数据中心的选择?怎么买最优惠?25张图看透阿里未来"新零售"的大局,新网商.新时代你懂得吗?扎克伯格PK马斯克:人工智能的发展是末日还是黎明?更多精彩技术 ...

  6. 一部分 数据 迁移_软件测试员12小时惊魂记:数据库迁移出大事故,如何测试?...

    信息时代,随着用户数量不断增加,业务量不断增长,企业原有数据库不足以有效支撑业务的发展,在此情况下,企业更多的是寻求一款更加稳定的数据库进行替代. 本文以Sybase数据库和Oracle数据库为例.O ...

  7. python向数据库写入数据_如何用Python向Mysql中插入数据

    我们使用Python经常会和Postgresql进行搭配,很少将python和mysql进行搭配.下面小编给大家分享如何用Python向Mysql中插入数据. 工具/原料 Pycharm 方法/步骤 ...

  8. 查询时拼接两列数据_如何用VBA代码查询两列数据差异?

    爱就一个字,我只说一次-- 北京市第三交通委提醒您:代码千万条,注释第一条,命名不规范,修订两行泪-- 咳,给大家拜晚年了,再提前祝大家元宵快乐-- 我们今天和大家分享的内容是如何用VBA代码查询两列 ...

  9. iphone换机数据迁移_苹果手机换华为、小米怎么同步数据?来了!

    将「雷科技Lite」收藏为我的小程序,不再错过精彩内容 雷科技数码3C组编辑 | MoFirLee 苹果.安卓手机之间同步数据其实不算太难,难的是没有找对方法.当然,游戏数据无法互通,这里面的问题就复 ...

  10. dede服务器建站_如何用DEDECMS建站的详细新手指南

    时间:10月12日晚8:30 主讲:肥龙龙 (635249) 主题:DEDECMS建站指南 出处:站友群 17770150 今天和站友们一起了解dedecms,讲三部分内容: 1.了解dedecms ...

最新文章

  1. 研究显示自动驾驶汽车只能解决三分之一的交通事故
  2. 标准化工作取得新突破 窄带物联网商用指日可待
  3. 关于ssh远程登录时出现问题的解决方法
  4. hdu_5701_中位数计数
  5. Spring-RedisTemplate原理
  6. GIOU loss+DIOU loss+CIOU loss
  7. java怎么查问题,java线上问题排查(日志、资源、代码定位)
  8. php get获取腾讯视频vid,获取腾讯视频源地址链接的方法
  9. frameset常用属性
  10. c#明华rf读卡器_明华URF-R330读卡器C#代码示例
  11. 个人成长(学习方法)
  12. 任意类型变量转换成char类型——sprintf函数使用方法
  13. 不均衡分类问题 之 class weight sample weight
  14. 计算机主板复位电路的组成,教你认识液晶彩电主板中的复位电路
  15. linux串口互斥,UART0串口编程之在UC/OS—II中遭遇的危机
  16. matlab 理想变压器,Simscape Electrical
  17. 1.Hadoop入门
  18. MATLAB的符号运算基础
  19. # java swing,awt图形化界面代码案例合集
  20. python爬虫获取天猫店铺信息(更新到2020年)

热门文章

  1. ELK企业内部日志分析系统(elasticsearch/logstash/beats/kibana)centos7详解
  2. c语言实训报告 需求分析,软件需求实验报告2(软件功能描述与确认)
  3. 【GAMES101】作业4(提高)含Bazier曲线的反走样处理
  4. 对数及对比度拉伸变换
  5. Android-Glide清除缓存图片
  6. 第三种最小生成树算法 Borůvka算法
  7. CSAPP lab2 二进制拆弹 binary bombs phase_5
  8. c语言数据结构实训报告总结,数据结构实训心得
  9. 如何卸载360安全卫士后windows系统启动项里面有360tray
  10. Zabbix5.0监控服务器并设置邮件告警(安装Agent)