6.1.2.2. 自动挂载卷 要自动挂载 Gluster 卷 • 要挂载卷,请编辑 /etc/fstab 文件并添加

6.1.2.2. 自动挂载卷 要自动挂载 Gluster 卷 • 要挂载卷,请编辑 /etc/fstab 文件并添加

我刚刚设置了 7 个 KVM 客户机,全部运行 Ubuntu 12.04 LTS 64 位最小服务器,以测试来自 Ubuntu 官方存储库的 glusterfs 3.2.5。其中两个形成镜像对(即replica 2),其中五个是客户端。我对这个文件系统还不熟悉,想获得一些“动手”经验。

设置过程基本没有发生什么意外,直到我将以下内容输入到每个glusterfs客户端中/etc/fstab

192.168.122.120:/testvol /var/local/testvol glusterfs defaults,_netdev 0 0,其中192.168.122.120是第一个“glusterfs 服务器”的 IP 地址。

如果我发出手册mountallmount.glusterfs 192.168.122.120:/testvol /var/local/testvolCLI 上的,则mount显示卷已成功导入。但是一旦客户端重新启动,在它恢复后,卷就不会被挂载!

我在网上搜索了一下,发现本文,但由于我没有在同一个节点上运行客户端和服务器,恕我直言,它并不严格适用。

因此,作为一个笨拙的“解决办法”,我在sleep 3 && mount.glusterfs 192.168.122.120:/testvol /var/local/testvol每个客户端节点的 中放入/etc/rc.local。据我所知,它似乎能够在每个节点上安装卷。

但这非常丑陋,并且我希望得到关于如何正确解决此 glusterfs-non-boot-time-mounting 问题的提示。

请注意,尽管所有节点的 IP 地址都已填入其主机名,但我使用的是第一个“glusterfs 服务器”的 IP 地址/etc/hosts。我认为使用 IP 地址更为可靠。

--扎克

答案1

一个潜在的解决方案是向 fstab 添加更多的 nobootwait 和 direct-io-mode,请尝试以下操作:

     serverip:/vol  mountpoint  glusterfs  defaults,nobootwait,_netdev,direct-io-mode=disable  0       0

另外,检查您的 /etc/init/mounting-glusterfs.conf 并添加:

     exec start wait-for-state WAIT_FOR=networking WAITER=mounting-glusterfs-$MOUNTPOINT

我希望这会有所帮助,因为我过去遇到过类似的问题并使用上述组合/配置解决了。

答案2

我想知道在 fstab 中添加一些日志是否能为您提供更多信息?请参阅管理指南中的 fstab 配置选项: http://www.gluster.org/wp-content/uploads/2012/05/Gluster_File_System-3.3.0-Administration_Guide-en-US.pdf

6.1.2.2. 自动挂载卷 要自动挂载 Gluster 卷 • 要挂载卷,请编辑 /etc/fstab 文件并添加

以下行: HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR glusterfs defaults,_netdev 0 0

例如:

server1:/test-volume /mnt/glusterfs glusterfs defaults,_netdev 0 0

安装选项

使用 mount -t glusterfs 命令时,您可以指定以下选项。请注意,您需要用逗号分隔所有选项。

  • backupvolfile-server =服务器名称
  • fetch-attempts=N (其中 N 是尝试次数)
  • log-level=日志级别 log-file=日志文件
  • direct-io-mode=[启用|禁用]
  • ro(用于只读挂载)acl(用于启用 posix-ACL)
  • 蠕虫(使挂载成为 WORM - 一次写入,多次读取类型)
  • selinux(在 GlusterFS 挂载上启用 selinux

例如: mount -t glusterfs -o backupvolfile-server=volfile_server2,fetchattempts=2,log-level=WARNING,log-file=/var/log/gluster.log server1:/testvolume /mnt/glusterfs

我倾向于认为使用 IP 而不是名称更简单且更可靠。

相关内容