Ant*_*tia 5 docker glusterfs docker-swarm
我有一个装有很多容器的码头群,但特别是:
我的问题是,当节点发生故障时,管理器会丢弃当前容器并在另一个节点中创建一个新容器.因此,即使使用docker卷,每次我丢失了存储在该特定容器中的持久数据.
所以我会在我的集群上创建四个分布式glusterfs卷,并将它们作为docker卷挂载到我的容器中.
这是解决问题的正确方法吗?
如果是,我应该为glusterfs卷使用什么类型的文件系统?
这个approch有性能问题吗?
小智 6
GlusterFS不是解决所有容器的正确方法,因为Gluster不支持"结构化数据",如GlusterFS安装指南中所述:
Gluster不支持所谓的"结构化数据",即实时SQL数据库.当然,使用Gluster来备份和恢复数据库会很好 - 当使用至少16KB的文件大小(大约128KB左右的最佳位置)时,Gluster传统上更好.
对此的一个解决方案是对数据库中的数据进行主从复制.MySQL和mongoDB都支持这一点(如此处和此处所述),大多数常见的DBMS也是如此.
主从复制基本上是数据库的2个或更多副本的位置,一个将是主服务器,其余将是从服务器.所有写操作都发生在主站上,所有读操作都发生在从站上.写入主站的任何数据都将由主站复制到从站.如果发生这种情况,一些DBMS还提供了检查主服务器是否关闭并选择新主服务器的方法,但我不认为所有DBMS都这样做.
你也可以设置一个Galera集群,但据我所知,这只支持MySQL.
我本以为你可以将GlusterFS用于Fluentd和Elasticsearch,但我不熟悉其中任何一个,所以我不能肯定.我想这将取决于他们如何存储他们收集的任何数据(如果他们收集任何数据).
您可能想看一下folcker(一种卷数据管理器),它集成了多个容器集群管理器,包括Docker Swarm。
您必须按照教程中的指示,使用flcker驱动程序为每个应用程序创建一个卷:
...
volumes:
mysql:
driver: "flocker"
driver_opts:
size: "10GiB"
profile: "bronze"
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3092 次 |
| 最近记录: |