华为云用户手册

  • 如何确保业务数据库的全部业务已经停止 业务切换时可通过如下方法确保业务数据库的全部业务已经停止: 在源数据库端执行如下语句,查看当前是否还存在有业务连接 。 show processlist; 图1 查看是否存在业务连接 可选:如果源数据库有业务连接,则通过结果中Host列的值来查找对应的业务进程并将其停止。 在源库执行如下语句,查看binlog位置并记录该值(file列取值:position列取值 ),此处将该值记为ckpt1。 show master status; 图2 查看binlog位置 等待30s以上,在源库执行如下语句,查看binlog位置并记录该值(file列取值:position列取值 ),此处将该值记为ckpt2。ckpt1=ckpt2时,表示源数据库业务已基本停写。 show master status; 父主题: 实时迁移
  • 解决方案 方法一:使用主账号重新创建一次任务,主账号默认有Security Administrator权限,可在创建任务后将委托创建出来。 方法二:使用主账号在子账号所在的用户组添加Security Administrator权限后,重新创建任务。添加权限的具体操作请参见:创建用户并授权使用DRS。 方法三:手动添加“账户委托”,添加步骤如下: 使用主账号登录华为云,在右上角单击“控制台”。 在控制台页面,鼠标移动至右上方的账号名,在下拉列表中选择“ 统一身份认证 ”。 在统一身份认证页面,单击左侧导航窗格中“委托”,进入“委托”页面。 在“委托”页面,单击右上方的“创建委托”进行委托创建。 填写委托名称为“DRS_AGENTCY” ,委托类型为 “普通账号”时, 委托的账号为 “op_svc_rds”;委托类型为“云服务”时,选择“关系型数据库MySQL”;持续时间为“永久”,完成后单击“完成”。 图1 创建委托 在“选择策略”页面,选择DRS_AGENTCY的授权策略,委托权限需配置全局的 Tenant Administrator,完成后单击右下角的“下一步”。 图2 选择策略 在“设置最小授权范围”页面,先选择全局服务资源授权后,再基于指定区域设置最小授权范围,完成后单击右下角的“确定”。 图3 全局服务资源授权 图4 指定区域项目授权 授权完成后,单击委托名称,在“授权记录”中可看到全局服务和指定区域两条授权记录。 图5 授权记录 权限生效时间提醒,您选中的OBS权限由于系统设计的原因,授权后需等待15-30分钟才可生效,权限生效后重新创建即可。
  • 本地数据库实时迁移 网络准备: 源数据库的网络设置: 本地MySQL数据库迁移至本云云数据库 RDS for MySQL的场景,一般可以使用VPN网络和公网网络两种方式进行迁移,您可以根据实际情况为本地MySQL数据库开放公网访问或建立VPN访问。一般推荐使用公网网络进行迁移,该方式下的数据迁移过程较为方便和经济。 目标数据库的网络设置: 若通过VPN访问,请先开通VPN服务,确保源数据库MySQL和目标端本云云数据库 RDS for MySQL的网络互通。 若通过公网网络访问,本云云数据库 RDS for MySQ L实例 不需要进行任何设置。 安全规则准备: 源数据库的安全规则设置: 若通过公网网络进行迁移,源数据库MySQL需要将DRS迁移实例的弹性公网IP添加到其网络白名单内,使源数据库与本云的网络互通。在设置网络白名单之前,需要获取DRS迁移实例的弹性公网IP,具体方法如下: DRS迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的弹性公网IP。 若通过VPN网络进行迁移,源数据库MySQL需要将DRS迁移实例的私有IP添加到其网络白名单内,使源数据库与本云的网络互通。DRS迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的私有IP。 以上白名单是为了进行迁移针对性设置的,迁移结束后可以删除。 目标数据库安全规则设置: 目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库。 设置目标数据库所在VPC的安全组,确保DRS实例IP的出方向到本地数据数据库的IP、监听端口放通。具体设置如下图所示: 图2 出口规则
  • E CS 自建数据库实时迁移 网络准备: 源数据库所在的region要和目标端本云云数据库 RDS for MySQL实例所在的region保持一致。 源数据库可以与目标端本云云数据库 RDS for MySQL实例在同一个VPC,也可以不在同一个VPC。 当源库和目标库处于同一个VPC时,网络默认是互通的。 当不在同一个VPC的时候,要求源数据库实例和目标端本云云数据库 RDS for MySQL实例所处的子网处于不同网段,此时需要通过建立对等连接实现网络互通。具体建立VPC对等连接的方法,可参考《虚拟私有云用户指南》。 安全规则准备: 同一VPC场景下,默认网络是连通的,不需要单独设置安全组。 不同VPC场景下,通过建立对等连接就可以实现网络互通,不需要单独设置安全组。
  • 排查iptables设置 以源数据库为本云ECS自建数据库为例,如果在上述的操作后,仍无法连通,此时需要额外排查iptables设置,因为HOSTGUARD服务在DRS发起频繁连接请求失败时,会将请求IP加入黑名单中。 登录弹性云服务器。 执行以下命令,排查是否有DENY相关的项目包含DRS实例的IP,一般项目名称为IN_HIDS_MYSQLD_DENY_DROP 。 iptables --list 如果存在,执行以下命令,查询iptables入方向规则列表,获取具体规则编号(line-numbers)。 iptables -L INPUT --line-numbers 执行以下命令,删除DRS实例的IP相关的入方向规则(注意:必须从后往前删,不然line-numbers会更新,需要重新查询)。 iptables -D 规则项目名 具体规则编号 删除相关iptables规则后重新进行测试连接即可。
  • 跨云数据库实时迁移 网络准备。 源数据库需要开放公网访问。 源数据库的网络设置: 源数据库MySQL实例需要开放外网 域名 的访问。 以阿里云云数据库RDS MySQL迁移到本云云数据库 RDS for MySQL为例,一般情况下,阿里云RDS MySQL不提供外网地址,需要通过申请外网地址来允许外部的应用对接,具体的操作及注意事项可以参考源数据库所在云提供的相关指导。 目标数据库的网络设置: 目标数据库默认与DRS迁移实例处在同一个VPC内,网络是互通的,不需要进行任何设置。 安全规则准备。 源数据库的安全规则设置: 源数据库MySQL实例需要将DRS迁移实例的弹性公网IP添加到其网络白名单中,确保源数据库MySQL实例可以与上述弹性公网IP连通。 以上讲述的是精细配置白名单的方法,还有一种简单设置白名单的方法,在安全允许的情况下,可以将源数据库MySQL实例的网络白名单设置为0.0.0.0/0,代表允许任何IP地址访问该实例。 上述的网络白名单是为了进行数据迁移设置的,迁移结束后可以删除。 目标数据库安全规则设置: 目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库。 设置目标数据库所在VPC的安全组,确保DRS实例IP的出方向到本地数据数据库的IP、监听端口放通。具体设置如下图所示: 图1 出口规则
  • 目标数据库所在安全组 目标数据库所在VPC安全组入方向规则需要放DRS实例IP和目标数据库自身的端口,允许DRS实例通过端口访问。 在RDS的“实例管理”页面,单击目标实例名称。 进入“基本信息”页签,在“连接信息”模块下,单击安全组。 进入安全组基本信息页,选择“入方向规则”页签。 单击“添加规则”进行配置。 目标数据库所在VPC安全组入方向规则需要放DRS实例IP和目标数据库自身的端口(IP地址和端口只要包含DRS的IP和自身的端口即可)。
  • 源数据库所在安全组 源数据库所在VPC安全组入方向规则需要放DRS实例IP和源数据库自身的端口,允许DRS实例通过端口访问。 在RDS的“实例管理”页面,单击目标实例名称。 进入“基本信息”页签,在“连接信息”模块下,单击安全组。 进入安全组基本信息页,选择“入方向规则”页签。 单击“添加规则”进行配置。 源数据库所在VPC安全组入方向规则需要放DRS实例IP和源库自身的端口(IP地址和端口只要包含DRS的IP和自身的端口即可)。
  • DRS实例所在安全组设置 DRS实例所在VPC安全组出方向规则需要放通源数据库和目标数据库的IP、端口,允许DRS实例访问安全组外的数据库。 在任务列表中,单击DRS任务名称。 进入“基本信息”页签,在“实例信息”模块下,单击内网安全组。 进入安全组基本信息页,选择“出方向规则”页签。 单击“添加规则”进行配置。 DRS实例所在VPC安全组出方向规则需要放通源数据库和目标数据库的IP、端口(IP地址和端口只要包含目标数据库和源数据库的IP和端口即可)。
  • MySQL 为了确保用户数据库成功迁移到本云关系型数据库MySQL实例,创建迁移任务时, 数据复制服务 自动为目标数据库实例创建drsFull和drsIncremental临时账户,任务结束后,数据复制服务会自动删除这两个账户。 禁止使用用户自建的drsFull和drsIncrementa账号作为DRS任务连接数据库的账号。 删除、重命名和修改这些账户的密码和权限,会导致任务出错。 表1 MySQL实例创建的数据库账户 账户 使用场景 Host 说明 drsFull 全量迁移 关系型数据库MySQL实例 用户启动全量迁移任务时,系统会在目标数据库中添加该账户,用于迁移数据。 drsIncremental 增量迁移 关系型数据库MySQL实例 用户启动增量迁移任务时,系统会在目标数据库中添加该账户,用于迁移数据。
  • 数据复制服务是否支持关系型数据库的HA实例迁移 数据复制服务的高可用性保障机制,可以支持关系型数据库的单实例和HA实例的迁移。针对HA实例的迁移,DRS的自动重连技术在连接短暂中断后连接可以得到修复,断点续传技术,根据数据库内部连续性标志可以确保实时同步的连续性和一致性。 源数据库的HA设计,满足浮动IP连接效果,且倒换时RPO=0,则DRS完全支持数据库的HA实例迁移,无需人工介入。 源数据库的HA设计,不能满足浮动IP连接且倒换时RPO=0时,存在以下几种情况: 使用浮动IP,但不能保证倒换时RPO=0时,可以连接,但DRS会识别出数据断层(如果有主备倒换出现数据丢失的话)并提示任务失败,此时只能根据新的数据情况,使用重置功能重新迁移。 使用固定IP,且倒换时RPO=0时,支持迁移(只有在实例正常运行的情况下支持迁移,否则不支持)。 使用固定IP,且不能保证切换时RPO=0时, 可以连接,但DRS会识别出数据断层并提示任务失败,此时只能根据新的数据情况,使用重置功能重新迁移。 出云迁移且目标端数据库为HA实例时,DRS可以保证源的数据完整的迁移到目标数据库,但由于目标数据库本身的倒换不能保证RPO=0,则目标数据库可能会出现数据断层的情况。 父主题: 产品咨询
  • 如何判断数据迁移任务可以停止 您可参考以下方法,确认任务是否可以结束。结束之前您需要确认完成以下几点: 请您确认至少在业务低峰期有过一次完整的数据对比。 完成业务割接。 先中断业务(如果业务负载非常轻,也可以尝试不中断业务)。 在源数据库端执行如下语句(此处以MySQL为例),并观察在1-5分钟内若无任何新会话执行SQL ,则可认为业务已经完全停止。 show processlist; 上述语句查询到的进程列表中,包括DRS迁移实例的连接,您需要确认除DRS迁移实例的连接外无任何新会话执行SQL,即可认为业务已经完全停止。 同步时延为0,并稳定保持一段时间;同时,您可以使用数据级对比功能,进行割接前的最后一次数据级对比,耗时可参考之前的对比记录。 如果时间允许,则选择全部对比。 如果时间不允许,则推荐对比活跃表,关键业务表,第二步对比多次存在差异的表等。 确定系统割接时机,业务系统指向目标数据库,业务对外恢复使用。 结束迁移任务,该操作仅删除了迁移实例,迁移任务仍显示在任务列表中,您可以进行查看或删除。 父主题: 实时迁移
  • 录制回放 录制回放是指将源数据库发生的真实业务流量,在目标数据库模拟执行,从而观察和检验目标数据库的功能和性能表现。 录制回放主要分为录制、回放两个阶段,录制过程是从源数据库上将所需时间段内的全部SQL原语句(包括增、删、改、查)通过binlog下载、录制工具等进行采集,以文件形式缓存起来,并往目标数据库注入模拟数据,等待用户执行回放;用户可以在DRS任务上手工触发回放,观察目标数据库的性能表现。 常用场景: 数据库搬迁前,通过录制回放可以提前得知源业务在目标数据库的运行效果。 通过控制录制回放的线程及回放速度,来模拟源业务流量放大的效果,从而分析目标数据库对于未来业务激增时的稳定性表现。 图6 录制回放
  • 实时迁移 实时迁移是指在数据复制服务能够同时连通源数据库和目标数据库的情况下,只需要配置迁移的源、目标数据库实例及迁移对象即可完成整个数据迁移过程,再通过多项指标和数据的对比分析,帮助确定合适的业务割接时机,实现最小化业务中断的数据库迁移。 实时迁移支持多种网络迁移方式,如:公网网络、VPC网络、VPN网络和专线网络。通过多种网络链路,可快速实现跨云平台数据库迁移、云下数据库迁移上云或云上跨区域的数据库迁移等多种业务场景迁移。 特点:通过增量迁移技术,能够最大限度允许迁移过程中业务继续对外提供使用,有效的将业务系统中断时间和业务影响最小化,实现数据库平滑迁移上云,支持全部数据库对象的迁移。 图1 实时迁移
  • 实时同步 实时同步是指在不同的系统之间,将数据通过同步技术从一个数据源拷贝到其他数据库,并保持一致,实现关键业务的数据实时流动。 实时同步不同于迁移,迁移是以整体数据库搬迁为目的,而实时同步是维持不同业务之间的数据持续性流动。 常用场景:实时分析,报表系统,数仓环境。 特点:实时同步功能聚焦于表和数据,并满足多种灵活性的需求,例如多对一、一对多,动态增减同步表,不同表名之间同步数据等。 图3 多对一实时同步
  • 添加标签 在“录制回放管理”界面,选中指定回放任务,单击任务名称,进入“基本信息”页面。 在左侧导航栏,单击“标签”。 在“标签”页签单击“编辑标签”,在“编辑标签”弹出框中,单击“添加新标签”,输入标签的键和值,,然后单击“确定”。 输入标签的键和值时,系统会自动联想当前用户的所有实例(除当前实例外)的所有关联的预定义标签。 标签的键不能为空且必须唯一,长度为1~128个字符,可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格,且不能以_sys_开头。 标签的值可以为空字符串,长度为0~255个字符,可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格。 添加成功后,您可在当前任务的所有关联的标签集合中,查询并管理自己的标签。
  • 操作场景 标签管理服务(Tag Management Service,TMS)用于用户在云平台,通过统一的tag标签管理各种资源。TMS服务与各服务共同实现标签管理能力,TMS提供全局标签管理能力,各服务维护自身标签管理 。当用户资源较多时,可通过不同的标签标识和查找任务。 建议您先在TMS系统中设置预定义标签。 标签由“键”和“值”组成,每个标签中的一个“键”只能对应一个“值”。 每个实例最多支持20个标签配额。
  • 使用须知 为了确保录制回放任务各个阶段的平顺,在创建任务前,请务必阅读以下使用须知。 表2 使用须知 类型名称 使用和操作限制 任务启动前须知 源数据库要求: 目前仅支持源数据库为RDS for MySQL。 源数据库已完成SQL流量文件录制,RDS for MySQL录制方式可参考开启SQL审计日志。 目标数据库要求: 目前仅支持目标数据库为TaurusDB。 目前仅支持目标数据库版本等于或高于源数据库版本。 目标数据库已构建基线数据,基线数据应尽量还原源数据库录制流量文件时的真实状态,基线数据越接近,录制回放越真实。 流量文件要求: 流量文件SQL内容包含内容分隔符时,可能存在解析异常导致任务回放失败。 流量文件必须保证全量SQL结构完整,如果用户提供的审计日志中SQL被截断,可能会出现解析异常的情况。 流量文件单条SQL大小不能超过1MB。 事务中穿插了其他语句可能会导致死锁。 其他使用须知: 源数据库和目标数据库的配置参数不一致(例如:innodb_buffer_pool_size,sqlmode等),可能会导致回放进度慢或失败等情况。 再编辑操作如果删除或者新增了流量文件,需要在重置任务时勾选解析重置,再重新进行回放,可参考重置回放任务。 流量回放过程为并发执行,DDL语句和DML语句在同一个batch(10s)内,可能存在顺序打乱执行的情况。 解析阶段须知 解析文件选择完成后,不支持文件重命名操作。 回放阶段须知 回放SQL类型要求:目前仅支持SELECT、INSERT、DELETE、UPDATE、DDL。 结束任务须知 已结束的任务无法再次启动。
  • 使用须知 为了确保录制回放任务各个阶段的平顺,在创建任务前,请务必阅读以下使用须知。 表2 使用须知 类型名称 使用和操作限制 任务启动前须知 源数据库要求: 目前支持源数据库为自建MySQL或者其他云MySQL(如RDS,POLARDB等),可以开启并能够导出审计日志或者洞察日志的实例。 源数据库已完成SQL流量文件录制,并且上传到华为云OBS桶内,DRS任务从OBS桶获取相应的流量文件。 目标数据库要求: 目前仅支持目标数据库为TaurusDB。 目标数据库已构建基线数据,基线数据应尽量还原源数据库录制流量文件时的真实状态,基线数据越接近,录制回放越真实。 流量文件要求: 流量文件SQL内容包含内容分隔符(例如:^^)时,可能存在解析异常导致任务回放失败。 流量文件必须保证全量SQL结构完整,如果用户提供的审计日志中SQL被截断,可能会出现解析异常的情况。 流量文件单条SQL大小不能超过1MB。 事务中穿插了其他语句可能会导致死锁。 上传的流量文件仅支持.gz和.zip的压缩格式。 其他使用须知: 源数据库和目标数据库的配置参数不一致(例如:innodb_buffer_pool_size,sqlmode等),可能会导致回放进度慢或失败等情况。 再编辑操作如果删除或者新增了流量文件,需要在重置任务时勾选解析重置,再重新进行回放,可参考重置回放任务。 流量回放过程为并发执行,DDL语句和DML语句在同一个batch(10s)内,可能存在顺序打乱执行的情况。 解析阶段须知 解析文件选择完成后,不支持文件重命名操作。 回放阶段须知 回放SQL类型要求:目前仅支持SELECT、INSERT、DELETE、UPDATE、DDL。 结束任务须知 已结束的任务无法再次启动。
  • 使用须知 为了确保录制回放任务各个阶段的平顺,在创建任务前,请务必阅读以下使用须知。 表2 使用须知 类型名称 使用和操作限制 任务启动前须知 源数据库要求: 目前支持源数据库为自建MySQL或者其他云MySQL(如RDS,POLARDB等),可以开启并能够导出审计日志或者洞察日志的实例。 源数据库已完成SQL流量文件录制,并且上传到华为云OBS桶内,DRS任务从OBS桶获取相应的流量文件。 目标数据库要求: 目前仅支持目标数据库为RDS for MySQL。 目前仅支持目标数据库版本等于或高于源数据库版本。 目标数据库已构建基线数据,基线数据应尽量还原源数据库录制流量文件时的真实状态,基线数据越接近,录制回放越真实。 流量文件要求: 流量文件SQL内容包含内容分隔符时,可能存在解析异常导致任务回放失败。 流量文件必须保证全量SQL结构完整,如果用户提供的审计日志中SQL被截断,可能会出现解析异常的情况。 流量文件单条SQL大小不能超过1MB。 事务中穿插了其他语句可能会导致死锁。 上传的流量文件仅支持.gz和.zip的压缩格式。 其他使用须知: 源数据库和目标数据库的配置参数不一致(例如:innodb_buffer_pool_size,sqlmode等),可能会导致回放进度慢或失败等情况。 再编辑操作如果删除或者新增了流量文件,需要在重置任务时勾选解析重置,再重新进行回放,可参考重置回放任务。 流量回放过程为并发执行,DDL语句和DML语句在同一个batch(10s)内,可能存在顺序打乱执行的情况。 解析阶段须知 解析文件选择完成后,不支持文件重命名操作。 回放阶段须知 回放SQL类型要求:目前仅支持SELECT、INSERT、DELETE、UPDATE、DDL。 结束任务须知 已结束的任务无法再次启动。
  • 支持的数据库类型 目前,DRS录制回放支持的数据库类型,如下表所示。 表1 回放方案 源数据库类型和版本 目标数据库类型和版本 相关文档 RDS for MySQL RDS for MySQL MySQL到MySQL(本云) TaurusDB MySQL到TaurusDB(本云) TaurusDB TaurusDB TaurusDB到TaurusDB(本云) ECS自建MySQL 本地自建MySQL 其他云上MySQL RDS for MySQL MySQL到MySQL(入云) TaurusDB MySQL到TaurusDB(入云)
  • 源为其他云回放方案概览 DRS支持将其他云数据库(例如AWS的RDS for MySQL、Aurora for MySQL)中的数据回放至华为云数据库(例如云数据库RDS for MySQL)中。 表2 回放方案 源数据库云厂商 源数据库类型 目标数据库(华为云) 相关文档 AWS RDS for MySQL RDS for MySQL MySQL到MySQL AWS RDS for MySQL TaurusDB MySQL到TaurusDB AWS Aurora for MySQL RDS for MySQL MySQL到MySQL AWS Aurora for MySQL TaurusDB MySQL到TaurusDB 阿里云 RDS MySQL RDS for MySQL MySQL到MySQL 阿里云 RDS MySQL TaurusDB MySQL到TaurusDB 阿里云 PolarDB MySQL RDS for MySQL MySQL到MySQL 阿里云 PolarDB MySQL TaurusDB MySQL到TaurusDB 腾讯云 TDSQL-C MySQL RDS for MySQL MySQL到MySQL 腾讯云 TDSQL-C MySQL TaurusDB MySQL到TaurusDB
  • 使用须知 为了确保录制回放任务各个阶段的平顺,在创建任务前,请务必阅读以下使用须知。 表2 使用须知 类型名称 使用和操作限制 任务启动前须知 源数据库要求: 目前仅支持源数据库为TaurusDB。 源数据库已开启全量SQL功能,TaurusDB全量SQL方式可参考开启全量SQL,开启全量SQL会对源数据库性能产生影响,请评估影响后再进行开启。 目标数据库要求: 目前仅支持目标数据库为TaurusDB。 目标数据库已构建基线数据,基线数据应尽量还原源数据库录制流量文件时的真实状态,基线数据越接近,录制回放越真实。 流量文件要求: 由于TaurusDB之前版本全量SQL文件格式不统一,当前支持TaurusDB2.0.8.3-2.0.28.15版本,以及后续发布的补丁版本2.0.28.xx系列全量SQL的解析。 TaurusDB默认全量SQL记录的最大为4KB,针对单条大小超过默认值的SQL,需参考修改参数模板修改rds_sql_tracer_max_record_size参数,避免超过默认值的SQL没有记录,导致的无法回放。 流量文件SQL内容包含内容分隔符(例如:^^)时,可能存在解析异常导致任务回放失败。 流量文件必须保证全量SQL结构完整,如果用户提供的审计日志中SQL被截断,可能会出现解析异常的情况。 流量文件单条SQL大小不能超过1MB。 事务中穿插了其他语句可能会导致死锁。 其他使用须知: 源数据库和目标数据库的配置参数不一致(例如:innodb_buffer_pool_size,sqlmode等),可能会导致回放进度慢或失败等情况。 再编辑操作如果删除或者新增了流量文件,需要在重置任务时勾选解析重置,再重新进行回放,可参考重置回放任务。 流量回放过程为并发执行,DDL语句和DML语句在同一个batch(10s)内,可能存在顺序打乱执行的情况。 解析阶段须知 解析文件选择完成后,不支持文件重命名操作。 回放阶段须知 回放SQL类型要求:目前仅支持SELECT、INSERT、DELETE、UPDATE、DDL。 结束任务须知 已结束的任务无法再次启动。
  • 任务状态说明 录制回放提供了多种任务状态,以便区分不同阶段的任务。 录制回放任务的状态和说明,请参见表1。 表1 录制回放任务状态和说明 状态 说明 创建中 正在创建数据复制服务需要用到的录制回放实例。 配置 回放实例创建成功,但还没有启动任务,可以继续配置任务。 等待启动 已经下发了定时启动任务到回放实例上,等待回放实例启动任务。 启动中 正在启动回放任务。 启动失败 录制回放任务启动失败。 解析中 正在解析流量文件。 回放中 正在进行录制回放。 回放失败 流量数据回放到目标数据库失败。 回放完成 所选择的流量文件的SQL已经全部回放到了目标数据库。 结束任务 释放该回放实例和资源。 结束任务失败 释放回放任务所使用的实例和资源失败。 已结束 回放任务所使用的实例释放成功。 对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。 已删除的回放任务在状态列表中不显示。 对于回放完成状态的任务,用户可以通过编辑操作新增流量文件,修改任务配置信息后重新进行回放。 已结束任务,不能做状态转移的操作并且任务报告已经清理。 父主题: 任务生命周期
  • 操作步骤 在“录制回放管理”界面,选中指定回放任务,单击任务名称。 在“录制回放日志”页签选择“运行日志”,查看当前任务的运行日志。 图1 查看录制回放日志 图2 运行日志 除此以外,DRS支持对接 云日志 服务(Log Tank Service,简称LTS),进行LTS日志配置后,DRS实例新生成的所有日志记录会上传到云日志服务进行管理,详情可参考日志配置管理。 在“录制回放日志”页签选择“操作日志”,查看当前灾备任务的操作日志。 图3 操作日志
  • 查询回放进度 在“录制回放管理”界面,选中指定回放任务,单击任务名称,进入“基本信息”页面。 单击“回放进度”页签,查看任务进度。 回放进度模块中,您可以查看任务状态、启动时间、SQL总量以及已回放SQL数量等信息。 录制回放统计图支持选择查看某一时间段内的SQL总量、执行量、异常量以及慢SQL数量情况。 录制回放异常SQL模块中,展示回放异常的SQL对象分类及数量。 慢SQL模块支持查看SQL原始和回放耗时。 执行SQL模块展示回放过程中正在目标库运行的SQL情况。 图1 回放进度
  • 下载导出报告 对于回放过程中的异常的SQL和慢SQL,DRS支持下载和导出。 在“录制回放管理”界面,选中指定回放任务,单击任务名称,进入“基本信息”页面。 单击“回放进度”页签,可查看任务进度。 在“回放进度”的录制回放异常SQL和慢SQL模块,可对当前任务的报告进行下载。 单击“录制回放异常SQL”或“慢SQL”模块右侧的,进行报告导出。 在弹出对话框中选择导出字段后,单击“导出”。 图2 导出报告 导出完成后,可单击下载报告。 图3 下载报告
  • 使用须知 为了确保录制回放任务各个阶段的平顺,在创建任务前,请务必阅读以下使用须知。 表2 使用须知 类型名称 使用和操作限制 任务启动前须知 源数据库要求: 目前仅支持源数据库为RDS for MySQL。 源数据库已完成SQL流量文件录制,RDS for MySQL录制方式可参考开启SQL审计日志。 目标数据库要求: 目前仅支持目标数据库为RDS for MySQL。 目前仅支持目标数据库版本等于或高于源数据库版本。 目标数据库已构建基线数据,基线数据应尽量还原源数据库录制流量文件时的真实状态,基线数据越接近,录制回放越真实。 流量文件要求: 流量文件SQL内容包含内容分隔符时,可能存在解析异常导致任务回放失败。 流量文件必须保证全量SQL结构完整,如果用户提供的审计日志中SQL被截断,可能会出现解析异常的情况。 流量文件单条SQL大小不能超过1MB。 事务中穿插了其他语句可能会导致死锁。 其他使用须知: 源数据库和目标数据库的配置参数不一致(例如:innodb_buffer_pool_size,sqlmode等),可能会导致回放进度慢或失败等情况。 再编辑操作如果删除或者新增了流量文件,需要在重置任务时勾选解析重置,再重新进行回放,可参考重置回放任务。 流量回放过程为并发执行,DDL语句和DML语句在同一个batch(10s)内,可能存在顺序打乱执行的情况。 解析阶段须知 解析文件选择完成后,不支持文件重命名操作。 回放阶段须知 回放SQL类型要求:目前仅支持SELECT、INSERT、DELETE、UPDATE、DDL。 结束任务须知 已结束的任务无法再次启动。
  • 响应示例 状态码:200 成功响应。 { "id" : "1", "name" : "流程开发应用服务器组", "description" : "XXX公司 软件开发应用服务器组。", "image_id" : "a6ea73e0-9f4b-11ec-b909-0242ac120002", "os_type" : "windows", "product_id" : "workspace.x86.general.xlarge2", "subnet_id" : "0ddf778f-c0fe-4717-9251-001caee7c95e", "system_disk_type" : "SSD", "system_disk_size" : 10, "is_vdi" : false, "extra_session_type" : "CPU", "extra_session_size" : 1, "app_type" : "SESSION_DESKTOP_APP", "create_time" : "2022-03-07T10:40:43.858Z", "update_time" : "2022-03-07T10:40:43.858Z", "storage_mount_policy" : "ANY", "enterprise_project_id" : "0", "primary_server_group_ids" : [ "string" ], "secondary_server_group_ids" : [ "string" ], "server_group_status" : false, "site_type" : "CENTER", "site_id" : "ae985216-83fa-46b6-ab03-a36dcb3dd05a", "app_server_flavor_count" : "1", "app_server_count" : "1", "app_group_count" : "1", "image_name" : "Huawei cloud EulerOs 1.0 64bit", "product_info" : { "product_id" : "workspace.appstream.general.2xlarge.4", "flavor_id" : "c3.large.4", "type" : "BASE", "architecture" : "x86", "cpu" : 2, "cpu_desc" : "云应用通用型|4核|8GB内存。", "memory" : 4096, "is_gpu" : false, "system_disk_type" : "SAS", "system_disk_size" : 80, "gpu_desc" : "GPU图形加速", "descriptions" : "GPU图形加速DG4型|32核128G内存32G显存|P02", "charge_mode" : 1, "contain_data_disk" : false, "resource_type" : "hws.resource.type.xxxx.vm", "cloud_service_type" : "hws.service.type.xxxxx", "volume_product_type" : "workspace", "sessions" : 2, "status" : "string", "cond_operation_az" : "cn-north-5a(normal),cn-north-5b(abandon),cn-north-5c(sellout)", "sub_product_list" : [ "xxx", "xxxx" ], "domain_ids" : [ "xxx", "xxxx" ], "package_type" : "general", "expire_time" : "2022-03-07T10:40:43Z", "support_gpu_type" : "A40" }, "subnet_name" : "string", "scaling_policy" : { "enable" : true, "max_scaling_amount" : 10, "single_expansion_count" : 1, "scaling_policy_by_session" : { "session_usage_threshold" : 85, "shrink_after_session_idle_minutes" : 60 } }, "tags" : [ { "key" : "demo01", "value" : "01" } ], "ou_name" : "wksappusers", "flavors" : [ { "id" : "asdfjkl-2131f-xxx-123123", "links" : [ { "rel" : "", "hrel" : "" } ] } ], "project_name" : "default", "image_min_disk" : "10", "route_policy" : { "max_session" : 2, "cpu_threshold" : 85, "mem_threshold" : 85 }, "image_product_id" : "string", "image_type" : "string", "ip_virtual" : { "enable" : false } }
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 id String 服务器组的唯一标识。 name String 服务器组名称。 description String 服务器组描述。 image_id String 服务器组关联的镜像ID,用于创建对应组下的云服务器。 os_type String 系统类型,当前仅支持Windows。 Linux - Windows - Other - product_id String 产品id。 subnet_id String 网卡对应的子网ID。 system_disk_type String 磁盘类型,获取可用磁盘类型详见接口磁盘管理ListVolumeType。 ESSD - 极速型SSD SSD - 超高IO GPSSD - 通用型SSD SAS - 高IO SATA - 普通IO system_disk_size Integer 磁盘容量,单位GB。 is_vdi Boolean 是否为vdi单会话模式。 extra_session_type String 付费会话类型: GPU - GPU规格会话。 CPU - 普通CPU规格会话。 extra_session_size Integer 付费会话个数。 app_type String 服务器组应用类型: SESSION_DESKTOP_APP - 会话桌面app COMMON_APP - 普通app create_time String 服务器组创建时间。 update_time String 服务器组更新时间。 storage_mount_policy String 用户访问APS的应用时,对应NAS存储目录在APS上的挂载策略。 USER - 仅挂载个人目录。 SHARE - 仅挂载共享目录。 ANY - 挂载目录不做限制(个人和共享NAS存储目录都会自动挂载)。 enterprise_project_id String 企业项目ID(0表示默认企业项目Id)。 primary_server_group_ids Array of strings 主服务器组id列表。 secondary_server_group_ids Array of strings 备服务器组id列表。 server_group_status Boolean 服务器是否处于启用状态,true表示处于启用状态 false表示处于禁用状态。 site_type String 站点类型 - CENTER/IES。 site_id String 站点id。 app_server_flavor_count Integer 服务器配置总数量。 app_server_count Integer 服务器总数量。 app_group_count Integer 关联应用组的总数量。 image_name String 镜像名称。 product_info ProductInfo object 产品规格信息。 subnet_name String 子网名称。 scaling_policy ScalingPolicy object 弹性伸缩策略。 tags Array of TmsTag objects 标签信息。 ou_name String 默认组织名称。 flavors Array of Flavor objects 服务器规格列表。 project_name String 项目名称。 image_min_disk Integer 镜像运行的最小内存,单位为MB,默认设置为0。 route_policy RoutePolicy object 服务器组的路由策略。 image_product_id String 镜像的产品id。 image_type String 镜像类型。 ip_virtual IpVirtual object 虚拟IP功能选项。 表4 ProductInfo 参数 参数类型 描述 product_id String 产品id。 flavor_id String 规格ID。 type String 产品类型: BASE:表示产品基础套餐,套餐镜像中不包括除操作系统之外的其他商业软件,私有镜像场景只能使用此类套餐。 ADVANCED:表示产品高级套餐,套餐镜像中包括了一些商业软件。 architecture String 产品架构,当前仅支持x86。 x86 arm cpu String CPU。 cpu_desc String CPU描述。 memory String 内存大小,单位兆:M。 is_gpu Boolean 是否是GPU类型的规格。 system_disk_type String 系统盘类型。 system_disk_size String 系统盘大小。 gpu_desc String GPU描述。 descriptions String 产品描述。 charge_mode String 套餐标识。 1:表示包周期。 0:表示按需。 contain_data_disk Boolean 套餐计费是否包含了数据盘。 resource_type String 资源类型。 cloud_service_type String 云服务类型。 volume_product_type String 磁盘产品类型。 sessions Integer 套餐默认支持的最大会话数。 status String 产品套餐在销售模式下的状态,取值自ECS的cond:operation:status。 不配置时等同于normal在售状态。 normal - 正常商用 abandon - 下线(即不显示) sellout - 售罄 obt - 公测 obt_sellout - 公测售罄 promotion - 推荐(等同normal,也是商用) cond_operation_az String 产品套餐在可用区的状态,配套status使用。 说明: 此参数是AZ级配置,优选取此参数的值,某个AZ没有在此参数中配置时默认使用status参数的取值。 配置格式“az(xx)”。()内为某个AZ的flavor状态,()内必须要填有状态,不填为无效配置。 例如:套餐在某个region的az0正常商用,az1售罄,az2公测,az3正常商用,其他az显示下线,可配置为: “status”设置为:“abandon” 。 “cond_operation_az”设置为:“az0(normal), az1(sellout), az2(obt), az3(normal)”。 说明:如果flavor在某个AZ下的状态与status配置状态不同,必须配置该参数。 sub_product_list Array of strings 专属主机的子产品。 domain_ids Array of strings 产品属于专有的domainId。 package_type String 套餐类型: general:表示产品通用套餐。 dedicated:表示产品专属主机套餐。 expire_time String 产品套餐过期时间,产品将在改时间点后逐步下架。 support_gpu_type String 产品套餐支持的GPU类型。 表5 ScalingPolicy 参数 参数类型 描述 enable Boolean 是否启用策略,默认启用: 'true': 启用 'false': 禁用 max_scaling_amount Integer 最大扩容数量。 single_expansion_count Integer 单次扩容数量。 scaling_policy_by_session ScalingPolicyBySession object 基于会话的弹性策略。 表6 ScalingPolicyBySession 参数 参数类型 描述 session_usage_threshold Integer 分组的总会话使用率(达到该阈值后扩容)。 shrink_after_session_idle_minutes Integer 给定时间内无会话连接的的实例进行释放。 表7 TmsTag 参数 参数类型 描述 key String 键。最大长度128个unicode字符。 可用 UTF-8 格式表示的字母(包含中文、西班牙语、葡语等)、数字和空格,以及以下字符: _ . : = + - @。 两头不能有空白字符。 value String 值。每个值最大长度255个unicode字符。 可用 UTF-8 格式表示的字母(包含中文、西班牙语、葡语等)、数字和空格,以及以下字符: _ . : = + - @。 表8 Flavor 参数 参数类型 描述 id String 服务器对应的规格ID。 links Array of FlavorLink objects 服务器对应规格的相关标记快捷链接信息。 表9 FlavorLink 参数 参数类型 描述 rel String 快捷链接标记名称。 hrel String 对应快捷链接。 表10 RoutePolicy 参数 参数类型 描述 max_session Integer 单台服务器最大的链接会话数。 cpu_threshold Integer cpu使用率阈值,单位为%。 mem_threshold Integer 内存使用率阈值,单位为%。 表11 IpVirtual 参数 参数类型 描述 enable Boolean 是否启用虚拟IP功能。 启用虚拟IP功能将占用额外的ip地址,注意合理规划网络ip数量。 约束: 只支持windows镜像。 只支持在创建服务器组时设置功能开关,不支持更新功能开关。 只支持具备dhcp动态分配ip能力的网络。 状态码:400 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码:401 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码:403 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码:404 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码:405 表16 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码:500 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码:503 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全