华为云用户手册

  • 约束与限制 回收站中的按需实例不会收取实例的费用,但是会收取存储空间的费用。 包年/包月的实例退订后会存入回收站中,此时不会收取实例的费用,但是会按需收取存储空间的费用。 包年/包月的实例从回收站中恢复后,计费模式会变为按需计费。 处于宽限期和保留期的实例,删除/退订后,实例不会进入回收站中,会被彻底删除。 回收站功能仅在“华北-北京一”、“华北-乌兰察布一”、“华北-北京四”、“华东-上海一”、“华东-上海二”、“华南-广州”、“中国-香港”、“亚太-曼谷”和“亚太-新加坡”上线。
  • 约束与限制 当Topic中的数据量比较大时,单副本Topic查询消息可能会报“内部服务错误”,建议根据数据量适当减小查询时间范围。 使用消息内容或KEY查询消息时,由于查询资源和性能限制,最大搜索范围为10000条消息且所有消息的总大小不超过200MB,最多返回满足查询要求的前10条消息。 在所有分区查询消息时,由于查询资源和性能限制,最多返回500条数据。在单分区查询消息时,没有此限制。 控制台只能展示4KB以内的消息,超过4KB的消息,请单击“下载消息”,下载到本地查看消息完整的内容。
  • 添加标签 在“实时迁移管理”页面,选择指定的实时迁移任务,单击任务名称进入“基本信息”页签。 在左侧导航栏,单击“标签”。 在“标签”页签单击“编辑标签”,在“编辑标签”弹出框中,单击“添加新标签”,输入标签的键和值,,然后单击“确定”。 输入标签的键和值时,系统会自动联想当前用户的所有实例(除当前实例外)的所有关联的预定义标签。 标签的键不能为空且必须唯一,长度为1~128个字符,可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格,且不能以_sys_开头。 标签的值可以为空字符串,长度为0~255个字符,可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格。 添加成功后,您可在当前任务的所有关联的标签集合中,查询并管理自己的标签。
  • 操作场景 标签管理服务(Tag Management Service,TMS)用于用户在云平台,通过统一的tag标签管理各种资源。TMS服务与各服务共同实现标签管理能力,TMS提供全局标签管理能力,各服务维护自身标签管理 。当用户资源较多时,可通过不同的标签标识和查找任务。 建议您先在TMS系统中设置预定义标签。 标签由“键”和“值”组成,每个标签中的一个“键”只能对应一个“值”。 每个实例最多支持20个标签配额。
  • MySQL数据库操作 在MySQL迁移过程中,常见的迁移用户一般分为三类:可完整迁移的用户、需要降权的用户和不可迁移的用户。 可完整迁移的用户:可完整迁移的用户指满足目标数据库权限要求的用户,该类用户在进行迁移时不需要做任何处理,系统默认会将对应的数据库用户权限迁移至目标数据库。 需要降权处理的用户:需要降权的用户指具有不满足目标数据库权限要求的部分高权限的用户,比如具有:super、file、shutdown等高权限的用户。该类用户在进行迁移时需要进行降权处理,否则会导致迁移失败。 对于该类账号不支持的高权限,将会由DRS自动进行降权处理,您可以通过单击备注列的“查看”按钮查看具体的降权处理信息,依据该信息,可以帮助您评估降权是否对其业务程序造成相关影响。 不可迁移的用户:不可迁移的用户指由于某些原因,DRS不支持该类数据库用户的迁移。该类账号将在目标数据库中缺失,请先确保业务不受该类账号影响。同时,任务启动后,所有针对该类账号进行的权限密码操作,将会导致增量迁移失败。 您可以根据业务需求选择“迁移”或者“不迁移”这些用户,当您选择“迁移”数据库用户时,可以选择部分迁移,也可以选择全部迁移。可按照如下操作步骤进行数据库用户、权限和密码的处理,此处以勾选所有可以迁移的数据库用户为例。 迁移用户模块主要由账号名称、账号权限和账号密码三部分构成。 一般账号名称的组成格式为:'账号名'+@+'host',其中host表示具体允许访问源端数据库的目标库IP地址,您可以根据具体的业务场景选择是否需要修改账号的host地址,对目标库IP进行重规划。 host地址可在如下图所示的输入框中进行修改即可。源库为MySQL 8.0时,不建议修改host地址。 图1 修改host地址 账号权限一般默认不可修改,对于支持迁移的账号(可完整迁移的用户和需要降权的用户),系统也将默认支持对应用户权限的迁移。 迁移成功后,存储在目标数据库中的对应用户(需要降权的用户)是经过降权处理的用户。 图2 账号权限 DRS支持数据库用户密码的迁移。 数据库用户密码的迁移可通过如下两种方式来处理。 由于DRS在迁移时不会分析您的密码数据和强度,源系统密码复杂度过弱则存在安全风险,为了确保迁移过程中数据的安全性,您可以根据业务需求,选择是否需要重新设置数据库用户密码,通过设置较高的密码复杂度来持续保护数据库。 方式一:密码迁移。 图3 密码迁移 您可以选择在迁移的过程中,直接迁移源数据库系统当前的密码,此时不需要通过勾选“重置密码”来设置新密码。数据库用户密码迁移至目标库后,您如果担心用户密码强度较弱,为了确保数据库的安全性,此时也可以选择在目标库端重新设置强度较高的源系统密码。 方式二:重置密码。 图4 重置密码 如上图所示,您可以通过勾选“重置密码”选择立即重新设置源系统密码后再继续进行用户密码迁移。 您可以选择某个指定支持迁移的用户,在“输入密码”列直接设置新密码或者选择所有支持迁移的用户,勾选右下角“统一输入密码”,批量将所选用户密码设置为相同的密码,以便快速完成迁移。使用批量方法设置的密码,待迁移成功后,可以在目标数据库端通过执行DDL语句,进行密码重置。 对于需要降权处理的用户和不支持迁移的用户,在备注列的查看详情中会提示具体的原因,您需要单击对应用户备注列的“查看”,确认详情后才可进行下一步操作。如果存在多个需要查看备注详情的用户,您也可以单击“确认所有备注”按钮,一键查看备注信息。 图5 查看备注信息 数据库用户已存在是不支持迁移到目标数据库的常见情形,此时您可以根据实际情况,决定是否需要删除目标端已存在的数据库用户,并单击“刷新”按钮,刷新当前数据库迁移用户的分类。 以上重新设置的密码强度必须满足目标数据库的密码复杂度要求。
  • MongoDB数据库操作 在MongoDB数据库迁移过程中,常见的迁移用户一般分为两类:可迁移的用户和不可迁移的用户。 您可以根据业务需求选择“迁移”或者“不迁移”这些用户,当您选择迁移数据库用户时,需要按照如下操作步骤进行数据库用户及角色的处理。 迁移用户模块主要由账号名称、账号角色两部分构成。 对于可支持迁移的用户或者角色,您可以根据业务需求选择需要迁移的账号及角色。 如果所选迁移的账号依赖于某些角色,需要同时迁移该账号和所依赖的角色,否则会导致迁移失败。 图6 选择迁移用户 对于不支持迁移的用户或者角色,在备注列的查看详情中会提示具体的原因,您需要单击对应用户备注列的“查看”,确认详情后才可进行下一步操作。如果存在多个需要查看备注详情的用户,您也可以单击“确认所有备注”按钮,一键查看备注信息。 图7 查看备注信息
  • 源为其他云迁移方案概览 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 Azure Database for MySQL RDS for MySQL 将MySQL迁移到MySQL Azure Database for MySQL TaurusDB 将MySQL迁移到TaurusDB Google Cloud SQL for MySQL RDS for MySQL 将MySQL迁移到MySQL Google Cloud SQL 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 腾讯云 TencentDB for MySQL RDS for MySQL 将MySQL迁移到MySQL 腾讯云 TencentDB for MySQL TaurusDB 将MySQL迁移到TaurusDB 腾讯云 TDSQL-C MySQL RDS for MySQL 将MySQL迁移到MySQL 腾讯云 TDSQL-C MySQL TaurusDB 将MySQL迁移到TaurusDB
  • 支持的数据库类型 目前,DRS实时迁移支持的源数据库和目标数据库类型,如下表所示。 表1 迁移方案 源数据库类型 目标数据库类型 迁移类型 相关文档 本地自建MySQL数据库 E CS 自建MySQL数据库 其他云上MySQL数据库 RDS for MySQL RDS for MySQL 全量数据迁移 全量+增量数据迁移 将MySQL迁移到MySQL(入云) DDM 全量数据迁移 全量+增量数据迁移 将MySQL迁移到DDM TaurusDB 全量数据迁移 全量+增量数据迁移 将MySQL迁移到TaurusDB RDS for MySQL 本地自建MySQL数据库 ECS自建MySQL数据库 其他云上MySQL数据库 全量数据迁移 全量+增量数据迁移 将MySQL迁移到MySQL(出云) 本地自建Mongo数据库 ECS自建Mongo数据库 其他云上Mongo数据库 DDS DDS 全量数据迁移 全量+增量数据迁移 将MongoDB迁移到DDS 本地自建Mongo数据库 ECS自建Mongo数据库 其他云上Mongo数据库 GeminiDB Mongo 全量数据迁移 全量+增量数据迁移支持以下方式: 副本集到副本集 副本集到集群 集群到集群 将MongoDB迁移到GeminiDB Mongo DDS 本地自建Mongo数据库 ECS自建Mongo数据库 其他云上Mongo数据库 全量数据迁移 全量+增量数据迁移 将DDS迁移到MongoDB DDM DDM 全量数据迁移 全量+增量数据迁移 将MySQL分库分表迁移到DDM 本地自建官方开源单机或主备Redis数据库 ECS自建官方开源单机或主备Redis数据库 GeminiDB Redis 全量数据迁移 全量+增量数据迁移 将Redis单机/主备迁移到GeminiDB Redis 本地自建官方Redis开源集群 ECS自建官方Redis开源集群 GeminiDB Redis 全量+增量数据迁移 将Redis集群迁移到GeminiDB Redis GeminiDB Redis 本地自建开源Codis ECS自建开源Codis 本地自建Redis单机/主备 ECS自建Redis单机/主备 GeminiDB Redis 全量+增量数据迁移 将GeminiDB Redis迁移到Redis单机/主备 本地自建Redis集群 ECS自建Redis集群 全量+增量数据迁移 将GeminiDB Redis迁移到Redis集群
  • MySQL 8.0版本 表3 MySQL8.0参数列表 参数名称 参数类型 是否需要重启数据库 connect_timeout 常规参数 否 event_scheduler 常规参数 否 innodb_lock_wait_timeout 常规参数 否 max_connections 常规参数 否 net_read_timeout 常规参数 否 net_write_timeout 常规参数 否 explicit_defaults_for_timestamp 常规参数 否 innodb_flush_log_at_trx_commit 常规参数 否 max_allowed_packet 常规参数 否 tx_isolation 常规参数 否 character_set_client 常规参数 否 character_set_connection 常规参数 否 collation_connection 常规参数 否 character_set_results 常规参数 否 binlog_cache_size 性能参数 否 binlog_stmt_cache_size 性能参数 否 bulk_insert_buffer_size 性能参数 否 innodb_buffer_pool_size 性能参数 否 innodb_buffer_pool_instances 性能参数 是 key_buffer_size 性能参数 否 long_query_time 性能参数 否 query_cache_type 性能参数 否 read_buffer_size 性能参数 否 read_rnd_buffer_size 性能参数 否 sort_buffer_size 性能参数 否 sync_binlog 性能参数 否
  • MySQL 5.6版本 表1 MySQL5.6参数列表 参数名称 参数类型 是否需要重启数据库 connect_timeout 常规参数 否 event_scheduler 常规参数 否 innodb_lock_wait_timeout 常规参数 否 max_connections 常规参数 否 net_read_timeout 常规参数 否 net_write_timeout 常规参数 否 explicit_defaults_for_timestamp 常规参数 是 innodb_flush_log_at_trx_commit 常规参数 否 max_allowed_packet 常规参数 否 tx_isolation 常规参数 否 character_set_client 常规参数 否 character_set_connection 常规参数 否 collation_connection 常规参数 否 character_set_results 常规参数 否 collation_server 常规参数 否 binlog_stmt_cache_size 性能参数 否 bulk_insert_buffer_size 性能参数 否 innodb_buffer_pool_size 性能参数 是 innodb_buffer_pool_instances 性能参数 是 key_buffer_size 性能参数 否 long_query_time 性能参数 否 query_cache_type 性能参数 是 read_buffer_size 性能参数 否 read_rnd_buffer_size 性能参数 否 sort_buffer_size 性能参数 否 sync_binlog 性能参数 否
  • MySQL 5.7版本 表2 MySQL5.7参数列表 参数名称 参数类型 是否需要重启数据库 connect_timeout 常规参数 否 event_scheduler 常规参数 否 innodb_lock_wait_timeout 常规参数 否 max_connections 常规参数 否 net_read_timeout 常规参数 否 net_write_timeout 常规参数 否 explicit_defaults_for_timestamp 常规参数 否 innodb_flush_log_at_trx_commit 常规参数 否 max_allowed_packet 常规参数 否 tx_isolation 常规参数 否 character_set_client 常规参数 否 character_set_connection 常规参数 否 collation_connection 常规参数 否 character_set_results 常规参数 否 binlog_cache_size 性能参数 否 binlog_stmt_cache_size 性能参数 否 bulk_insert_buffer_size 性能参数 否 innodb_buffer_pool_size 性能参数 否 innodb_buffer_pool_instances 性能参数 是 key_buffer_size 性能参数 否 long_query_time 性能参数 否 query_cache_type 性能参数 否 read_buffer_size 性能参数 否 read_rnd_buffer_size 性能参数 否 sort_buffer_size 性能参数 否 sync_binlog 性能参数 否
  • 注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考DRS预检查项一览表。除了预检查项目之外,您还需要注意的事情如表4所示 表4 注意事项 类型名称 使用和操作限制 源数据库限制 源数据库不能是GeminiDB Mongo实例。 源数据库的库名不能包含/\."$和空格,集合名和视图名中不能包含$字符或以system.开头。 多个源数据库迁移到同一个目标数据库时,所选的待迁移数据库的库名不能重复。 副本集:MongoDB数据库的副本集实例状态必须正常,要存在主节点。 单节点类型实例的增量迁移目前仅支持源库为文档数据库单节点实例。 使用限制 通用: 整个迁移过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 整个迁移过程中,不允许对正在迁移中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。 整个迁移过程中,不支持源数据库主备切换导致数据回滚的情况。 整个迁移过程中,不支持insert、update源库大于16MB的文档。 整个迁移过程中,源数据库不允许手动执行sh.moveChunk()操作,否则将导致迁移数据不一致。 全量迁移阶段: 任务启动和全量数据迁移阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 增量迁移阶段: 选择集合迁移时,增量迁移过程中不建议对集合进行重命名操作。 为保证迁移的性能,任务增量阶段,会集合级的进行并发回放。特殊地,以下情况只支持单线程写入,不支持并发回放: 集合的索引中有unique key时; 集合属性的capped为true时; 这种情况可能会导致任务时延增高。 数据对比: 建议在源库的业务低峰期进行数据比对,防止误报不一致数据,以及减少对源库和DRS任务的冲击。 在增量同步过程中做对比时,源库若存在写入,则对比结果可能不一致。 行对比时,集群实例如果存在孤儿文档或者正在进行chunk迁移,会导致返回的行数不准确,对比结果不一致。详细情况可参考MongoDB官方文档。 常见故障排查: 在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考“故障排查”章节进行排查。 其他限制 源数据库为非集群实例时,增量迁移阶段支持如下操作: 支持数据库(database)新建、删除。 支持文档(document)新增、删除、更新。 支持集合(collection)新建、删除。 支持索引(index)新建、删除。 支持视图(view)新建,删除。 支持convertToCapped、collMod、renameCollection命令。 源库是集群实例时,集群到集群、集群到副本集的全量+增量迁移,全量阶段和增量阶段,不允许对迁移对象做删除操作,否则会导致任务失败。 源库实例类型选择集群的Change Streams(MongoDB 4.0+)模式时,DRS内部迁移使用MongoDB特性Change Streams。使用该模式应注意以下几个方面: Change Streams订阅数据过程会消耗源数据库一定量的CPU,内存资源,请提前做好源数据库资源评估。 受MongoDB Change Streams自身性能影响,如果源库的负载比较大,Change Streams会出现处理速度无法跟上Oplog产生速度,进而导致DRS同步出现时延。 Change Streams目前仅支持drop database,drop collection,rename的DDL,其他DDL均不支持。 不支持DBPointer和DBRef数据类型。 增量阶段单表最多支持10000条/秒左右的迁移速度。 Change Streams模式目前仅支持白名单用户使用。 源库实例类型选择集群的Oplog模式时,DRS会根据“源端分片个数”创建多个子任务。如果选择任务限速,设置的限流值会同步给每个子任务。 对于在源数据库已经存在TTL索引的集合,或者在增量迁移期间在源库数据创建了TTL索引的集合,由于源数据库和目标库数据库时区,时钟的不一致,不能保证迁移完成之后数据的一致性。 压缩参数block_compressor的取值,根据源库对应集合的stats().wiredTiger.creationString.block_compressor来决定,如果目标库已经存在对应的空集合,则不迁移压缩参数;特殊的,对于不支持的压缩参数,按照目标库实例的net.compression.compressors参数决定。当目标库为DDS 4.2版本时,由于目标库不支持压缩参数的设置,DRS不迁移压缩参数。 对于用户和角色的迁移,DRS冲突策略为忽略,即迁移的用户和角色与目标数据库冲突时,将跳过冲突数据,继续进行后续迁移。 如果源数据库的MongoDB服务不是单独部署的,而是和其他的服务部署在同一台机器,则必须要给源数据库的wiredTiger引擎加上cacheSizeGB的参数配置,建议值设为最小空闲内存的一半。 如果源数据库是副本集,则建议填写所有的主节点和备节点信息,以防主备切换影响迁移任务。如果填写的是主备多个节点的信息,注意所有的节点信息必须属于同一个副本集实例。 如果源数据库是集群,则建议填写多个mongos信息,以防单个mongos节点故障影响迁移任务。如果填写的是多个mongos信息,注意所有的mongos信息必须属于同一个集群。如果是集群的增量迁移任务,建议shard信息填写所有的主节点和备节点,以防主备切换影响迁移任务,并且注意所填写的主备信息必须属于同一个shard。确保填写的所有shard节点信息必须隶属于同一个集群。 非全部迁移场景下,为防止drop database操作删除目标库已有的集合,drop database不会同步到目标库。 源库是MongoDB 3.6以下版本(不含3.6)时,执行drop database会导致源库删除集合但目标库没有删除。 源库是MongoDB 3.6及以上版本(含3.6)时,drop database 操作在oplog中会体现为drop database 和drop collection操作,所以目标库也会删除相应集合,不会出现问题。 为了提高迁移的速度,在开始迁移之前,建议在源数据库删掉不需要的索引,只保留必须的索引。在迁移过程中不建议对源库创建索引,如果必须要创建索引,请使用后台的方式创建索引。 为了防止回环,不支持在相同的源和目标库同时启动入云和出云任务。
  • 通用使用建议 在使用DRS前,您需要了解: DRS支持从数据库同版本或低版本到高版本的迁移,不支持从高版本迁移到低版本。 数据库迁移与环境多样性和人为操作均有密切关系,为了确保迁移的平顺,建议您在进行正式的数据库迁移之前进行一次演练,可以帮助您提前发现问题并解决问题。 如果您使用的是全量迁移模式,确保源和目标数据库无业务写入,保证迁移前后数据一致。如果您使用的是全量+增量迁移模式,支持在源数据库有业务数据写入的情况下进行迁移。 DRS任务启动和全量数据迁移阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 全量阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。 迁移无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。 正在迁移的数据被其他事务长时间锁死,可能导致读数据超时。 由于MySQL固有特点限制,CPU资源紧张时,存储引擎为Tokudb的表,读取速度可能下降至10%。 DRS并发读取数据库时,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。 在网络无瓶颈的情况下,全量迁移会对源数据库增加约50MB/s的查询压力,以及占用2~4个CPU。 更多DRS对数据库的影响,可参考DRS对源数据库和目标数据库有什么影响。 建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰期,相对静止的数据可以有效提升一次性迁移成功率,避免迁移对业务造成性能影响。如果迁移不可避免业务高峰期,推荐使用迁移限速功能,即“流速模式”选择“限速”。 如果涉及多对一迁移场景,您需要了解: 创建多对一迁移任务时,目标库读写设置需要跟已有任务设置为一致。可参考多对一的场景约束及操作建议。 数据迁移完成后,您需要了解 迁移完成后,建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。 父主题: 附录
  • 操作步骤 在“实时迁移管理”页面,单击左上角“批量导入任务”。 在“批量导入任务”对话框中,单击“下载模板”。 图1 批量导入任务 编辑下载的Excel模板,按照要求填写任务信息。 填写完成后,单击“添加文件”,完成模板上传。 待上传并校验成功后,单击“确定”提交创建任务。 DRS不会保存上传的Excel文件,只针对内容进行解析。 任务创建后,数据库的IP地址或 域名 、数据库用户名和密码,会被系统加密暂存,直至删除该任务后自动清除。
  • 任务状态说明 实时迁移提供了多种任务状态,以便区分不同阶段的迁移任务。 数据实时迁移任务的状态和说明,请参见表1。 表1 实时迁移任务状态和说明 状态 说明 创建中 正在创建 数据复制服务 需要用到的迁移实例。 创建任务失败 创建实时迁移实例失败。 配置 迁移实例创建成功,但还没有启动任务,可以继续配置任务。 冻结 账户余额小于或等于0元,系统对该用户下的实例进行冻结。 等待启动 已经下发了定时启动迁移任务到迁移实例上,等待迁移实例启动任务。 启动中 正在启动迁移任务。 启动失败 实时迁移任务启动失败。 全量迁移 正在进行源数据库到目标数据库的全量迁移任务。 全量迁移失败 实时迁移任务全量迁移失败。 增量迁移 持续进行从源数据库到目标数据库的增量数据迁移。 增量迁移失败 增量数据迁移失败。 故障恢复 迁移实例发生故障,系统自动恢复迁移任务。 克隆中 正在进行迁移任务克隆。 克隆失败 克隆迁移任务失败。 已暂停 实时迁移任务已暂停。 结束任务 释放执行迁移任务所使用的迁移实例和资源。 结束任务中 正在释放迁移任务所使用的迁移实例和资源。 结束任务失败 释放迁移任务所使用的迁移实例和资源失败。 已结束 释放迁移任务所占迁移实例成功。 对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。 已删除的迁移任务在状态列表中不显示。 父主题: 任务生命周期
  • 操作步骤 在“实时迁移管理”界面,选中指定迁移任务,单击任务名称,进入“基本信息”页面。 单击“迁移进度”页签,查看迁移进度。 查看结构、数据、索引的迁移的百分比进度。 “全量迁移”模式:当全量迁移完成时,显示全量迁移各项指标完成进度100%。 “全量+增量”迁移模式:全量迁移完成后,开始进行增量迁移可,在“迁移进度”页签下,查看增量迁移同步时延。 图1 迁移进度总览 增量迁移时延也可在“实时迁移管理”界面查看,当增量时延超过用户设置或系统默认的时延阈值时,任务管理界面增量时延显示为红色。 时延 = 源库当前系统时间 - 成功同步到目标库的最新一个事务在源库的提交成功时间。 一个事务同步的完整过程如下: 源端数据库的抽取; 经过网络的传输; 由DRS进行日志解析; 最终在目标数据库上的执行完成。 这样完成了事务从源到目标的同步,时延为该事务最后在目标数据库上执行完成时的源库当前系统时间(current_time)与该事务在源库的提交成功时间(committed_time)的时间差,时延为0代表源和目标瞬时一致,无新的事务需要同步。 长时间未提交事务和频繁DDL操作均可以造成高时延。 查看迁移对象的进度。在“进度明细”下,单击目标迁移对象“详细信息”列的“查看详情”,查看对象的迁移进度。 目前MySQL为源迁移链路在增量阶段会展示迁移进度明细,该明细只是全量阶段迁移数据和跳过结构的展示,不支持更新。其他链路在进入增量迁移后,进度明细数据将不再显示,您可以使用“迁移对比”页签,进行一致性对比。 图2 迁移进度明细 跳过迁移对象。在迁移对象“详细信息”列的“查看详情”中,可以单击对象操作列的“跳过并重启”跳过迁移对象。 目前实时迁移支持MySQL为源链路在全量迁移阶段跳过迁移对象。 支持跳过类型包含database、function、procedure、table_indexs、table_structure、view、trigger、event、account。 跳过操作会使任务重启续传,如果任务处于暂停或异常状态,确认跳过后,任务将被会重新启动。 如果任务处于全量迁移状态,可能出现跳过前已完成对象迁移的情况,此时的跳过操作将会失效。 跳过对象成功后,如果后续迁移过程中仍有关联该对象的操作,可能出现对象不存在导致任务失败情况。例如跳过table_structure后,在迁移该表的索引和数据时,会出现对象不存在导致任务失败情况。 跳过对象成功后,会导致对比结果不一致。 跳过无主键表的table_structure会导致数据不一致,还可能出现表不存在导致任务失败的情况,请确认后再进行操作。 跳过无主键表后出现表不存在导致DRS任务失败时,请先联系目标库运维工程师根据源数据库表结构和日志报错信息在目标库创建对应的表,然后单击任务对应操作列的“续传”,重新提交任务。 查看读写数据性能。单击“监控图表”查看读写数据性能,该图表展示了实时读取源库和写入目标库数据的速率,其单位为MB/s。 图3 性能监控
  • 操作步骤 在“实时迁移管理”界面,选中指定迁移任务,单击任务名称。 在“迁移日志”页签选择“运行日志”,查看当前迁移任务的运行日志,可以根据“级别”筛选查看内容。 图1 查看迁移日志 您可查看到日志对应的时间,级别和描述。 除此以外,DRS支持对接 云日志 服务(Log Tank Service,简称LTS),进行LTS日志配置后,DRS实例新生成的所有日志记录会上传到云日志服务进行管理,详情可参考日志配置管理。 在“迁移日志”页签选择“操作日志”,查看当前迁移任务的操作日志。 图2 操作日志
  • 操作场景 标签管理服务(Tag Management Service,TMS)用于用户在云平台,通过统一的tag标签管理各种资源。TMS服务与各服务共同实现标签管理能力,TMS提供全局标签管理能力,各服务维护自身标签管理 。当用户资源较多时,可通过不同的标签标识和查找任务。 建议您先在TMS系统中设置预定义标签。 标签由“键”和“值”组成,每个标签中的一个“键”只能对应一个“值”。 每个实例最多支持20个标签配额。
  • 添加标签 在“实时灾备管理”页面,选择指定的灾备任务,单击任务名称进入“基本信息”页签。 在左侧导航栏,单击“标签”。 在“标签”页签单击“编辑标签”,在“编辑标签”弹出框中,单击“添加新标签”,输入标签的键和值,,然后单击“确定”。 输入标签的键和值时,系统会自动联想当前用户的所有实例(除当前实例外)的所有关联的预定义标签。 标签的键不能为空且必须唯一,长度为1~128个字符,可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格,且不能以_sys_开头。 标签的值可以为空字符串,长度为0~255个字符,可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格。 添加成功后,您可在当前任务的所有关联的标签集合中,查询并管理自己的标签。
  • 约束限制 目前仅支持MySQL、PostgreSQL、MongoDB、Oracle数据库提前进行连接信息创建。 目前仅支持实时迁移、实时同步、实时灾备任务在测试连接步骤进行连接信息选择。 数据流动方向为入云(本云为备)时支持源数据库进行连接信息选择,数据流动方向为出云(本云为主)时支持目标数据库进行连接信息选择,数据流动方向为自建-自建时,源和目标数据库都可以选择。 创建连接信息时,需要选择网络类型,请选择与DRS任务一致的网络类型。如果连接信息与DRS任务的网络类型不一致,则无法在测试连接步骤选中。
  • 操作步骤 在“实时灾备管理”页面,选择已暂停的双主灾备任务。 此时可看到,子任务1为正向任务。 图1 方向转换前 查看子任务1灾备监控,主2显示禁止执行DDL状态。 图2 转换前灾备监控 单击任务“操作”列的“方向转换”。 在弹出对话框中单击“是”确认转换。 转换后,子任务灾备关系发生改变,子任务1成为反向任务。 图3 反向转换后 查看子任务1灾备监控,此时主1显示禁止执行DDL状态。 图4 转换后灾备监控 转换完成后,单击子任务“操作”列的“续传”,继续灾备任务。
  • 约束限制 所有链路均支持修改连接密码。 目前仅MySQL和TaurusDB为源且连接方式为输入IP地址的单主灾备任务,在灾备阶段支持修改IP、端口、用户名信息。当业务库进行某些操作导致IP地址、端口、用户名变化时,可通过此功能更新为正确的信息。 修改IP功能适用于业务数据库IP地址变化场景,修改前后的IP必须属于同一个 数据实例 ,否则可能导致任务失败或者数据不一致。 连接信息修改后,将实时生效,不会清空灾备数据库的数据。
  • 暂停任务 在“实时灾备管理”页面的灾备列表中,选择要暂停的灾备任务,单击“操作”列的“暂停”。 在弹出的“暂停任务”对话框中,选择“暂停日志抓取”后,单击“是”。 暂停任务时,仅暂停增量数据的回放、或者拉取加回放,在进行数据库割接前,请先结束任务。 勾选“暂停日志抓取”后,该功能会停止一切DRS和源库、目标库的连接,请注意暂停过长可能会因为源端所需日志过期而导致任务无法恢复续传。建议暂停时间不超过24小时,具体时间请排查相应日志配置。 暂停成功后,状态栏显示为“已暂停”。 需要继续灾备时,可以使用续传功能。
  • 操作步骤 在“实时灾备管理”页面的任务列表中,选择要结束的任务,单击“结束”。 在弹出框中单击“是”,提交结束任务。 当任务状态异常时(例如任务失败、网络异常),DRS会勾选“强制结束任务”优先结束任务,减少等待时间。 “强制结束任务”会直接释放DRS资源,请检查是否存在影响,确认同步情况。 如果需要正常结束任务,请先修复DRS任务,待任务状态正常后,再单击“结束”,正常结束任务。 当任务状态为灾备中并且当前链路是以MySQL为源的DRS链路,勾选“结束时展示断点信息”后,在任务结束后灾备进度页面会显示源库的GTID和binlog位点信息。
  • 操作步骤 在“实时灾备管理”页面,选择指定的灾备任务,单击任务名称进入“基本信息”页签。 在“基本信息”页签,单击“灾备监控”页签。 RPO(Recovery Point Objective),为业务数据库与DRS实例数据差的一种度量方式,RPO=0时,意味着业务数据库的数据已经全部到达DRS实例。 RTO(Recovery Time Objective),处在传输中数据量的一种度量方式,RTO=0时,意味着DRS实例上的事务已经全部在灾备数据库上执行完毕。 时延监控:展示RPO、RTO的历史数据轨迹,对真实灾难将发生时的数据丢失量具有一定的预测意义。可重点关注以下两种类型数据: 长时间RPO、RTO高的时间段。 规律性RPO、RTO高的时间段。 自治监控:展示DRS的智能自制能力,主要包括: 网络断连时,DRS自动重连并断点续传的次数。 发生数据冲突时,DRS自动使用最新数据覆盖旧数据的次数。 性能监控:展示了DRS实例的实时读取速度和写入速度,有助于诊断性能瓶颈。 资源监控:展示了DRS实例的资源使用情况,有助于诊断性能瓶颈。 图1 灾备监控
  • 操作步骤 在“实时灾备管理”界面,选中指定灾备任务,单击任务名称。 在“灾备日志”页签选择“运行日志”,查看当前灾备任务的运行日志。 图1 查看灾备日志 除此以外,DRS支持对接云日志服务(Log Tank Service,简称LTS),进行LTS日志配置后,DRS实例新生成的所有日志记录会上传到云日志服务进行管理,详情可参考日志配置管理。 在“灾备日志”页签选择“操作日志”,查看当前灾备任务的操作日志。 图2 操作日志
  • 操作步骤 在“实时灾备管理”界面,选中指定灾备任务,单击任务名称,进入“基本信息”页面。 单击“灾备进度”页签,查看灾备进度。当数据初始化完成时,显示初始化进度为100%。 您可在“灾备进度”页签下,查看灾备同步时延。 灾备同步时延也可在“实时灾备管理”界面查看,当时延超过用户设置或系统默认的时延阈值时,任务管理界面增量时延显示为红色。 当时延为0s时,表示业务数据库和灾备数据库进入近实时同步状态,此时可以通过“灾备监控”页签查看更多时延指标,如RPO、RTO等。 时延 = 源库当前系统时间 - 成功同步到目标库的最新一个事务在源库的提交成功时间。 一个事务同步的完整过程如下: 源端数据库的抽取; 经过网络的传输; 由DRS进行日志解析; 最终在目标数据库上的执行完成。 这样完成了事务从源到目标的同步,时延为该事务最后在目标数据库上执行完成时的源库当前系统时间(current_time)与该事务在源库的提交成功时间(committed_time)的时间差,时延为0代表源和目标瞬时一致,无新的事务需要同步。 长时间未提交事务和频繁DDL操作均可以造成高时延。
  • 任务状态说明 实时灾备提供了多种任务状态,以便区分不同阶段的灾备任务。 实时灾备任务的状态和说明,请参见表1。 表1 实时灾备任务状态和说明 状态 说明 创建中 正在创建数据复制服务需要用到的灾备实例。 配置 灾备实例创建成功,但还没有启动任务,可以继续配置任务。 冻结 账户余额小于或等于0元,系统对该用户下的实例进行冻结。 等待启动 已经下发了定时启动任务到灾备实例上,等待灾备实例启动任务。 启动中 正在启动灾备任务。 启动失败 实时灾备任务启动失败。 初始化 正在进行业务数据库到灾备数据库的全量数据初始化。 初始化完成 已完成灾备任务的初始化。 灾备中 持续进行从业务数据库到灾备数据库的增量数据灾备。 倒换中 正在进行灾备任务的主备倒换。 已暂停 实时灾备步任务已暂停。 灾备异常 灾备阶段中,任务出现异常。 结束任务 释放该灾备实例和资源。 结束任务中 正在释放灾备任务所使用的灾备实例和资源。 结束任务失败 释放灾备任务所使用的实例和资源失败。 已结束 灾备任务所使用的灾备实例释放成功。 对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。 已删除的灾备任务在状态列表中不显示。 父主题: 任务生命周期
  • 处理建议 检查DRS测试连接时输入的用户名和密码是否正确,填入正确的数据库用户名和密码后重新执行预检查。 测试连接时输入的端口号无法访问,请检查端口是否存在。如果端口正确,需检查防火墙是否放开。 源数据库为PostgreSQL,数据库配置文件pg_hba.conf缺少对数据库账号的配置,建议配置该账号的远程连接权限。 打开配置文件pg_hba.conf,添加如下配置,重启数据库生效。 host all xxx(dbuser) 0.0.0.0/0 method 完成DRS任务之后删除这条配置,重启数据库生效。 进行数据迁移前需确保完成网络准备和安全规则设置,如果连接失败,请按照以下方法排查网络配置是否正确。 公网网络 请确保数据库已开放公网访问。 请确保数据库的安全规则设置正确。 数据库需要将DRS实例的弹性公网IP添加到其网络白名单中,确保DRS实例可以访问数据库。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的弹性公网IP。 请确保防火墙设置正确。 数据中心防火墙需要放通DRS实例弹性公网IP的访问,使得DRS可以正常访问数据库。 入方向放行:放通DRS实例弹性公网IP到数据库监听端口的访问。 出方向放行:放通数据库监听端口到实例弹性公网IP的数据传输。 VPC网络 确保数据库安全组设置正确。 查看数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的私网IP。 确保数据库网络ACL设置正确。 VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则。 VPN、专线网络 请确保数据库VPN或专线网络配置正确。 请确保数据库的安全规则设置正确。 数据库需要将DRS实例的私有IP添加到其网络白名单中,确保DRS实例可以访问数据库。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的私有IP。 更多关于DRS网络设置可参考准备工作概览内容。
  • GaussDB 为目标库同步场景 表1 目标数据库已存在的表中有启用的触发器 预检查项 目标数据库已存在的表中有启用的触发器 描述 目标数据库已存在的表包含生效的触发器,此类触发器可能引发数据同步任务失败 不通过提示及处理建议 不通过原因:目标数据库已存在的表包含生效的触发器,此类触发器可能引发数据同步任务失败 处理建议:以下处理方法任选其一即可 1.禁用触发器: alter table table_name disable trigger all; 2.设置会话参数: set session_replication_role to replica;
共100000条