我已经在一对服务器上配置了 gluserfs,我可以将它安装在我的客户端机器上。当我将两台机器脱机并从头启动时,我还希望能够在引导时在两台 glusterfs 服务器上挂载 glusterfs 文件系统。
这些服务器使用起搏器设置为集群。除了共享数据库之外,pacemaker 还提供了一个虚拟 IP 地址来挂载 gluster 文件系统。
在两台服务器都使用以下命令启动后,我可以在每个服务器上手动挂载文件系统:
mount -t glusterfs nodea:/gv0 /data
Run Code Online (Sandbox Code Playgroud)
这很棒。但我希望这在启动时自动发生。
所以我尝试在 fstab 中添加一个条目:
nodea:/gv0 /data glusterfs _netdev 0 0
Run Code Online (Sandbox Code Playgroud)
当我在集群启动并运行后运行“mount -a”命令时,它会起作用。但是,它在启动时不起作用。(这是客户端机器在启动时挂载 glusterfs 的方式,但集群已启动并正在运行。所以当然它可以在启动时为它们工作。)
我还尝试创建一个 systemd 单元文件来处理启动时 glusterfs 的安装。我的单元文件位于名为“data.mount”的 /etc/systemd/system 中,如下所示:
# Mounting gluster fs at /data
[Unit]
Description = Automount gluster filesystem
After=pcsd.service
[Mount]
What=nodea:/gv0
Where=/data
Type=glusterfs
[Install]
WantedBy = pcsd.service
Run Code Online (Sandbox Code Playgroud)
同样,当两台服务器都通过运行命令“systemctl start data.mount”启动并运行时,这会起作用。如果我只重启集群中的一台机器,它也可以工作。但它不适用于重新启动两台服务器。
如果集群中的两个节点都出现故障,或者如果我出于某种原因想同时重新启动两个节点,我想确保当两台机器重新启动时,glusterfs 已安装在 /data 上。
作为一种解决方法,我在两台机器上的 root 的 crontab 中添加了以下几行:
@reboot sleep 60 && mount -t glusterfs nodea:/gv0 /data
@reboot sleep 300 && mount -t glusterfs nodea:/gv0 /data
Run Code Online (Sandbox Code Playgroud)
如果我从头开始启动两个服务器,这会起作用。但我担心的是,如果起搏器服务的启动时间超过 5 分钟,那么我仍然没有将 gluster 文件系统安装在服务器上的 /data。
有没有办法让 systemd 单元文件检查它是否真的挂载了文件系统,以及是否在挂载之前不重试?
是否有其他方法可以在启动时安装 glusterfs 并检查它是否已实际安装?
小智 16
您应该能够在需要时让 systemd 自动挂载。我在启动时安装 Ubuntu 16.04 也有问题。基于此消息,我添加noauto,x-systemd.automount
到我的fstab
行中:
gluster1:/volume1 /storage-pool glusterfs defaults,_netdev,noauto,x-systemd.automount 0 0
Run Code Online (Sandbox Code Playgroud)
我已经重新启动了应用程序服务器几次,它们都已成功安装。我希望这也能帮助你!
小智 8
鉴于 LP 的态度,我一直在解决这个问题:
文件/etc/systemd/system/glusterfsmounts.service
::
[Unit]
Description=Glustermounting
Requires=glusterfs-server.service
[Service]
Type=simple
RemainAfterExit=true
ExecStartPre=/usr/sbin/gluster volume list
ExecStart=/bin/mount -a -t glusterfs
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
那么你会:
systemctl 守护进程重新加载
systemctl 启用 glusterfsmounts
并重新启动......迄今为止对我来说是最好的/最稳定的
归档时间: |
|
查看次数: |
12366 次 |
最近记录: |