我在几台 Ubuntu 服务器上使用 glusterfs:其中两台以复制模式运行 glusterfs 服务器。
在没有任何明显错误的情况下,glusterfs 分区变得陈旧,当我尝试访问陈旧分区时系统显示此错误:
Transport endpoint is not connected
此外,ls -l
在父文件夹上运行时我得到:
d????????? ? ? ? ? ? myfolder
我尝试了所有能找到的命令来卸载该分区,但无法完成:
umount -l /path/to/mount/point
umount -f /path/to/mount/point
此外,使用fuser
命令显示访问此文件夹的进程不起作用。无法卸载 fuse 内核模块,因为从内核配置中可以清楚地看出 fuse 内置于内核中,而不是可加载模块。我在/boot/config-2.6.32-24-server
CONFIG_FUSE_FS=y
我只剩下两个选择:
- 重新启动系统。
- 创建另一个挂载点(如 myfolder2),然后使用 再次挂载它
sudo glusterfs -f /etc/glustefs/glusterfs.vol /path/to/folder2
。
当然,我选择了选项 2。
有人遇到过这样的问题吗?
有人对这种情况有更好的解决方案吗?
答案1
尝试停止 glusterfs 服务,首先在第二个节点上,然后在第一个节点上。对于 Ubuntu,命令是:
sudo/etc/init.d/glusterfs stop
或者,从两台机器的启动中移除 glusterfs 服务并重启两台机器。这样分区就不应该在启动时挂载,因为 glusterfs 会做这项工作。
答案2
这可以解决 gluster 的“传输端点未连接”错误
sudo umount /mnt
sudo fusermount -uz /mnt
sudo mount /mnt