moveChunksAcrossVolume

注: 此函数将于近期版本中废弃,推荐使用函数 moveReplicas 实现相关功能。

语法

moveChunksAcrossVolume(srcPath, destPath, chunkIds, [isDelSrc=true])

参数

srcPath 是一个字符串,格式如:"volumeA/CHUNKS"。表示源 chunks 的路径。

destPath 是一个字符串,格式如:"volumeB/CHUNKS"。表示要转移到的目的 chunks 的路径。

chunkIds 是一个字符串或者字符串向量。表示需要移动的 chunks 的 id 值。

isDelSrc 布尔值,默认为 true。表示拷贝后是否删除源 chunks。

注: srcPathdestPathchunkIds 可以通过 getChunksMeta 获取。

详情

将一个磁盘卷 chunks 文件转移至指定的路径。 isDelSrc = true 时,源路径下的 chunks 被成功转移后,将被删除;否则,仍被保留。如果转移失败,保留源路径下的所有 chunks,清空目标路径下已经拷贝完成的文件。

注意:

  • 只能在同一个节点下进行 chunks 文件的转移。

  • 进行该操作前,需要停止写入,保证所有事务都已完成,并将所有缓冲区的数据刷入磁盘。

  • 配置项 volumes 必须包含 srcPathdestPath 指定路径所在的磁盘卷,且该配置已经生效(修改配置项后重启使其生效)。

  • destPath 指定的 chunks 目录必须为空目录。

首发版本:2.00.4