摘要:

很多时候如何将服务器迁移到阿里云的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 的两个验证迁移准确性的文件。

准备

安装基础库

一、 安装基础必备软件 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),取值参阅 help.aliyun.com/document_de…l" 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,该值不能小于数据盘实际使用空间大小。

关于数据盘的内容请参考: help.aliyun.com/document_de… 所以,我就可以创建出一个配置文件为:

{"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... 就表示我们迁移已经完成了。

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

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

检测

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

原文链接

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

  1. 【云计算的1024种玩法】10分钟轻松设置出 A+ 评分的 HTTP/2 网站

    前言 其实 HTTP/2 应该是 2015 年的老话题了(2015 年 5 月 14 日 HTTP/2 协议正式版的发布),但是 2018 年都到了很多网站依旧没有使用,作为新一代互联网协议,HTTP ...

  2. 【云计算的1024种玩法】自己搭游戏服务器:我的世界Minecraft

    <我的世界>(Minecraft)是一款风靡全世界的 沙盒游戏.玩家可以独自一人或与朋友们一起自由冒险,探索随机生成的世界,创造令人惊叹的奇迹. 玩游戏当然少不了一台"游戏机&q ...

  3. 【云计算的1024种玩法】打造个人专属网盘

    作为一个学生,需要经常看文献,积累知识,可是论文多了以后就有了论文保存和分类的相关问题.因此需要一个个人网盘存储论文,这样就可以做到通过在线登录个人网盘,实现对网盘文档的在线阅读和管理. 然而在自己的 ...

  4. 【云计算的1024种玩法】轻松将其他云的对象储存迁移至阿里云OSS

    前言 当使用了像 OSS.S3 这样的开放对象储存的 PaaS 产品后,一面上体验到了网站核心同附件库分离的安全性.高性能以及免维护的便利性,一面上却又怕在一个厂家的对象储存上扎根了就无法迁移,会被厂 ...

  5. 【云计算的1024种玩法】回忆经典,用虚拟主机重建复古DZ和无心宠物

    前言 在移动互联网和大型网游没有普及前,很多地方论坛或者专业性论坛都会有一个 -- "无心宠物" 插件来引流和吸引用户,可以说是当下网页游戏的老前辈了.还记得我以前就是为了玩这个游 ...

  6. 【云计算的1024种玩法】云端打造家庭文件备份中心

    摘要: 其实ECS的用途其实非常广泛,不仅仅是用于建设网站,这里介绍的就是使用ECS打造家庭文件备份中心. 我们这里使用的软件是Syncthing,其所有的信息通讯都会用TLS进行加密,Syncthi ...

  7. 【云计算的1024种玩法】一.半小时轻松搭建属于自己的Discuz论坛

    半小时轻松搭建属于自己的Discuz论坛 简介: 操作步骤: 一.远程到创建的服务器内部 1.使用远程工具登陆到服务器中 二.安装WEB服务-Apache 2.1 安装Apache服务 2.2 启动h ...

  8. 【Microsoft Azure 的1024种玩法】十五.通过Web浏览器对Auzre VM 服务器运维管理

    [简介] Apache Guacamole是无客户端远程桌面网关.它支持标准协议,例如VNC,RDP和SSH.我们称其为无客户端,因为不需要插件或客户端软件.多亏了HTML5,在服务器上安装了鳄梨调味 ...

  9. 【Microsoft Azure 的1024种玩法】二十六. 在Azure VM中手动部署Windows Admin Center管理平台

    [简介] Windows Admin Center是微软开发的一套可以部署在本地基于浏览器的GUI的工具集平台,其平台可用于管理Windows相关服务器和PC机器,我们可以利用Windows Admi ...

最新文章

  1. 计算机调查取证分析篇
  2. String与List类型互转
  3. 速学c++(1)-c++简介
  4. 预告 | 旷视天元的前世今生与移动端推理优化@清华专场
  5. linux下修改mac
  6. ConcurrentHashMap的源码分析-put方法第四个阶段
  7. 已知一个特殊字符的 unicode 编码值,如何在 ABAP 里打印出这个特殊字符?
  8. Cloud for Customer手机应用的deviceready事件是何时何处被抛出的
  9. MAUI中Maui.Graphics.Controls绘制控件
  10. 光端机使用与日常保养
  11. 基础 | 零散的MySql基础记不住,看这一篇就够啦
  12. python编程--通过单纯形法和scipy库实现线性规划以及通过拉格朗日来求解非线性
  13. java语言操作Oracle数据库中的CLOB数据类型
  14. ubuntu16.04下ROS操作系统学习笔记(三 / 三)ROS基础-实现分布式通信
  15. [POJ2104] 区间第k大数 [区间第k大数,可持久化线段树模板题]
  16. Shell 脚本执行错误 $‘\r‘:command not found
  17. 网络设备自动化运维工具——ansible入门笔记
  18. 在JavaFX中使用JxBrowser-Using JxBrowser in JavaFX
  19. C++fseek函数
  20. 小程序毕设作品之微信积分商城小程序毕业设计成品(7)中期检查报告

热门文章

  1. 创建数据库时指定编码方式
  2. 第四课 CSS核心知识点
  3. FreeSWITCH IVR中lua调用并执行nodejs代码
  4. VSFTPD的虚拟用户管理配置
  5. 这些年,还是一个人~
  6. 浅议 JavaScript 的 Promises/Futures 模式
  7. 对SQLSERVER进行性能监控
  8. 搭建rtx服务并客户端登录
  9. linux 下 vi 块编辑
  10. 崇拜的Unix大牛,记录之。