假设我同步了两台服务器并且使用了 DRBD,并且在同步它们之后我在两台服务器上都安装了应用程序,如果我想添加第三台服务器。那可能吗因为我认为我应该创建块设备并在安装中使用它,这是在两台服务器上配置 DRBD 期间进行的
如果是,那么(将来还会添加更多服务器)适用于 NextCloud 服务器?
谢谢
答案1
DRBD 9 可以扩展到 31 个数据副本,即 32 个节点。DRBD 8 通过堆叠限制为 4 个节点,但仍然是可能的。您当然可以从 2 个节点开始,然后使用 DRBD 8 或 9 添加第三个节点。
DRBD 位于主线 Linux 内核中,因此除非 NextCloud 仅提供从内核中删除 DRBD 的发行版,否则它将在那里工作。
在这个帖子中,似乎存在一些关于 DRBD 的误解:在主动-被动模式下,DRBD 不需要任何集群感知文件系统。在主动/主动模式下,您需要这样做,就像 SAN 上的共享块设备一样。此外,DRBD 9 的扩展性非常好,每个集群最多可容纳 32 个节点,并且有多种增加该数量的奇特方法。
答案2
正如前面提到的,DRBD 并不是最好的解决方案,特别是如果你有进一步扩展的需求。我相信 Linux 上最好的解决方案是 Ceph Cluster -https://en.wikipedia.org/wiki/Ceph_(软件)具有原生集群感知文件系统Ceph文件系统. 对于 Windows 上的 HA 存储配置,请考虑StarWind VSAN 免费版,也可以部署在云中(Asure/AWS)。
答案3
是的,你绝对可以这么做!请参阅:
https://docs.linbit.com/doc/users-guide-83/s-three-nodes/
唯一的问题是您需要拥有集群感知文件系统或执行主动-被动-被动模式,并在故障转移时重新挂载文件系统(在这种情况下,只有一个节点可以具有可操作的可写应用程序)。好的封面故事在这里:
https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392
PS DRBD 不是我们现在用于 HA 存储的最佳解决方案,因此我鼓励您研究一些更特定于操作系统的东西。
答案4
除非您使用专门的集群感知文件系统,否则您无法使用 DRBD 同步两台正在运行的服务器的文件系统。原因是两台服务器都会认为它们对文件系统具有独占访问权限,并覆盖另一台服务器所做的更改。结果将是整个文件系统丢失。
Nextcloud 的工作方式非常不同,但也不太适合同步两台服务器的通用文件系统,因为很容易在同一个文件中做出冲突的更改。在某些情况下,它可以用于同步数据目录,但您必须了解 Nextcloud 的工作原理以及您的应用程序的工作原理,才能确定这是否可以奏效。
- 编辑
如果您的目标是集群化 Nextcloud 安装,DRBD 不是一个很好的解决方案,因为您只能将其用于组成 Nextcloud 服务器的一小部分。SQL 数据库之类的东西无法以这种方式集群化。
读https://docs.nextcloud.com/server/9/admin_manual/operations/scaling_multiple_machines.html