Dm worker 回收磁盘空间

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

  • 系统版本 & kernel 版本: Linux tidb-dm-worker-131 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  • TiDB 版本:3.0.2
  • 磁盘型号:机械硬盘

dm执行同步(all模式),如果已经进入了sync状态,

  1. 是否dumped_data.task 下的数据就可以删除了?

  2. relay_log 的数据,是否 relay.meta 下标记的binlog name之前的都可以删除(比如,标记的是mysql-bin.001916,那mysql-bin.000001-mysql-bin.001915) ?还是说可以通过别的办法,能获得当前tidb的binlog的offset?

第一个问题,全量 loader 完数据之后,对于全量数据文件可以手动清理的。 第二个问题,DM 对 relay log 的清理有手动和自动两种方式,可以参考文档:https://pingcap.com/docs-cn/v3.0/reference/tools/data-migration/relay-log/#自动数据清理

inventory.ini 中 dm-worker6 ansible_host=192.168.1.11 source_id=“platform_s_4_37” server_id=152 deploy_dir=/data/dm_worker_platform_s dm_worker_port=8266 relay_binlog_name=“mysql-bin.000007” purge-expires=72 mysql_host=192.168.2.11 mysql_user=dm_repli mysql_password=‘r6wKEqeTwTfo1PgN1Rd030DxBg/Y’ mysql_port=3306 relay log 在被后台清理前可保留的小时数设置为72,重启了对应的dm-wrker,relay log没有被清理

现在呢?purge-interval 这个参数控制清理任务执行间隔。

现在跟之前一样,relay log没有被删除。默认3600秒,好像不能用。 123

看下当前 sync 到哪个点了。未被 sync 以及当前正在被 sync 的 relay log 不会被清掉。

复制基本是实时的,延迟较小,6天前的relay log 按理说应该被删除了才是

dm-worker.toml 中配置并重启下 dm-worker,按照以下链接中 的方式配置,注意 先停掉 task 任务,再重启 dm-worker。