处理“down”mnesia节点,如果它包含最新的架构?

时间:2012-11-24 15:49:05

标签: database erlang distribution mnesia

我有两个节点 - 1和2,都在运行。节点1出现故障。

节点2继续运行 - 它是一个远程节点。

节点2的计算机已关闭。当我启动节点1时,它知道节点2具有最新的架构。

处理这种情况的最佳策略是什么?

1 个答案:

答案 0 :(得分:0)

这个策略怎么样?

  1. 节点的mnesia应该连接。
  2. 当整个系统被您的特定命令关闭,而不是突然中止时,将标记文件系统的一个文件。 因此,如果文件未标记,则节点不干净。
  3. 在节点启动之前,将进行以下检查:
  4. 如果是第一个节点,

    3.1如果上述文件标记为ok,则节点将正常启动。

    3.2如果上述文件未标记为ok,则节点将无法启动。

    3.3。如果以上文件不存在,则首次运行,将构建mnesia数据库模式,然后启动。

    如果它不是第一个节点,

    3.4。如果上面的文件标记为ok,则从已启动的节点复制mnesia数据,然后启动。

    3.5。如果上述文件未标记为ok,则根据已启动的节点删除模式和设置模式,并从已启动的节点复制数据,然后启动。

    3.6。如果上面的文件不存在,那么它是第一次运行的,应该根据构建模式 已经启动的节点,然后启动。