부팅 시 GlusterFS 지점 마운트가 거부되었습니다.

부팅 시 GlusterFS 지점 마운트가 거부되었습니다.

두 개의 노드를 사용하는 간단한 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은 서버/클라이언트 구성에서 두 노드를 모두 사용하고 있기 때문입니다.

이제 다른 노드와의 Gluster 통신을 허용하기 위해 노드에 iptables 규칙을 설정했습니다. /data 포인트를 루트로 수동으로 마운트하면 문제가 없으며 다른 노드의 파일 변경 사항이 문제 없이 해결됩니다.

그러나 부팅 시 자동으로 이 작업을 수행하도록 할 수는 없습니다. systemd 자동 마운트를 사용해 보았지만 작동하지 않았고 x-systemd.automountfstab 옵션에 추가하려고 시도했지만 성공하지 못했습니다.

일기장을 뒤져보니 이런 문구가 있었습니다.

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

이렇게 하면 문제 없이 적용 모드로 다시 전환할 수 있었고 이제 디렉터리는 부팅 시 마운트됩니다.

관련 정보