IoTDB 全量备份工具,用于将 IoTDB 单个节点的数据通过硬链接的方式备份到本地指定地址,并可以直接启动加入原集群。备份工具提供了两种模式:快速镜像模式和手动指定备份路径模式。
注意:
- 备份前请停止IoTDB服务。
- 脚本默认后台执行,执行过程中打印的相关信息会输出到日志文件中。
backup.sh/backup.bat -quick -node xxx # xxx可选值见如下示例 backup.sh/backup.bat -quick -node # 备份所有节点到默认路径 backup.sh/backup.bat -quick -node all # 备份所有节点到默认路径 backup.sh/backup.bat -quick -node confignode # 仅备份confignode节点到默认路径 backup.sh/backup.bat -quick -node datanode # 仅备份datanode节点到默认路径
| 参数 | 说明 | 是否必填 |
|---|---|---|
-quick | 快速镜像 | 非必填 |
-node | 备份节点类型,可选项包括all/datanode/confignode,空值默认为all。 all:备份datanode和confignode节点 datanode:只备份datanode节点 confignode:只备份confignode节点 | 非必填 |
说明:
IoTDB 文件夹及根据配置文件列出所有配置路径是否已经存在_backup文件夹,如果存在则退出,信息为 The backup folder already exists(备份文件夹已经存在)。当备份文件夹已存在时,可以尝试通过如下方式解决:
- 删除已有的 _backup 文件夹后重新执行备份。
- 修改备份路径避免冲突。
dn_data_dirs 配置路径新建硬连接到对应的 _backup 路径 例如:dn_data_dirs=/data/iotdb/data/datanode/data 则备份完后数据在 /data/iotdb/data/datanode/data_backupdn_data_dirs 其他文件到原 IoTDB文件夹到对应的 _backup 路径中 例如:/data/iotdb 备份后 /data/iotdb_backupbackup.sh -node xxx -targetdir xxx -targetdatadir xxx -targetwaldir xxx
| 参数 | 说明 | 是否必填 |
|---|---|---|
-node | 备份节点类型all/datanode/confignode默认值all | 非必填 |
-targetdir | IoTDB要备份到的文件夹 | 必填 |
-targetdatadir | 配置项dn_data_dirs路径下文件要备份到的路径,默认targetdir/data/datanode/data | 非必填 |
-targetwaldir | 配置项dn_wal_dirs路径下文件要备份到的路径,默认targetdir/data/datanode/wal | 非必填 |
说明:
-targetdir 为必填项 ,如果参数不存在,则输出 -targetdir cannot be empty, The backup folder must be specified(-targetdir 参数不能为空,必须指定备份文件夹路径)。dn_data_dirs,dn_wal_dirs 配置路径模式和参数 -targetdatadir,-targetwaldir是否一致,如果-targetdatadir, -targetwaldir参数为单一路径则认为一致,如果不一致,输出 -targetdatadir parameter exception, the number of original paths does not match the number of specified paths(-targetdatadir 参数异常,原本路径个数跟现在指定路径个数不一致)。-targetdatadir 配置的路径是否和原配置路径在同一块盘,如果不是同一块盘,则拷贝 dn_data_dirs 配置的文件到参数 -targetdatadir 对应目录。如果是同一块盘,则优先打硬连接 dn_data_dirs 配置的文件到参数 -targetdatadir 对应目录,如果打硬连接失败就拷贝文件到-targetdatadir 对应目录| 配置文件路径 | 参数 -targetdatadir 路径 | 校验结果 |
|---|---|---|
| /data/iotdb/data/datanode/data | /data/iotdb_backup/data/datanode/data | 一致 |
| /data/iotdb/data/datanode/data | /data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data2 | 不一致 |
| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2 | /data/iotdb_backup/data/datanode/data | 一致 |
| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2 | /data/iotdb_backup/data/datanode/data3,/data/iotdb_backup/data/datanode/data4 | 一致 |
| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb_backup/data/datanode/data | 一致 |
| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb_backup/data/datanode/data1;/data/iotdb_backup/data/datanode/data1 | 一致 |
| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data3;/data/iotdb_backup/data/datanode/data | 一致 |
| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data3;/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data4 | 不一致 |
dn_data_dirs 仅有 ; 分割时: 规则:* -targetdatadir 可以只输入一个路径(路径中没有 ; 和 ,)。-targetdatadir 也可以按照 ; 分割多个路径,但数量必须和 dn_data_dirs 中的路径数量相等,且路径中不能有 ,。dn_data_dirs 仅有 , 分割时: 规则:* -targetdatadir 可以只输入一个路径(路径中没有 ; 和 ,)。-targetdatadir 也可以按照 , 分割多个路径,但数量必须和 dn_data_dirs 中的路径数量相等,且路径中不能有 ;。dn_data_dirs 同时有 ; 和 , 分割时: 规则:* -targetdatadir 可以只输入一个路径(路径中没有 ; 和 ,)。-targetdatadir 也可以优先按照 ; 分割多个路径,数量必须和 dn_data_dirs 中的路径数量相等。每个 ; 分割的路径中可以只输入一个路径,也可以按照 , 分割多个路径,但,分割的路径数量必须相等。
wal路径通常通过dn_wal_dirs参数指定,规则同上