Gluster 和“无法获取卷文件”

Gluster 和“无法获取卷文件”

我最近将我的一个 gluster 客户端升级到基于 Debian Stretch 的系统,但无法从中挂载任何 gluster 卷。我的 gluster 服务器在 Ubuntu 14.04 上运行 3.4.2。Stretch 系统运行的是 3.8.x 的某个版本。我收到的错误是0-mgmt: failed to fetch volume file (key:/sata_temp)

这是由于版本不兼容造成的吗?


重新安装后,客户端仍然无法挂载卷ssd_temp。这看起来像是一个被阻塞的端口,正如@Spooler 提到的那样:(在客户端上)

# mount -t glusterfs 172.22.24.5:/ssd_temp ssd_temp/
Mount failed. Please check the log file for more details.

(在服务器上)

# gluster volume status ssd_temp                                                                                                                                                                                                           
Status of volume: ssd_temp
Gluster process                                         Port    Online  Pid
------------------------------------------------------------------------------
Brick 172.22.24.5:/mnt/ssd_temp/brick                   49163   Y       2936
NFS Server on localhost                                 2049    Y       2949

There are no active volume tasks


# tail /var/log/glusterfs/bricks/mnt-ssd_temp-brick.log                                                                                                                                                                                                              
[2018-06-14 18:22:29.691196] E [rpcsvc.c:195:rpcsvc_program_actor] 0-rpc-service: RPC Program procedure not available for procedure 45 in GlusterFS 3.3
[2018-06-14 18:22:29.691236] E [rpcsvc.c:450:rpcsvc_check_and_reply_error] 0-rpcsvc: rpc actor failed to complete successfully

# tail /var/log/glusterfs/etc-glusterfs-glusterd.vol.log
[2018-06-14 18:32:12.197131] E [rpcsvc.c:521:rpcsvc_handle_rpc_call] 0-glusterd: Request received from non-privileged port. Failing request

答案1

有可能。但是,客户端通常可以很好地连接到较旧的服务器版本(但反之则不然)。一般来说,您应该努力确保您的服务器和客户端版本匹配。

找出这一点的最佳方法是查看该资源的卷日志,无论是来自客户端还是服务器。这些日志可以在以下位置找到(我假设您正在使用 FUSE 装载机。因为看起来是这样):

FUSE client log: /var/log/glusterfs/<mountpoint path extraction>.log
glusterd server log: /var/log/glusterfs/glusterd.log

您可能会从客户端日志中获取最多数据。

此类问题通常也是由于无法联系 gluster 服务器获取卷数据而导致的。请确保您可以使用卷详细信息中的任何名称通过网络访问这些服务器。您可以通过调用以下命令在服务器上查看这些详细信息:

# gluster volume status <volume_name>

这将打印类似这样的输出:

# gluster volume status test-volume
Status of volume: test-volume
Gluster process                        Port    Online   Pid
------------------------------------------------------------
Brick arch0:/export/rep1                24010   Y       18474
Brick arch1:/export/rep2                24011   Y       18479
NFS Server on localhost                38467   Y       18486
Self-heal Daemon on localhost          N/A     Y       18491

在“Brick:”行中,您将看到一个主机名(arch[0,1])。客户端将使用列出的砖地址来连接 Gluster,在许多情况下,这涉及使用 DNS 以允许 Gluster 在内部使用与客户端连接时不同的 IP。无论如何,只需确保客户端可以通过该端口上的砖地址联系服务器。

您升级了整个操作系统,因此防火墙可能以某种方式打开/重置。

相关内容