我有一个锯齿1.1 docker化网络,我正尝试从验证程序中备份数据库,以便可以放下每个容器,然后在发生灾难时进行恢复。
为实现这一目标,我按以下步骤进行操作:
使用
备份 / var / lib / sawtooh / 上一个验证器的所有文件。cp --sparse =总是[file] [file_backup]
使用 docker-compose down
与 docker-compose up
使用 docker-compose stop
使用同一步骤的命令将在第2步中备份的文件复制到新的验证器中
使用 docker-compose restart
在此之后,我可以重申状态是正确的,区块链上的用户与docker-compose之前的余额相同。但是区块链不处理新交易。 我在日志中发现的唯一错误是在 sawtooth-poet-engine 我相信,在这张图片所显示的共识中, ERROR_IMAGE。
所以我的问题是,有人试图成功做到这一点,还是对我在做什么错有任何想法?
答案 0 :(得分:1)
我只是尝试了同样的事情,但对我却有用。
一个可能的问题是文件权限和所有权。
使用cp -p
选项保留所有权和权限:
cp -p --sparse=always [file] [file_backup]
还要使用ls -l /var/lib/sawtooth
验证所有权和权限是否正确。
它们应全部由所有者读取/写入,并由用户/组锯齿拥有。如果没有,请使用类似
chown sawtooth:sawtooth /var/lib/sawtooth /var/lib/sawtooth/*
chmod u+rw /var/lib/sawtooth /var/lib/sawtooth/*
chmod ugo+r /var/lib/sawtooth/block-* /var/lib/sawtooth/txn_receipts-00.lmdb*