实践概述
本次文章,分享迁移上云的思路及具体实践。核心是使用rsync工具将源机器迁移至阿里云中。
一. 场景描述
以杭州地域模拟线下 IDC,使用 ECS+云盘模拟本地存储数据,上海地域模拟阿里
云,使用 ECS+NAS 模拟云上数据存储。通过 rsync 的方式,将数据从阿里云 NAS 迁移
到线下 IDC,并确保在迁移时候不影响现有业务。
二. 应用场景
l 云上 NAS 数据迁移至线下 IDC(为本次测试场景)
l 线下 IDC 数据迁移至云上 NAS
l 云上NAS 之间数据跨地域公网迁移
三. 方案架构
1. 测试资源准备
资源列表如下:
2. 使用 Rsync 进行数据迁移
2.1 跨地域网络联通确认
步骤 1 登录 ECS 控制台,分别设置两台服务器的安全组规则,使这两台 ECS 互相之间公网全放行。
步骤2 测试两台机器之间的任意端口的连通性。
2.2 源端 ECS 挂载 NAS
步骤 1 登录 NAS 管理控制台。(https://nasnext.console.aliyun.com/overview)
步骤 2 在 NAS 文件系统页面,单击文件系统列表,找到资源创建时候创建的 NAS。
步骤 3 点击管理,进入 NAS 文件系统,点击通过命令行挂载到 ECS,查看配置命令。
步骤 4 登陆前面已创建的上海地域 ECS,安装 nfs-utils,按上步说明执行安装 NFS
和优化内核参数命令。
步骤 5 NFS 安装完成后,执行 NAS 的挂载命令,需提前手动创建挂载目录,执行
mkdir -p /data
步骤 6 查看 NAS 挂载状态。
2.3 目标端 ECS 挂载云盘
步骤 1 登录杭州 ECS,查看实例上的数据盘信息。
步骤 2 分区格式化数据盘,完成挂载后如下图所示。
参考文档:https://help.aliyun.com/document_detail/25426.html
2.4 配置 Rsync 和 Sersync
rsync **工具介绍**
一个远程数据同步工具,可在本地及远程主机之间的同步。相比于 scp 主要有以下优点:
l 传输前会进行检测,跳过最终修改时间戳和文件大小一致的文件
l 传输前会对数据进行压缩
l 支持断点续传
sersync **工具介绍**
一个基于 inotify 开发类似于 inotify-tools 的工具。它可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使
用 rsync 同步的时候,只同步发生变化的文件或者目录。
rsync+sersync 架构的优点:
l sersync 可以记录被监听目录中发生变化的(增,删,改)具体某个文件或目录的名字;
l rsync 在同步时,只同步发生变化的文件或目录(每次发生变化的数据相对整个同步目录数据来说很小,rsync 在遍历查找对比文件时速度很快),因此效率很高。
操作步骤
步骤 1 上海 ECS 安装 sersync
参考连接:https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz(64 位系统)
下载解压后改名为 sersync,其中 confxml.xml 为配置文件,修改配置文件:
只需要修改如图配置即可,inotify 模块为监控模块。具体参考:
sersync 配置
https://www.cnblogs.com/sdifens/p/11804490.html
及使用 rsync 账号密码进行匹配
配置完成后创建密码认证目录 rsync.passwd,里面填写 rsync 的密码。注意权限为 600
最后启动sersync:
/usr/local/sersync/sersync2 -n 3 -r -d -o /usr/local/sersync/confxml.xml
-n 3:为启动进程数 -r: 在监控前,将监控目录与远程主机用 rsync 命令推送一遍 -d: 启用守护进程模式 -o: 指定配置文件,默认使用 confxml.xml 文件
步骤 2 杭州 ECS 安装 rsync
安装命令:yum -y install rsync
修改配置文件:vim /etc/rsyncd.conf
hosts allow 该参数允许指定一个用于匹配连接客户端的主机名和 IP 地址的模式列表。
当没有模式匹配时将拒绝连接
[tongbu] #模块名称
path = /mnt/ #需要备份的文件路径
auth users = rsync2 #自定义连接该模块的用户名,多个用户用逗号分隔
secrets file = /etc/rsync.passwd #指定一个包含“用户名:密码”格式的文件,该密码需与前面 sersync 配置中设置的用户名和密码保持一致
启动 rsync 命令:
rsync —daemon —config=/etc/rsyncd.conf
步骤 3 配置 zabbix 自定义监控,监控进程是否存在。(可选)
步骤 4 查看目的目录是否有文件写入
2.5 数据完整性验证
操作步骤
步骤 1 验证文件容量是否一致
源(上海 ECS):
目的(杭州 ECS):
步骤 2 查看文件数是否一致
源(上海 ECS):
目的(杭州 ECS):
迁移完成。
四.总结
实验rsync工具迁移是最经典最常见的迁移方法之一,改操作的好处是稳定,成熟,学习成本低。但缺点是只是迁移文件,而如果是不同的配置和系统的服务器,驱动方面无法支持迁移,特别是一些比较老的机型。所以改方式比较适用于文件类型的迁移,而如果要较为完善的迁移服务器及自动化迁移则,推荐使用阿里云的smc工具迁移。