【问题标题】:How backup/restore corda node?如何备份/恢复corda节点?
【发布时间】:2018-10-06 15:29:31
【问题描述】:

一旦 Corda 节点出现故障,合适的恢复过程是什么? Corda 事务仅与特定业务网络的合格节点共享,而不是与每个节点共享。因此,在恢复故障节点时,从其他节点复制数据将无法正常工作,需要从备份中恢复。但是,其他正确节点的备份图像并不完全相同,我想知道如何恢复corda节点的一致性。

【问题讨论】:

    标签: corda


    【解决方案1】:

    节点数据存储

    Corda 节点存储其重要信息如下:

    • 节点的数据存储在标准 SQL 数据库中
      • 默认情况下,在名为 persistence.mv 的 H2 数据库文件中
    • 节点的密钥和证书存储在 certificates 文件夹中的 Java 密钥库中

    从节点崩溃中恢复

    如果节点崩溃:

    • certificates 文件夹的数据库和内容不会受到影响
    • 可以从最近的检查点重新启动进行中的流
    • Artemis 消息可以重播

    也就是说,你可以生成一个新节点,重新添加persistence.mv文件、certificates文件夹和CorDapps,当你再次启动该节点时,它会表现得就像什么都没发生一样。

    从节点文件的损坏/删除中恢复

    只要您能够恢复,数据的丢失/损坏不是致命的:

    • 节点的数据库
    • 节点的certificates 文件夹的内容

    节点所有者有责任确保他们使用标准业务程序保护和备份这些文件。如果这两个都可以恢复并重新添加到新节点,则该节点应该像往常一样启动。

    如果节点的certificates文件夹的内容无法恢复,你将不再拥有你的私钥,也将无法在账本上花费你的资产。

    如果无法从节点的数据库中恢复某些数据,节点可以尝试在适用的情况下从其他节点重新请求这些数据(例如交易历史)。但是,没有办法强制交易对手分享这些信息。

    【讨论】:

    • 我明白了。谢谢。如果停机时间很长,则可能会发生大量用于恢复数据库更新的消息。是否有任何功能可以加速这种巨大的消息传递?或者,它取决于应用程序的实现?
    • 平台使用 Artemis 消息队列自动处理消息。
    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    相关资源
    最近更新 更多