2つのノードを使用する単純な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は、サーバー/クライアント構成で2つのノードを使用しているためです。
これで、他のノードとのGluster通信を許可するために、ノードにiptablesルールを設定しました。 /data ポイントを root として手動でマウントすることに問題はなく、他のノードのファイルの変更も問題なく解決されます。
ただし、起動時に自動的にこれを実行することはできません。 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権限を持つルートの所有です(可能であればそのままにしておく必要があります)。
答え1
私は同じ問題を抱えている他の人のためにこの問題を解決しました。次のコマンドを使用してSELinuxモジュールを作成する必要がありました(setroubleshootのおかげで):
ausearch -c 'fusermount-glus' --raw | audit2allow -M my-fusermountglus
semodule -i my-fusermountglus.pp
これにより、問題なく強制モードに戻り、起動時にディレクトリがマウントされます。