我有一個使用兩個節點的簡單 2 塊複製。我正在嘗試在啟動時自動設定卷掛載的掛載點。我嘗試過各種解決方案,例如這裡和這裡,但其中大多數都是過時的解決方案。我正在使用 systemd 和 gluster 3.8.12。
這是相關的 fstab 行:
127.0.0.1:/gv-ftp-data /data glusterfs defaults,_netdev,noexec,nosuid,nodev,acl,context=system_u:object_r:user_home_t:s0 0 2
請注意,127.0.0.1 是因為我在伺服器/客戶端配置中使用兩個節點。
現在,我已經在節點上設定了 iptables 規則,以允許與其他節點進行 gluster 通訊。以 root 身分手動安裝 /data 點沒有問題,而且它可以很好地解決來自其他節點的檔案變更。
但是,我無法讓它在啟動時自動執行此操作。我嘗試使用 systemd 自動掛載,但無法正常工作,並且嘗試添加x-systemd.automount
到 fstab 選項但沒有成功。
回顧日記,我發現了這樣一句話:
May 24 10:16:12 ftp-2.novalocal mount[2019]: /usr/bin/fusermount-glusterfs: mount failed: Permission denied
我想這就是罪魁禍首,我該如何解決這個問題?請注意 /data 由具有 711 權限的 root 擁有(如果可能的話,它需要保持這種狀態)
答案1
我為其他遇到相同問題的人解決了這個問題。我必須使用這些命令建立 SELinux 模組(感謝 setroubleshoot):
ausearch -c 'fusermount-glus' --raw | audit2allow -M my-fusermountglus
semodule -i my-fusermountglus.pp
這樣做可以讓我毫無問題地切換回強制模式,現在目錄已在啟動時安裝。