
# 备份IoTDB业务数据
#### 操作场景
为了确保IoTDB日常数据安全，或者系统管理员需要对IoTDB进行重大操作（如升级或迁移等），需要对IoTDB业务数据进行备份，从而保证系统在出现异常或未达到预期结果时可以及时进行数据恢复，将对业务的影响降到最低。
系统管理员可以通过FusionInsight Manager创建备份IoTDB任务并备份数据。支持创建任务自动或手动备份数据。
#### 前提条件
目前IoTDB仅支持备份业务数据到远端HDFS中，且需满足以下条件：
- 准备一个用于备份数据的备集群，认证模式需要与主集群相同。
- 若IoTDB所在集群为普通模式，则不支持备份业务数据到安全模式集群的HDFS中。
- 如果主集群部署为安全模式，且主备集群不是由同一个FusionInsight Manager管理，则必须配置系统互信，请参见[配置MRS集群间互信](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0354.html)。如果主集群部署为普通模式，则不需要配置互信。
- 主备集群上的时间必须一致，而且主备集群上的NTP服务必须使用同一个时间源。
- 检查备集群HDFS是否有充足的空间，备份文件保存的目录建议使用用户自定义的目录。
 
#### 备份IoTDB业务数据
1. 登录MRS集群Manager界面。 
   登录集群Manager界面请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 选择"运维 \> 备份恢复 \> 备份管理"。
3. 单击"创建"。
4. 在"任务名称"填写备份任务的名称。
5. 在"备份对象"选择待操作的集群。
6. 在"备份类型"选择备份任务的运行类型。 
   "周期备份"表示按周期自动执行备份，"手动备份"表示由手工执行备份。
   表1周期备份参数 
   | 参数   | 示例                          | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|:---|
   | 开始时间 | **2024/11/22** **10:29:11** | 任务第一次启动的时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 周期   | **1天**                      | 任务下次启动，与上一次运行的时间间隔，支持按"小时"或按"天"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 备份策略 | **首次全量备份，后续增量备份**           | 选择数据周期备份策略。 - 首次全量备份，后续增量备份  - 每次都全量备份  - 每n次进行一次全量备份   |
      
   
   
7. 在"备份配置"，勾选"业务数据"区域下的"IoTDB \> IoTDB"。
8. 在"IoTDB"的"路径类型"，选择一个备份目录的类型。 
   备份目录支持以下类型：
   "RemoteHDFS"：表示将备份文件保存在备集群的HDFS目录。
   选择此参数值，还需要配置以下参数：
   - "目的端NameService名称"：填写备集群的NameService名称。可在备集群HDFS服务的"管理NameService"页面获取，例如"hacluster"。
   
   
   
   - "IP 模式"：目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式，如IPv4或者IPv6。
   
   - "目的端主NameNode IP地址"：填写备集群主NameNode业务平面IP地址。
   
   - "目的端备NameNode IP地址"：填写备集群备NameNode业务平面IP地址。
   
   - "目的端NameNode RPC端口"：填写备集群HDFS基础配置"dfs.namenode.rpc.port"参数值。
   
   - "目的端路径"：填写备集群保存备份数据的HDFS目录。不支持填写HDFS中的隐藏目录，例如快照或回收站目录；也不支持默认的系统目录，例如"/hbase"或"/user/hbase/backup"。
    
   
   
9. 在"备份内容"中，选择一个或多个需要备份的业务数据。 
   支持两种方式选择备份数据：
   - 添加备份数据文件
     1. 单击"添加"。
     
     2. 在"文件目录"框内选择要备份的表，单击"添加"添加到"备份文件"框内。
     
     3. 单击"确定"添加备份数据文件。
      
   
   - 正则表达式筛选
     1. 单击"正则表达式输入"。
     
     2. 根据界面提示，在第一个输入框填写目录的父目录完整路径，需要与当前存在的目录完全匹配。例如"/root"。
     
     3. 在第二个输入框输入正则表达式，支持标准正则表达式。例如要筛选父目录中所有的文件或子目录，输入"(\[\\s\\S\]\*?)"。例如要筛选命名规则为字母数字组合的文件，如**file*1***可输入"file\\d\*"。
     
     4. 在第二个输入框输入正则表达式，支持标准正则表达式。例如要筛选包含"test"的对象，请输入".\*test.\*"。例如要筛选以"test"开头的对象，请输入"test.\*"。例如要输入以"test"结尾的对象，请输入".\*test"。
     
     5. 单击"刷新"，在"目录名称"查看筛选的目录。
     
     6. 单击"同步"保存筛选结果。
     
     
     - **输入正则表达式时，可以使用** ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002460600746.png "点击放大")**和** ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002460760338.png)**增加或删除一条表达式。**
     
     - **如果已选择的表或目录不正确，可以单击"清除选中节点"清除勾选。**
     
     - **备份目录不可包含长期写入的文件，否则会导致备份任务失败，因此不** **建议对顶层目录进行操作，例如"/user"、"/tmp"、"/mr-history"。**
      
   
   
   
   
10. 单击"校验"查看备份任务的配置是否正确。 
    校验失败可能存在以下原因：
    - 目的端NameNode IP地址不正确。
    
    - 待备份的数据不存在。
    
    
    
    
11. 单击"确定"保存。
12. 在备份任务列表中已创建任务的"操作"列，选择"更多 \> 即时备份"，开始执行备份任务。 
    备份任务执行完成后，系统自动在备集群的备份路径中为每个备份任务创建子目录，目录名为*"备份任务名* *_* *数据源_* *任务创建时间"*，数据源每次备份的最新备份文件保存在此目录中。所有备份文件集保存在对应的快照目录中。
    
    
 
