割接验证

本文介绍批量助手功能的使用流程,帮助您快速掌握如何使用割接计划功能进行迁移后的割接验证。

支持产品以及验证方法

支持的产品

Count

TopN

SumX

CheckSum

MySQL

获取Table的row数量

获取Table的前n个row并比较

获取Table的指定字段的和

获取Table的校验和

Redis

给定key, 对value利用其size做校验。

给定key, 对value中的N个属性做比较

抽样/选定一定数量(100)个key,比较源端和目标端的value

暂不支持

MongoDB

获取Collection的document数量

获取Collection的前n个document并比较

获取Collection的指定字段的和

暂不支持

ElasticSearch

获取Index中的document数量

获取Index的前n个document并比较

暂不支持

暂不支持

说明

Redis有序结构利用topN做抽样校验,无序结构用Size做比较。

1. 启动Agent

在云迁移中心页面,依次点击割接->割接验证进入产品界面,首次进入会看到Agent在线状态是离线的,因此需要先将Agent在服务器上启动。

image.png

1.1 申请License

首次使用或License过期时需要申请License,点击申请License按钮即可。

image之后,可以在弹窗中对License进行复制。

image

完成后可以看到License的有效时间,若过期再次点击即可。

image

1.2 下载工具包

点击下载Agent工具包,解压后得到三个文件

image.png

image.png

说明

其中agent.jar是运行的jar包,datasource.config是数据源相关配置,start.sh是启动脚本。

1.3 修改数据源配置参数

首先需要打开datasource.config,修改数据源配置:image.png

说明

第一行为源端的相关信息。第二行为目标端的相关信息。每一行共有6个配置项,以英文逗号(,)分隔,其中:

name:数据源的名字,可以自定义去配置,需要保证名字唯一,会在控制台进行展示和选择。

type:数据源的类型,当前仅支持MySQL、Redis、MongoDB、ES(区分大小写)。填写内容参考下面的数据源枚举值。

host:连接的IP地址,用户根据不同的数据源去做不同的配置。

port:端口号。

username:用户名。Redis若没有用户名则可以不填写,需要置为空,不可省略该项。

password:密码。

数据源type枚举值:

支持的数据源类型

MySQL

Redis

MongoDB

ElasticSearch

配置文件中对应的type

MySQL

Redis

MongoDB

ES

1.4 修改脚本

配置好数据源相关的信息之后,需要修改启动脚本start.sh:

java -jar agent.jar
--agent.config_file=datasource.config
--agent.hostPublicAddress=hostPublicAddress
--agent.hostPrivateAddress=hostPrivateAddress 
--agent.license=yourLicense
--access_key=your_access_key
--secret_key=your_secret_key
--endpoint=apds.cn-hangzhou.aliyuncs.com
--server_port=your_port
--region=cn-hangzhou

其中:

  • agent.config_file:配置的是1.2中的数据源配置文件。

  • agent.hostPublicAddress:公网模式配置的是能够直接进行访问的地址,当前仅支持HTTP请求,且包含端口号(格式为:http://111.111.XXX.XXX:8086,这里的端口号要与server_port配置的端口号保持一致)。私网连接模式下,该地址可以为空,但是不能删除该配置项(即保留"--agent.hostPublicAddress= "即可)。

    • Agent所在的ECS安全组打开端口入方向,来源限制出口IP见产品界面管控操作提示。

    • 通过SLB或WAF转发方式暴露到公网。

  • agent.hostPrivateAddress:私网模式地址。在私网连接模式下,agent部署的私网地址,当前仅支持HTTP请求,且包含端口号(格式为:http://192.0.168.XXX:8086,这里的端口号要与server_port配置的端口号保持一致)。在公网连接模式下可以为空,但是不能删除该配置项(即保留"--agent.hostPrivateAddress= "即可)。

  • agent.license:用户在CMH控制台看到的与CMH交互的license凭证。注意,这里的配置必须与在CMH控制台查看的保持一致,否则校验不通过,会导致功能无法正常使用。

  • access_key:用户阿里云账号的AK,需要授权CMH的fullaccess权限策略(AliyunAPDSFullAccess)。

  • secret_key:用户阿里云账号的SK,需要授权CMH的fullaccess权限策略(AliyunAPDSFullAccess)。

  • endpoint: 配置endpoint。默认为中国的apds.cn-hangzhou.aliyuncs.com。如果用户要访问国际站,请将endpoint修改为apds.ap-southeast-1.aliyuncs.com。

  • server_port: 用户自行配置的端口号。默认为8086。这里的端口号与host里面的端口号要保持一致。

  • region:agent部署的地域(如cn-hangzhou,不能为空)。

说明

若使用公网模式连接,则需要配置agent.hostPublicAddress,agent.hostPrivateAddress置为空即可。私网链接反之。

若使用私网连接模式,agent部署机器必须保证能访问到CMH的服务。无论使用私网连接模式还是公网连接模式,agent.hostPublicAddress和agent.hostPrivateAddress配置项都不能同时为空。

1.5 启动服务

注意:agent部署的机器必须保证能够访问到配置的数据源(例如数据库需要给服务器加白等)。

修改完之后执行下列命令,启动服务即可:

sh start.sh

启动之后可以看到服务已经顺利启动,之后在控制台上进行操作即可。

1.6 注意事项

当agent关闭之后,会产生.db的数据库文件,用户需要在下一次启动agent之前删除该文件,否则会出现数据源混淆的问题,从而导致agent不能正常启动,如下图:image.png

需要删除数据库文件删除之后,agent便可以正常启动。

image.png

2.连接网络

完成Agent启动之后,返回CMH控制台,可以看到Agent状态变成了已启动(网络未连接)状态,单击去连接

image

2.1公网连接

在弹出的弹窗中选择公网连接,根据提示在ECS安全组打开端口入方向的IP限制,单击确认按钮即可。

image

连接完成后可以看到agent状态为在线状态。

image

2.2私网连接

说明

当前仅杭州region支持私网连接模式,如您在其他region下有私网连接校验的需求,请您和我们联系。

在弹出的弹窗中,选择私网连接后,单击下一步

image

在第二步,您可以看到CMH提供给您的终端节点服务信息。之后需要您前往VPC控制台(单击前往VPC控制台,)创建反向终端节点(请确保选择的是我们向您提供的终端节点服务)。

image

在跳转的专有网络控制台中,选择反向终端节点,单击创建终端节点

image

完成表单填写,创建终端节点,注意这里选择终端节点服务需要核对是否与CMH控制台中提示的CMH终端节点服务信息一致。

重要

a. 当前仅支持杭州region的私网连接模式,如您在其他region有私网连接进行数据校验的需要,请与我们联系。

b. 在杭州region下,创建反向终端节点时,选择的vswitch一定保证是可用区I。(如您没有满足条件的vswitch,请创建之后重新配置)。

image

创建终端节点之后,请您耐心等待,确保终端节点的状态为可用时再进行下一步。image.png

完成终端节点创建之后,返回CMH控制台,单击下一步按钮,image

选择刚才创建的终端节点,单击确认按钮,首次配置连接时间可能较长,请稍作等待。

image

连接完成后可以看到agent状态为在线状态。

image

3. 创建割接计划

3.1 新建割接计划

完成agent启动和连接网络之后,可以看到agent已经变成在线状态。点击新建割接计划按钮,填写基本信息完成割接计划的创建。

image.png填写完成后,点击确认按钮即可完成创建。image.png

3.2 创建校验任务

点击计划名称进入目标计划的详情页,然后点击新建任务按钮,进行校验任务的创建。

image.png

image.png

或者在创建割接计划时,可以直接点击确认并创建校验任务按钮进行校验任务的创建。

image.png

进行表单填写后点击下一步按钮,目前共支持4种验证方式:Count,CheckSum,SumX,TopN(需要额外填写排序数量N)。

image.png

系统会将选择的源端库中的表解析并展示,选择需要进行数据校验的表后点击下一步。

说明

CMH提供了正向选择(校验选中的表),反向选择(校验选中的表以外的所有表),全部(校验全部表)三种选择方式。

image.png

最后,确认选择的校验表是否符合预期,完成后点击保存按钮,即可完成校验任务的创建。image.png

注意:若选择的是SumX的校验方法,需要在校验范围确认阶段选择验证字段。image.png

若选择的是TopN的校验方法,则需要额外在校验范围确认阶段选择验证字段排序字段。image.png

说明

验证字段:根据所选择的字段进行数据校验。

排序字段:根据验证结果进行排序展示的字段。

3.3 发起校验任务

校验任务创建完成后,可以点击发起验证按钮直接发起所有校验任务。同时也支持勾选后,点击批量发起验证按钮进行部分任务的发起。

image.png

点击发起任务后,任务的状态会置为验证中,等待后刷新页面即可观察到任务的执行结果。

image.png

若发现执行结果不符合预期,支持数据订正之后,点击重新运行任务按钮,重新发起校验。