我们使用两台由WAN隔开的服务器来复制大约1TB的数据。 在主站方面,我们有一台服务器,将Gluster卷导出到许多其他写入数据的服务器上。 在从属方面,我们有一台Gluster卷作为只读共享导出到灾难恢复服务器。 随着时间的推移,奴隶已经变得与主人的同步200gb的调,应该在那里的文件没有和已被删除的文件。 这似乎没有很大的一致性。 什么是最简单的方法来强制群集校验和从属的每个文件,并在需要重新复制? 文档build议: 说明:GlusterFS地理复制没有完全同步数据,但地理复制状态仍显示正常。 解决scheme:您可以通过擦除索引并重新启动GlusterFS Geo-replication来强制执行数据的完全同步。 重新启动后,GlusterFS地理复制开始同步所有的数据,也就是所有的文件将通过校验和进行比较,这可能是一个冗长的资源高利用率操作,主要是大数据集(但是,实际的数据丢失将不会发生)。 如果错误仍然存在,请联系Gluster支持。 但是并不是指这个指数可能在哪里。 # gluster volume geo-replication share gluk1::share stop Stopping geo-replication session between share & gluk1::share has been successful # gluster volume set share geo-replication.indexing off volume set: failed: geo-replication.indexing cannot be disabled while geo-replication sessions exist 这个索引closures失败,而连接仍然存在,文档没有提到这个要求。 有什么build议么?
我们在Ubuntu 14.04机器上有3个文件夹,每个文件夹中包含250K图片,每个文件夹的大小为2KB-30KB,预计每个目录的文件增长到1M。 在试图将应用扩展到多个服务器时,我们正在研究Glusterfs的共享存储。 由于250K文件在ext4上不是问题,所以对于glusterfs似乎是个问题。 试图复制文件完全崩溃的机器。 我期待在两个层次上将文件分割成目录: mkdir -p {000..255} / {000..255} /000/000/filename /001/000/filename /001/001/filename … 这听起来像是一个很好的方式吗? 整个结构将包含数以百万计的文件。 这将使glusterfs在生产中可靠地生产,性能良好,可承载数百万个文件?
我们目前正在运行Gluster 3.6.4上的三节点群集。 在我们的一个节点上,我们注意到glusterd守护进程已经死了。 但glusterfsd守护进程仍在运行,我们认为客户端正在连接和检索数据 我们注意到守护进程已经死了一个星期了,我们没有看到它。 NFS分布式安装继续正常工作 我们想知道我们是否安全继续开始再次启动glusterd服务? 如果是的话,这会触发所有卷的自我修复? 因为这会导致性能问题。 这个节点的日志如下: [2016-08-19 18:01:52.804453] E [rpc-clnt.c:362:saved_frames_unwind] (–> /usr/lib64/libglusterfs.so.0(_gf_log_callingfn+0x1e0)[0x7f4f3ffca550] (–> /usr/lib64/libgfrpc.so.0(saved_frames_unwind+0x1e7)[0x7f4f3fd9f787] (–> /usr/lib64/libgfrpc.so.0(saved_frames_destroy+0xe)[0x7f4f3fd9f89e] (–> /usr/lib64/libgfrpc.so.0(rpc_clnt_connection_cleanup+0x91)[0x7f4f3fd9f951] (–> /usr/lib64/libgfrpc.so.0(rpc_clnt_notify+0x15f)[0x7f4f3fd9ff1f] ))))) 0-DAOS-client-4: forced unwinding frame type(GF-DUMP) op(DUMP(1)) called at 2016-08-19 18:01:51.886737 (xid=0x144a1d) [2016-08-19 18:01:52.804480] W [client-handshake.c:1588:client_dump_version_cbk] 0-DAOS-client-4: received RPC status error [2016-08-19 18:01:52.804504] W [socket.c:620:__socket_rwv] 0-glusterfs: readv on 127.0.0.1:24007 failed (No […]
在具有仲裁者(quorum)卷的gluster文件系统上,df报告仲裁器卷的空闲/已用空间,其中实际空间可用。 场景由3台服务器组成,一台用于法定工作 对于所有服务器: [root@arbiter ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@arbiter ~]# glusterfs –version glusterfs 3.7.15 built on Aug 30 2016 15:25:13 同行 [root@arbiter ~]# gluster peer status Number of Peers: 2 Hostname: node1 Uuid: ******************** State: Peer in Cluster (Connected) Hostname: node2 Uuid: ******************** State: Peer in Cluster (Connected) 砖尺寸: [root@arbiter ~]# […]
我正尝试在Ansible的Docker容器中安装GlusterFS。 我有一个错误,所以我试图直接安装在容器中,但我有同样的错误(所以Ansible不是问题): # apt-get install glusterfs-server Reading package lists… Done Building dependency tree Reading state information… Done glusterfs-server is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. 1 not fully installed or removed. After this operation, 0 B of additional disk space will be used. Do you […]
的确,可以在任何砖块上安装GlusterFS卷,FUSE客户端将自动发现其他砖块并连接到它们。 如果最初的砖块失败,则客户端将故障转移到其他砖块之一。 所以,在初始引导之后,文件系统是高度可用的。 但是,当你重新启动一个客户端主机,并且你将它设置为bootstrap(例如在/etc/fstab )的块被closures的时候,客户端根本不会连接,直到你手动指向另一个块来引导它。 在“主”块closures的情况下,客户端重新引导或添加时,这可能是一个问题。 例如,在亚马逊AWS中,假设您在不同的可用区域中有两个复制GlusterFS砖块。 当包含您的“主”的AZ失败或失去连接时,您很可能会自动调整其他AZ中的其他服务器,以应付增加的负载。 由于“主”无法访问,所以这些服务器无法挂载文件系统,除非将其configuration为挂载其他块。 我如何确保客户端(新的或重新启动)将尝试连接到任何可用的砖? 我们使用Puppet来pipe理所有节点,包括/etc/fstab的内容,并使用GlusterFS 3.9。
我创build了9个机器上复制的几个GlusterFS卷。 所有的坐骑(确切地说128)由systemdpipe理。 systemctl命令显示一个随机的挂载子集为“失败”(参见下面的列表)。 从日志消息中,我猜测那是因为networking或gluster守护进程当时还没有准备好。 mnt-gluster-gluster\x2d119.mount loaded active mounted /mnt/gluster/gluster-119 mnt-gluster-gluster\x2d12.mount loaded active mounted /mnt/gluster/gluster-12 ● mnt-gluster-gluster\x2d120.mount loaded failed failed /mnt/gluster/gluster-120 mnt-gluster-gluster\x2d122.mount loaded active mounted /mnt/gluster/gluster-122 mnt-gluster-gluster\x2d123.mount loaded active mounted /mnt/gluster/gluster-123 ● mnt-gluster-gluster\x2d124.mount loaded failed failed /mnt/gluster/gluster-124 mnt-gluster-gluster\x2d125.mount loaded active mounted /mnt/gluster/gluster-125 mnt-gluster-gluster\x2d126.mount loaded active mounted /mnt/gluster/gluster-126 我认为这将是一个足够的解决scheme,只是重试所有失败的坐骑。 我怎么能做到这一点?
具体而言,我正在寻找扩展在云中没有中央数据库服务器的Web应用程序的技术,但一般的build议是非常棒的。 我遇到了GlusterFS ,看起来不错,但我还不清楚它如何适应Web应用程序的体系结构。 这对我也很有趣。 感谢您的build议和链接。
我想有一个可扩展的存储系统,支持php / HTML的web服务器。 我正在看glusterfs,看起来相当稳定。 我的问题是,它真的规模? 我可以考虑在glusterfs上面放置大量的加载网站吗? 或者这些只是梦想? 如果你有更好的select,请提出build议。 MySQL将使用自己的存储。
我在EC2上设置高可用性文件系统群集时遇到了一个有趣的问题。 设置背后的想法很简单:2个GlusterFS节点位于两个独立的可用区域之间,用于同步数据。 我可以在任何其他EC2实例上安装这两个服务器中的任何一个,没有任何问题。 但是,为了传播事物并从坏节点迁移出去,我想把它放在负载均衡器之后。 问题似乎很简单,我打开负载平衡器上的端口,然后将主机设置为负载平衡器而不是单个glusterFS节点,但是,它坚持不能build立连接。 我认为这可能是一个防火墙的问题,并排除,我实际上打开端口1024-65535。 一个可怕的主意肯定,但我需要排除。 以下是日志说的: [2013-04-24 21:51:03.581564] I [glusterfsd.c:1666:main] 0-/usr/sbin/glusterfs: Started running /usr/sbin/glusterfs version 3.3.1 [2013-04-24 21:51:03.608884] W [socket.c:1512:__socket_proto_state_machine] 0-glusterfs: reading from socket failed. Error (Transport endpoint is not connected), peer (1.2.3.4:24007) 奇怪的是,我可以通过在同一端口上的telnet连接到该IP。 有没有人以前做过,或有任何见解,我可以解决这个问题的方法? 谢谢!