Articles of glusterfs

GlusterFS分裂大脑问题

在GlusterFS安装中,我一直面临着性能问题。 我们采用了新的应用程序生成方式,突然间所有GlusterFS客户端和主服务器也开始显示CPU的高利用率。 这是造成真正的痛苦。 我的安装如下: 我有version 3.7.4 glusterFS两个主服务器 [root@gfs1 glusterfs]# gluster volume info Volume Name: repl-vol Type: Replicate Volume ID: 7535cfad-6bb9-4147-9fea-e869e7b8d565 Status: Started Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: gfs1.myhost.com:/GlusterFS/repl-data Brick2: gfs2.myhost.com:/GlusterFS/repl-data Options Reconfigured: cluster.self-heal-window-size: 100 performance.cache-max-file-size: 2MB performance.cache-size: 256MB performance.write-behind-window-size: 4MB performance.io-thread-count: 32 cluster.data-self-heal-algorithm: diff nfs.disable: off [root@gfs2 ec2-user]# […]

多个磁盘大小的最佳情况下在gluster平价

目前我正在创build一个分布式文件系统的现状。 我有 2x 8TB驱动器 2x 4TB驱动器 2个2TB驱动器 2个1TB驱动器 我一直在研究glusterfs,看起来最明显的方向是进入复制卷。 但从我的理解来看,副本2意味着你一次指定两个相同大小的磁盘,所以一个成为另一个的副本。 但是,我已经在glusterfs中看到了分散体积types的提及,但他们推荐大小相等的驱动器。 从我的理解来看,随着更多的添加,分散空间比仅仅复制磁盘更有效率。 所以我的问题是。 我是否过分复杂呢? 我应该坚持复制2? 我可以考虑购买另外2个8TB硬盘来replace所有小硬盘,并且让我的生活更容易平价,但这是一个巨大的财务影响。 如果获得2个额外的8TB驱动器是最合乎逻辑的RAID 5/6设置,是否有更多关于在gluster分散的体积types的信息,因为谷歌search似乎没有提供尽可能多的帮助指南等比较成立卷types。 或者我是一个n00b,只是购买2 8TB驱动器,并使用硬件RAID或ZFS? 我唯一的最后评论是,如果一个8TB驱动器出现故障,更换成本比更小的驱动器更昂贵,所以我自己有点卡住了最初的8TB驱动器购买,但请考虑您的答案中的经济影响。 我知道匹配的驱动器容量将是正确的方式去做,但我宁愿不花(因为它是很多钱),然后有驱动器没有做任何事情。 这些驱动器的使用是一个非常大的媒体集合(Plex媒体存储,家庭video等)。 另外,我的所有数据都使用encfs的反向encryption备份到crashplan中,增加了安全性,所以这个问题不是为了备份数据,而是为我的情况提供“最好的”冗余。 谢谢

用root-squash root权限访问GlusterFS卷

我想导出我的glusterfs卷与选项server.root-squash启用,以便客户端(我无法控制)不能在卷上作为根执行操作。 然而,作为pipe理员,我仍然希望能够以root身份(至less从服务器)访问文件,以便我可以更改权限并运行rsync。 使用NFS,如果我启用了root-squash,我仍然可以login到服务器并以root身份执行操作。 我怎样才能获得与gluster相同的结果?

当一个节点失败时,gluster操作会挂起

我有3个节点gluster服务器。 从它的大部分坐骑是只读的,并像本地主机: mount -t glusterfs localhost:/volume /mnt/mountpoint/ -o ro 卷是复制3副本(每个节点上一块砖) 我已经configuration了音量选项,如: cluster.quorum-count: 1 cluster.quorum-type: fixed cluster.server-quorum-type: none 我期望一个节点的失败/重新启动不会中断从本地安装的卷的读取操作。 不幸的是 – 当我重新启动任何节点或任何节点失败 – 甚至像读取操作 ls -l /mnt/mountpoint/somefile 挂起,直到失败的节点启动或达到network.ping-timeout。 我已经尝试过目前的版本3.8。 有没有什么办法可以configurationglusterfs始终服务(本地!)内容,独立于失败的节点?

扩大Gluster分散体积

我一直在玩Gluster几个小时,看看它是否符合我们的需求,到目前为止这么好。 不过,我一直在环顾networking上的“如何”扩大分散的空间,并已空出来。 我可以很容易地find它分布式或条纹卷,但从来没有分散。 我的实验室由5台服务器组成,每台服务器有一个ZFS块。 我开始时只configuration了3台configuration为“分散数据2冗余1”的服务器,一切运行良好。 我想做的是从那里向外扩展,再增加一个冗余,然后做“分散数据2冗余2”,然后做“分散数据3冗余2”。 到目前为止,添加一个单一的砖产生一个错误,如下“volume add-brick:failed:错误的砖块数量1提供1与计数3”。 谢谢

GlusterFS问题的Web服务

我刚刚尝试在2个Web服务器之间进行复制Gluster安装。 性能非常差,简单的PHP文件操作,如file_exists和is_readable每个15 – 30ms。 一个require_once花了1.1秒。 像大多数网页设置一样,写入操作非常less见,读取操作非常普遍。 这些服务器是2xquad核心Xeon,8 gig ram和RAID 1磁盘。 他们之间有一个专用的千兆networking。 它不是build立GlusterFS最快的方式,但它不应该这么慢。 改善这种情况的最好方法是什么? 关于GlusterFS调优的文档是缺乏的,并且确定哪里瓶颈是非常困难的。 我已经看到一些提到,设置文件distrubted不复制可以提高速度,但这一半的可靠性,我期待提高可靠性(两个networking服务器与一个)不会减less它。 这种工作负载是否有涉及caching等特定configuration? 是否有caching检查其他服务器上的文件的新副本,以便尽可能经常从本地硬盘上提供文件?

无法获取卷文件

当我的客户端尝试连接gluster服务器时,会出现以下错误: [glusterfsd-mgmt.c:1627:mgmt_getspec_cbk] 0-mgmt:无法提取卷文件(键:gluster_vol_0) 我的客户端是位于Anazon EC2上的Amazon Linux实例。 我安装了如下的glusterfs-fuse: sudo su – #install glusterfs repo wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo /glusterfs-epel.repo #fix it for amazon linux sed -i 's/$releasever/6/g' /etc/yum.repos.d/glusterfs-epel.repo #install glusterfs yum install -y glusterfs-fuse #setup fstab echo "hostname.example.com:/media-volume /mnt/glusterfs glusterfs defaults 0 0" >> /etc/fstab #mount mkdir -p /mnt/glusterfs mount -a 请问你能帮帮我吗。 亲切的问候…

客户端SSL在GlusterFS 3.5中失败

我在Ubuntu 12.04上运行官方Ubuntu软件包中的GlusterFS 3.5,当启用client.ssl时,安装开始失败。 我得到的错误是: [2014-06-13 10:33:52.690770] E [socket.c:297:ssl_setup_connection] 0-public_uploads-client-0: SSL connect error 我启用了SSL遵循本指南: http ://www.gluster.org/author/zbyszek/除了我有钥匙和证书在gluster和glusterfs文件,因为指南似乎使用一开始和另一个之后: # ls /etc/ssl/gluster* /etc/ssl/gluster.ca /etc/ssl/glusterfs.ca /etc/ssl/glusterfs.key /etc/ssl/glusterfs.pem /etc/ssl/gluster.key /etc/ssl/gluster.pem 音量看起来像这样: Volume Name: public_uploads Type: Distribute Volume ID: 52aa6d85-f4ea-4c39-a2b3-d20d34ab5916 Status: Started Number of Bricks: 1 Transport-type: tcp Bricks: Brick1: koraga.int.example.com:/var/lib/glusterfs/brick01/public_uploads Options Reconfigured: auth.allow: 127.0.0.1 client.ssl: on server.ssl: on nfs.disable: on 如果我设置client.sslclosures然后它工作得很好。 […]

双向文件系统透明解决scheme的解决scheme

我需要实现某种HA设置,其中2个服务器需要始终能够同步,无论您在哪个服务器上写入。 数据库部分可以由主 – 主复制设置覆盖。 但是,当涉及到文件和内容时,我一直无法find适合这些需求的东西。 我需要能够复制/ var / www例如从一台机器到另一台机器,并能够写入其中的任何一个,并始终具有相同的内容可用,无论http请求去的地方。 统一 :易于使用,简单的概念,但它更像是一个双向的rsync,没有自动传播文件的变化,除非你运行它的重复选项。 我不确定这是多么可靠。 我希望有一个守护进程的function,可以“监视”文件夹内容的变化。 glusterfs :易于configuration,一个不错的项目,似乎是我所需要的完美,但是,它似乎并没有处理这2路。 xtreemfs :难以configuration,如果你想复制(文档有点难以遵循),似乎打算为“分布式文件系统”部分比复制方面更多。 ceph:类似gluster,但是再次,不要以为它处理双向复制。 mogilefs :不透明,你构build的应用程序需要知道它并使用它的服务来访问文件系统。 不是我可以使用的东西。 所以我不确定是否双向复制是通常没有做的事情,我需要重新考虑这个,或者我还没有研究这个,但是我很茫然。 我似乎没有find其他解决scheme。 还有什么可以处理自动透明的双向文件复制吗?

卸载陈旧的glusterfs分区

我在几台Ubuntu服务器上使用glusterfs:其中两台正在复制模式下运行glusterfs服务器。 没有任何明确的错误,glusterfs分区变得陈旧,当我尝试访问陈旧的分区时,系统显示这个错误: Transport endpoint is not connected 另外,当在父文件夹上运行ls -l时,我得到: d????????? ? ? ? ? ? myfolder 我尝试了所有types的命令,我可以find这个分区,但我无法完成: umount -l /path/to/mount/point umount -f /path/to/mount/point 此外,使用fuser命令来显示访问此文件夹的进程不起作用。 卸载保险丝内核模块不能完成,因为从内核configuration可以看出,保险丝内置于内核而不是可加载模块。 我在/boot/config-2.6.32-24-server发现了这一行 CONFIG_FUSE_FS=y 我留下了两个select: 重新启动系统。 创build另一个挂载点,如myfolder2,并使用sudo glusterfs -f /etc/glustefs/glusterfs.vol /path/to/folder2重新挂载。 当然,我select了选项2。 任何人都面临过这样的问题? 任何人有这样一个更好的解决scheme?