0

我有两个节点——1 和 2,都在运行。节点 1 关闭。

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

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

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

4

1 回答 1

0

这个策略怎么样?

  1. 应该连接节点的 mnesia。
  2. 当整个系统被你的特定命令关闭时,而不是突然中止,文件系统的一个文件将被标记。所以如果文件没有被标记,节点就不是干净的。
  3. 在节点启动之前,将完成以下检查:

如果是第一个节点,

3.1 如果上面的文件标记为ok,则节点会正常启动。

3.2 如果上面的文件没有标记ok,节点将无法启动。

3.3. 如果上述文件不存在,它是第一次运行,mnesia 数据库模式将被建立,然后,启动。

如果不是第一个节点,

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

3.5. 如果上述文件没有标记为ok,则根据已启动节点删除schema和setup schema,并从已启动节点复制数据,然后启动。

3.6. 如果上述文件不存在,则为首次运行,应根据已启动节点构建模式,然后启动。

于 2012-11-24T23:47:46.617 回答