不知何故,我不能让ulus 14.04再次运行glusterfs。 我曾经在几天前开始运行,包括configuration的卷。 然后,我从autostart中删除了启动脚本。 现在我得到启动守护进程“失败”。 然后,我清除了包并尝试重新安装。 这是我得到以下输出: Setting up glusterfs-server (3.7.3-ubuntu1~trusty1) … * Starting glusterd service glusterd [fail] invoke-rc.d: initscript glusterfs-server, action "start" failed. dpkg: error processing package glusterfs-server (–configure): subprocess installed post-installation script returned error exit status 1 Processing triggers for ureadahead (0.100.0-16) … sh: 0: getcwd() failed: No such file or directory sh: […]
我有两个共享glusterfs磁盘的服务器,都运行dovecot和从这个共享磁盘提供邮件。 用户只能从这些服务器中的一个读取邮件,但是邮件会被传送到这两个服 偶尔在访问收件箱maildir文件夹时遇到问题: IMAP(用户):打开(/ home / user / Maildir / dovecot-uidlist)失败:权限被拒绝 用户不能打开收件箱。 访问其他文件夹工作正常。 如果我删除了dovecot索引文件,并重新启动dovecot一切工作正常。 我能做些什么来使这个设置更可靠? 我在两台服务器上的dovecot设置: mmap_disable = no dotlock_use_excl = yes mail_nfs_storage = yes mail_nfs_index = no 如果一切都失败了,我可以创build一个bash脚本来清理dovecot索引文件,如果日志中有错误…
我有一系列服务器(HP ProLiant,34台服务器),每台服务器都有500 G的硬盘空间。 这些服务器是计算集群的一部分,运行的进程大致分为两个“阶段”: 阶段1:读取less量大(高达6Gb)的文件,并写入相对较大(高达1-2Gb)的文件。 阶段2:读写大量(数百个)小文件,然后将其合并成更大的文件; 这些文件也随着作为“事务点”的临时文件一起生成。 服务器不共享相同的机箱,并通过Gbit以太网连接。 根据我之前的问题 ,我最初在一台服务器上放置了一个NFS共享,但是并发性水平导致了可用性和locking问题,因此经常在第二阶段导致进程失败。 现在,我可以使用服务器中的磁盘,我想过使用分布式文件系统。 我的初始方法(用于感谢其他地方的成功testing)是使用GlusterFS(分布式+复制安装)。 然而,虽然它在第一阶段完美运行,但是由于networking中的延迟不足以处理池中所有服务器的所有这些并发读取和写入,导致各种服务器不同步,因此怪异的错误(缺less文件,奇怪的权限拒绝错误…)错误。 此外,“问题”是服务器本身(或其中的一部分,我不需要全部使用)需要运行计算和提供存储(这是一个捐赠的资源,所以我不能做超过那)。 所有这些都解释了用例,然后提示这个问题:什么是最好的分布式文件系统来处理“第二阶段”? 请注意,我需要文件级别的东西,例如装入点或虚拟设备。
所以我设置了一个glusterfs卷,它工作得很好,但我似乎无法弄清楚如何使用root权限以外的其他权限挂载它。 假设有一些选项可以为一个卷configurationtranslate-uid,但是这个选项似乎并不存在于Debian的glusterfs 3.2.7版本中。 有谁知道如何做到这一点? 我尝试了挂载点上的一个chown,而且工作正常,除了机器1上的用户标识映射不等同于机器2上的用户标识映射。此外,这种方法不适用于/ etc / fstab我知道的)。
我使用Puppet来pipe理一些在服务器之间共享的文件,通过GlusterFS文件系统。 (具体应该没有关系,但是在这种情况下,像/etc/httpd/conf.d和/ var / www / html这样的东西通过GlusterFS被安装在networking上,在RHEL 6服务器上,使用Puppet 3.8和Gluster 3.5。) Puppet对于给定服务器本地的文件没有问题,但是当我尝试在这个共享文件系统上创build或更新文件时,它几乎不能工作。 Puppet认为需要进行更改,但是文件在随后的校验和检查中失败。 下面是Puppet尝试(和失败)创build一个文件的例子: 从缺席变为文件失败:写入磁盘的文件与校验和不匹配; 丢弃更改({md5} 990680e579211b74e3a8b58a3f4d9814 vs {md5} d41d8cd98f00b204e9800998ecf8427e) 这里有一个类似的文件编辑的例子: 从{md5} 216751de84e40fc247cb02da3944b415更改为{md5} 261e86c60ce62a99e4b1b91611c1af0e失败:写入磁盘的文件与校验和不匹配; 丢弃更改({md5} 261e86c60ce62a99e4b1b91611c1af0e vs {md5} d41d8cd98f00b204e9800998ecf8427e) 这并不总是发生,但在我的Gluster文件系统上,至less有90%的时间会发生这种情况。 后面的校验和(d41d8 …)是一个空文件的校验和。 所以我认为这就是发生了什么事情:Puppet认为需要做出改变,并做出改变。 但是在提交写入之前它会再次校验文件,所以它没有看到更改已成功完成,因此它会回滚。 那么两个问题。 首先:这似乎是有道理的,我如何testing/确认情况如此? 第二:假设这是发生了什么,我该如何预防呢? 首先想到的就是在文件更改操作之后几百毫秒的时间内hibernate,但是我不能立即知道这是否可能,更不明智。
将数据写入已在两台服务器上configuration的复制GlusterFS卷时,我遇到了数据损坏。 我设置的configuration如下: 服务器运行Ubuntu 16.04和GlusterFS v3.10.6 客户端运行Ubuntu 14.04和GlusterFS v3.10.6 GlusterFS中已经configuration了两个卷,每个都在每个服务器上分配两块砖。 每个砖块都是带有EXT4 / LUKS文件系统的MDADM RAID5arrays。 每个卷都configuration了默认选项,再加上滴滴涕检测。 这些如下: features.scrub: Active features.bitrot: on features.inode-quota: on features.quota: on nfs.disable: on 当大型目录从其中一个客户端机器上的本地文件系统复制到configuration的GlusterFS卷中的任一个时,数据损坏就会显示出来。 当为复制的文件和源文件计算md5校验和,并比较两者时,校验和的数目会有所不同。 手动触发GlusterFS卷上的自愈function,显示没有识别出用于修复的文件。 此外,查看gluster volume bitrot <volname> scrub status的输出以及/var/log/glusterfs/bitd.log和/var/log/glusterfs/scrub.log的输出日志,似乎没有发现任何错误。 这些问题只是performance出来,最近大约一周之后,大约10个客户使用了这两个卷。 我已经尝试了卷离线,并已经testing直接通过底层的本地文件系统写入数据到每个砖,并没有能够重现的问题。 为了进一步debugging这个问题,我在VirtualBox的虚拟机上configuration了一个类似的设置,并且没有能够重现这个问题。 对于这些错误的原因,我相当不知所措。 任何意见,我可以采取进一步的debugging步骤或已知问题与GlusterFS和我的configuration,将不胜感激。
我最近问的是关于分割文件服务器的选项,因为我们的NAS解决scheme在我们的用户(特别是巨型configuration文件)几乎同时login时会相当困难。 我碰到了Gluster,看起来它可以将不同的物理存储介质集群到一个虚拟卷中,并从客户端angular度将其像虚拟NAS一样共享,并支持CIFS。 我的问题是,像这样的东西是可行的,用于在活动目录环境中的家庭和个人资料目录。 我担心ACL,主要是因为我不认为CIFS足够支持NTFS权限,它看起来不像Gluster导出这些权限级别,只是基本文件共享的基本权限。 我觉得使用Gluster可以让数据在多台服务器上是冗余的,并且可以加速重负载下文件的访问,同时允许我们通过添加另一台服务器来dynamic提高存储容量,并告诉Gluster的主节点添加服务器。 也许我对我的理解错了。 任何人使用它或关心分享这是多么可行?
我目前有2个networking服务器(CentOS 5.5),并使用GlusterFS作为客户端/服务器都使用自动文件复制。 对于这两个networking服务器: GlusterFS挂载点是: /mnt/glusterfs/site1 当地GlusterFS砖是 /export/sdb1/glusterfs/site1 我正在使用绑定挂载来指向Apache中的GlusterFS挂载: /var/www/site -> /mnt/glusterfs/site1 dynamic页面(caching页面本身不是一个选项)需要很多小文件才能在页面呈现之前被读取,GlusterFS的性能至less比使用本地文件系统慢5倍。 即当地的GlusterFS砖。 请注意,我正在使用option read-subvolume选项,以便从本地GlusterFS块中读取文件,但是我知道在networking上的其他块上检查元数据,这是我认为会减慢速度的原因。 不幸的是,我不能让Apache使用本地GlusterFS砖,因为Apache本身做了一些写操作。 由于/mnt/glusterfs/site1和/export/sdb1/glusterfs/site1实际上是相同的文件系统,Apache有没有办法直接从本地砖中读取,但写入到GlusterFS挂载? 这将显着提高性能。 我知道NFS,OCFS,GFS2,Lustre和DRBD,但是如果有可能做到这一点,这将是最简单的解决scheme。 也许是Apache指令,Apache模块(甚至自定义模块)甚至是在系统级别? 我将不胜感激任何build议/意见/方向。
我正在考虑将单个服务器/压缩文件转换为glusterfs分布式系统的开始。 我已经在24TB RAID的服务器上安装了一个目录。 我想使用这个初始的计算机来设置这个卷/目录glusterfs,然后不久后添加额外的砖块/计算机。 我不确定我是否可以使用已经有文件的卷/目录。
我正在寻找支持我的用例的开源解决scheme。 我现在有4个节点在我的集群networking,我需要这个。 存储文件系统(巨大的列表) 复制我的文件保存在一个节点上,并复制到另一个节点上。 将我的文件分成两部分。 (1个群集,2个复制,2个共享) 我可以添加节点到我的networking(2个新节点,我的分片大小将会增长) 很高兴听到我可以使用跨数据中心复制为客户端访问速度更快。 还支持POSIX 就这样 我需要知道任何stream行的DFS支持我的用例,或者我必须做它作为应用程序层?