我有米尼奥使用docker swarm在单个主机上部署,使用2个服务和8个卷/文件夹(每个服务使用4个卷/文件夹)。
Minio 容器内的数据文件夹使用以下bind
挂载类型:
docker volume create --driver local --opt o=bind \
--opt device=/host/pathN/ minioN-data # Where minioN-data goes from 1 to 8
现在我需要添加第二台主机来提高可用性,新主机将以相同方式创建自己的卷。
在不关闭正在运行的服务器的情况下添加新主机的最佳方法是什么?
我应该docker swarm join
从新主机进入正在运行的主机吗?swarm/minio 将如何处理存储在与容器不同的主机上的文件(即服务将在主机 2 上启动,但数据文件在主机 1 上)
我是否应该将其设为一个新的 docker swarm 实例并让它们通过 http 相互通信?即minio serve http://host1/data1 http://host1/data2 http://host2/data1 http://host2/data2
。如果是这样,Minio 是否能够将所有内容从 host1 复制到 host2?
这些解决方案是否允许我随意关闭 host1 或 host2 进行维护,然后在不丢失数据的情况下再次启动它?
答案1
您不能将新的卷或主机添加到正在运行的 Minio 设置中,它们是静态的。
对我来说,最终有效的方法是确保卷可通过 NFS 供所有 docker 节点使用,并在 NFS 挂载上启动新服务器