很多时候如何将服务器迁移到阿里云的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 | 支持 |
需要使用到的产品:
可连接公网的 物理机、虚拟机、公有云 服务器
通过本文你将讲学到:
教程中以腾讯云 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 源码:
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 | 是 | 为您的服务器镜像设定一个镜像名称,该名称不能与同一地域下现有镜像名重复。
|
system_disk_size | int | 是 | 为系统盘指定大小,单位为 GB。取值范围:
|
platform | String | 否 | 源服务器的操作系统。取值范围:
platform 的取值需要与以上列表保持一致,必须区分大小写,并保持空格一致。 |
architecture | String | 否 | 系统架构。取值范围:
|
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...
就表示我们迁移已经完成了。
然后在快照列表就可以看到,创建的这个快照:
当然最终我们还是要用这个快照创建的自定义镜像来进行ECS的创建。
我这个架构本身就很简单,基本上只要能打得开 Nginx 就行,其他的复杂架构可能需要详细检测一下是否可以运行。
海河云平台为客户提供丰富的IT基础资源,包括云服务器、云数据库、负载均衡、专有网络、弹性公网IP以及云监控等多款云产品。通过友好的可视化UI界面轻松管理云资源。按需付费,无需押金,包年包月的购买方式,协助客户快速部署应用,业务轻松上云。