
# 区块冷存储
#### 区块冷存储
随着时间的推移或者业务量的增加，区块链分布式账本不断增加，数据越来越多，磁盘空间将面临不足的问题，累积的历史数据还会导致交易的性能下降，以致业务无法正常运行。
区块冷存储指将历史区块链分布式账本数据进行归档存储，防止账本数据膨胀导致区块链实例异常，已归档的账本数据还可以进行查询。
#### 使用前提
- 区块冷存储只针对IEF模式的Fabric架构中1.4.0版本和2.2版本的BCS实例使用，并且建议在"节点绑定"模式下使用。
- 边缘节点服务器的时间，均务必与实际时间相同（时区可不同）。
- 必须升级至BCS 3.0.6及以上版本，方可使用账本冷存储功能。
 
#### 如何使用
1. 购买磁盘。
   1. 进入云服务器控制台，选择"云硬盘 \> 磁盘 \> 购买磁盘"。详细操作请参考[购买磁盘](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0021738346.html)。
      图1购买磁盘   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0000001188918729.png "点击放大")
      ![](https://support.huaweicloud.com/usermanual-bcs/public_sys-resources/note_3.0-zh-cn.png)
      购买磁盘选择的可用区需要与ECS服务器所在的可用区相同。
      
   
   2. 单击新购买磁盘操作列的"挂载"，选择纳管节点的ECS服务器以及挂载点（数据盘）。
      图2挂载磁盘   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0000001142999358.png "点击放大") 
    
2. 磁盘分区以及本地挂载。
   1. 将新购买的磁盘挂载至本地**/mnt/sdc** 路径，并设置开机自动挂载磁盘分区。详情请参考：[初始化Linux数据盘](https://support.huaweicloud.com/usermanual-evs/evs_01_0033.html)。
   
   2. 在本地挂载路径**/mnt/sdc/** 下建立若干个子路径，分别对应各peer节点。
      图3创建子路径   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0202898497.png "点击放大") 
    
3. 挂载磁盘至peer节点容器内路径。
   1. 进入智能边缘平台（IEF服务），选择"边缘资源 \> 边缘节点 \> 选择BCS实例所在节点 \> 应用 \> peer容器 \> 升级"。
      图4容器升级   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0000001188921499.png "点击放大") 
   
   2. 在"高级配置"中，选择"数据存储 \> 添加卷 "，填写挂载信息，并单击"提交"。
      图5高级配置   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0202898500.png "点击放大")
      
      | 参数    | 值                                                                                                                                                             |
      |:---|:---|
      | 本地卷名称 | data0（可自由填写）                                                                                                                                                  |
      | 类型    | hostPath                                                                                                                                                      |
      | 类型    | /mnt/sdc/peer0-1（本地挂载路径，peer0-1为路径下建立的子路径，每个子路径对应一个peer）                                                                                                      |
      | 挂载目录  | /tmp/test（容器内路径） 各peer容器需要选择相同路径。并且请记录各peer所挂载的路径，BCS实例版本升级后，容器内原挂载路径将会失效，需要重新挂载原网盘至原有路径（已转储的数据不会丢失，保留在网盘中，重新挂载后即可恢复）。 |
      | 权限    | 读写                                                                                                                                                            |
         
      
   
   3. 等待容器应用重启，实例数变为1/1后，表示重启成功，磁盘挂载成功。
      图6磁盘挂载成功   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0202898501.png "点击放大") 
   
   4. 登录Peer节点所在的云服务器，执行如下命令查看peer节点ID。 **docker ps\|grep peer**
      图7peer节点的ID   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0202898502.png "点击放大") 
   
   5. 执行如下命令，分别进入各peer容器。 **docker exec -u root -it** 容器ID **bash**
      
   
   6. 执行如下命令，将转储路径用户修改为**paas** 用户。
      **chown -R paas:paas /tmp/test**
      
    
4. 将历史分布式账本数据进行冷存储。
   1. 进入区块链服务控制台，选择对应版本的BCS实例，进入区块链管理页面。
   
   2. 在"区块链管理"页面，选择"区块冷存储"，单击左上角通道下拉框，选取待归档的通道。
      图8选择归档通道   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0280160379.png "点击放大") 
   
   3. 单击右上角的"归档"，填写参数信息后，单击"确定"，开始归档操作。
      - 归档组织"：选择需要归档的组织。
      
      - 归档区块截止时间：将所选日期及其之前产生的所有区块数据进行归档。
      
      - 归档目标路径：填写容器内的磁盘挂载目录，老账本数据将归档至该路径中。
      
      
      图9归档操作   
      ![](https://support.huaweicloud.com/usermanual-bcs/zh-cn_image_0203197023.png "点击放大") 
   
   4. 归档成功后，可以在归档列表中查询已归档的区块信息，包括起始区块、归档区块，归档路径等。
    
 
