问题标签 [glusterfs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ubuntu - 即使创建了卷,Gluster 也不同步
我在局域网上的两个 ubuntu 机器上安装了 Gluster。Everyting 看起来不错,但是当我将文件写入服务器 1 上的文件夹时,它不会出现在服务器 2 上的文件夹中。这是我所知道的唯一两个测试卷是否正常工作的测试。我已经测试了对等方是否可以连接并且确实可以。
我在两台服务器上得到相同的结果。
perl - GlusterFS 挂载共享上的文件复制问题
我在将文件复制到基本上是 GlusterFS 安装共享的文件夹时遇到问题。
我的 Perl 脚本读取一个文件,进行一些解析,然后创建一个新文件。之后,我将新创建的具有不同名称的文件复制到不同的位置。
我收到这个错误
我的 perl 代码:
ssh - glusterfs 无法读取 gsyncd 状态文件
我想在我的计算机上的一些 virtualboxes 中尝试 glusterfs 地理复制,以便以后分布在多个站点上使用。
我在 ubuntu 32 位服务器上安装了 glusterfs 3.6,如下所示:
在/etc/hosts
每个 virtualbox 上都有一个这样的条目,以便我可以使用主机名:
首先,我在 master 上创建并启动了一个卷(在 rootfs 上force
创建):
工作正常。我设置了无密码root登录ssh-copy-id
并手动登录一次,以检查设置是否正确并且主机存储在known_hosts
.
我无法将同步设置到Geo-Replication Terminology - Understanding the URI中所述的目录中。由于 URI 问题,创建异地复制失败。
日志文件包含类似Invalid slave name
, Unable to store slave volume name
,的条目Unable to fetch slave or confpath details
。
当我创建一个卷ivyslave2.com
并使用该卷创建异地复制时,这有效:
不幸的是,gluster volume geo-replication master ivyslave2.com::slave2 status
说复制的状态是错误的。
执行此命令后,master 上的日志文件包含Using passed config template(/var/lib/glusterd/geo-replication/master_ivyslave2.com_slave2/gsyncd.conf).
, Unable to read gsyncd status file
, Unable to read the statusfile for /var/glusterfs_master_nv brick for master(master), ivyslave2.com::slave2(slave) session
.
从站上的日志文件包含Received status volume req for volume slave2
, tune2fs exited with non-zero exit status
, failed to get inode size
.
这是slave上的音量有问题吗?如何在没有卷的情况下设置异地复制?异地复制配置有问题吗?
wordpress - GlusterFS 未启动且未创建卷
我正在尝试设置一个可以在其中安装 wordpress 的集群,glusterFS
以便主节点将运行 wordpress 的实际副本,而其他两个节点将拥有其副本。另外我想设置主从 Mysql 设置。我已经GlusterFS
在三个 droplets 上安装了 Mysql server、server、nginx server,第四个已经Nginx Load balancer
安装。问题是我无法创建GlusterFS
卷,以下是我在构建该 FS 期间遇到的错误。
使用的命令:
我尝试了这些命令,还尝试了私有 IP 代替主机名,还尝试通过最后移除强制来做到这一点。
这是我得到的错误。
错误的砖和使用<hostname>
等等等或operation failed
请帮我解决问题。我一直在使用下面的教程来开发它
我已按照文档中的所有步骤进行操作,但对我不起作用。我现在被困住了GlusterFS
。
我也尝试重新启动GlusterFS
服务器,但它现在甚至没有启动。它说GlusterFS
服务器已启动,但是当我检查服务状态时它说Failed
请帮忙。
提前致谢
filesystems - 如何调整 GlusterFS 性能?
我有 2 台具有以下规格的专用服务器: - E3 1270V3 CPU - 32GB RAM - 960GB SSD - 1Gbps 专用以太网网络。
使用本地驱动器,dd 测试通常在 600MB/s 范围内,非常好。
我最近通过在每台机器上安装 glusterd 和 glusterfs 客户端来设置一个 GlusterFS 复制集群。全局命名空间的 dd 测试结果下降到 50MB/s,每当我尝试运行需要高读/写性能的应用程序时,应用程序就会崩溃。
如何使用 2 台机器复制集群调整 GlusterFS 以获得更好的性能?
linux - Glusterfs 安装完成但无法在第二个节点上启动服务
我glusterfs
在 ubuntu 和 linux 6 上安装文件系统,试图将这两个服务器作为对等体连接。
我在两台服务器上都成功安装了它,但由于一些复制问题,我停止glusterfs
了 linux 6 服务器上的服务。之后我无法在同一台服务器上启动服务。
挖掘日志我发现了以下错误。
glusterfs tail -f cli.log [2015-06-22 16:36:13.342468] W [socket.c:642:__socket_rwv] 0-glusterfs: readv on /var/run/glusterd.socket 失败(无效参数)[2015 -06-22 16:36:13.342496] I [socket.c:2409:socket_event_handler] 0-transport: 现在断开 [2015-06-22 16:36:15.490601] W [cli-rl.c:106:cli_rl_process_line] 0-glusterfs:无法处理行 [2015-06-22 16:36:16.344012] W [socket.c:642:__socket_rwv] 0-glusterfs:/var/run/glusterd.socket 上的 readv 失败(无效参数)[ 2015-06-22 16:36:16.344067] 我 [socket.c:2409:socket_event_handler] 0-传输:现在断开连接 [2015-06-22 16:36:19.346585] W [socket.c:642:__socket_rwv] 0 -glusterfs:/var/run/glusterd.socket 上的 readv 失败(无效参数)[2015-06-22 16:36:19.346641] I [socket.c:2409:socket_event_handler] 0-transport:现在断开 [2015-06-22 16:36:20.545822] W [cli-rl.c:106:cli_rl_process_line] 0-glusterfs:无法处理行 [2015-06-22 16:36:22.346947] W [socket. c:642:__socket_rwv] 0-glusterfs: readv on /var/run/glusterd.socket 失败(无效参数)[2015-06-22 16:36:22.347001] I [socket.c:2409:socket_event_handler] 0-transport : 现在断开
没有glusterfs
进程在同一台服务器上运行。
提前致谢。
amazon-web-services - Glusterfs Gett 属性 IOPS 缓存
我正在为繁重的 Get Attribute 工作负载构建 GlusterFS 共享。此集群以“复制方式”配置,需要托管数 TB 的数据。
在这种情况下,来自客户端的请求的最大部分是“获取属性”类型(例如 Apache last modified)。
我想知道 IO(磁盘)性能:
- GlusterFS 在获取属性的磁盘上的 IO 方面如何执行?
- 每个 Get Attribute 请求是到达底层磁盘还是从服务器提供而不影响磁盘 IO?
- gluster 缓存在这种情况下有效吗?
- 每次 Get Attribute 到达 Gluster Server 时,是否都会向副本服务器发出请求?
- 考虑到 Gluster 作为首选的服务器解决方案,在这种特定工作负载下使用 NFS 客户端的 GlusterFS 客户端是否更好?
提前致谢。
ubuntu - 如何在 ubuntu 14.04 中将 glusterfs 卷挂载到 /var/lib/docker
我在 ubuntu 14.04 上安装了 gluster-server 和 docker
当我跑下线时
sudo docker run -p 80:80 --name docker-wordpress-nginx -d eugeneware/docker-wordpress-nginx
我收到了这条消息:
来自守护进程的错误响应:创建 aufs 挂载到 /var/lib/docker/aufs/mnt/0b78a98c13f26eebcdef6517654ff80bdf6b35f433ac06be632aa55e8f3bb4a1-init 时出错:文件太大
你能帮我理解这个错误吗?如何在 ubuntu 14.04 中将 glusterfs 卷挂载到 /var/lib/docker
cluster-computing - 用于存储大量备份的集群文件系统
在选择分布式文件系统时需要您的建议。
因此,我需要分布式文件系统来存储许多备份(常规文件、sql 转储等)。
理想将是:
- 分散式
- 积极维护(至少没有死)
- 快速故障转移(适用于地理分布的节点)
- 大社区
- 开源
到目前为止,我有两个选择:XtreemFS 和 GlusterFS。First 似乎很酷,但它没有大型社区并且通常开发缓慢(也是基于 Java 的)。
Gluster - RedHat 和其他好东西,但有一些负面评论。
需要帮助:)
cluster-computing - 在 GlusterFS 3.7 上将少量数据写入大量文件
我正在试验 2 台 Gluster 3.7 服务器的 1x2 配置。服务器通过 1 Gbit 网络连接。我正在使用 Debian Jessie。
我的用例如下:打开文件 -> 追加 64 个字节 -> 关闭文件,并在循环中为大约 5000 个不同的文件执行此操作。如果我通过挂载的 glusterfs 驱动器访问文件,这种循环的执行时间大约为 10 秒。如果我直接使用libgfsapi,执行时间大约是 5 秒(快 2 倍)。
然而,在普通的 ext4 磁盘上,相同的循环在 50 毫秒内执行。
Gluster 3.7 早期版本之间存在巨大的性能差异,我相信这是由于cluster.eager-lock设置。
我的目标是在不到 1 秒的时间内执行循环。
我尝试了很多 Gluster 设置但没有成功。具有各种 bsize 值的dd测试的行为就像未设置TCP 无延迟选项一样,尽管从 Gluster 源代码看来,无延迟是默认设置。
知道如何提高性能吗?
编辑:
我找到了一个适用于我的解决方案,所以我想分享它,以防其他人面临同样的问题。
问题的根本原因是在执行打开/写入/关闭序列期间客户端和 Gluster 服务器之间的往返次数。我不确切知道背后发生了什么,但时间测量正好显示了这种模式。现在,显而易见的想法是将打开/写入/关闭序列“打包”到单个写入函数中。大致而言,此类函数的 C 原型将是:
int write(const char* fname, const void *buf, size_t nbyte, off_t offset)
但是,libgfapi 中已经有这样的 API 函数glfs_h_anonymous_write
(感谢来自 Gluster 邮件组的 Suomya)。一种隐藏的东西是文件标识符,它不是普通的文件名,而是类型的东西struct glfs_object
。客户端通过 API 调用获取此类对象的实例glfs_h_lookupat/glfs_h_creat
。这里的重点是glfs_object
表示文件名是“无状态的”,在某种意义上,对应inode
的文件名保持不变(不计入引用)。应该将其glfs_object
视为普通文件名标识符并像使用文件名一样使用它(实际上,glfs_object
存储指向对应的普通指针inode
而不对其进行引用计数)。
最后,我们应该使用glfs_h_lookupat/glfs_h_creat
一次并多次写入文件glfs_h_anonymous_write
。
这样我就能够在0.5 秒内将 64 个字节附加到 5000 个文件,这比使用挂载卷和打开//写入/关闭序列快 20 倍。