내 특별한 경우에는 완전히 시작한 remote-fs
후에 장치 를 시작하고 싶습니다 glusterfs
.
내 시스템 파일 :
glusterfs
목표:
node04:/usr/lib/systemd/system # cat glusterfsd.service
[Unit]
Description=GlusterFS brick processes (stopping only)
After=network.target glusterd.service
[Service]
Type=oneshot
ExecStart=/bin/true
RemainAfterExit=yes
ExecStop=/bin/sh -c "/bin/killall --wait glusterfsd || /bin/true"
ExecReload=/bin/sh -c "/bin/killall -HUP glusterfsd || /bin/true"
[Install]
WantedBy=multi-user.target
remote-fs
목표:
node04:/usr/lib/systemd/system # cat remote-fs.target
[Unit]
Description=Remote File Systems
Documentation=man:systemd.special(7)
Requires=glusterfsd.service
After=glusterfsd.service remote-fs-pre.target
DefaultDependencies=no
Conflicts=shutdown.target
[Install]
WantedBy=multi-user.target
모든 Gluster 데몬이 성공적으로 시작되고 NFS를 통해 Gluster 파일 시스템을 마운트하려고하지만 Gluster의 NFS 공유는 glusterfs.service
시작한 직후가 아니라 몇 초 후에 준비 되므로 일반적으로 지시문 과 remote-fs
관련하여 마운트 할 수 없습니다 .Requires
After
로그를 보자 :
Apr 14 16:16:22 node04 systemd[1]: Started GlusterFS, a clustered file-system server.
Apr 14 16:16:22 node04 systemd[1]: Starting GlusterFS brick processes (stopping only)...
Apr 14 16:16:22 node04 systemd[1]: Starting Network is Online.
Apr 14 16:16:22 node04 systemd[1]: Reached target Network is Online.
Apr 14 16:16:22 node04 systemd[1]: Mounting /stor...
여기서 모든 것이 정상입니다. 원격 파일 시스템 (/ stor)은 단위 파일에 따라 glusterfs가 시작된 후에 마운트되는 것처럼 보입니다 ...하지만 다음 줄은 다음과 같습니다.
//...skipped.....
Apr 14 16:16:22 node04 systemd[1]: Started GlusterFS brick processes (stopping only).
뭐? GlusterFS는이 순간에만 준비되었습니다! 그리고 우리는 본다 :
//...skipped.....
Apr 14 16:16:23 node04 mount[2960]: mount.nfs: mounting node04:/stor failed, reason given by server: No such file or directory
Apr 14 16:16:23 node04 systemd[1]: stor.mount mount process exited, code=exited status=32
Apr 14 16:16:23 node04 systemd[1]: Failed to mount /stor.
Apr 14 16:16:23 node04 systemd[1]: Dependency failed for Remote File Systems.
Apr 14 16:16:23 node04 systemd[1]: Unit stor.mount entered failed state.
systemd가 스토리지 마운트를 시도 할 때 NFS 서버가 준비되지 않아 마운트에 실패했습니다.
시스템 부팅 프로세스의 비 결정적 특성으로 인해 부팅시이 파일 시스템을 마운트하는 경우가 있습니다 (약 10 개 중 1 개).
onboot 마운트에 실패한 경우 서버에 로그인하여 / stor 디렉토리를 수동으로 마운트 할 수 있으므로 Gluster의 NFS 서비스가 제대로 작동하는 것 같습니다.
어떻게 시작 remote-fs
후 glusterfsd
, 즉 후 Started GlusterFS brick processes
로그에 선이 나타납니다?
remote-fs
는 가장 최근의 목표 중 하나 인 것 같습니다. 따라서 실제로는 필요하지 않은 다른 "해결 방법"목표 이후에 시작할 수 없습니다 remote-fs
.
glusterfsd.service
단위 파일에 정말로 혼란 스럽습니다 . 실제로 어떤 서비스를 시작하는 것, 실제로하지 않습니다 죽이고 모든 glusterfsd
프로세스를. 다른 gluster 관련 장치 파일이 있습니까?
stor.mount
장치를 보여줄 수 있습니까 ?
ExecStartPre=<command>
속성을 Unit 섹션에 추가 할 수 있습니까glusterfsd.service
? 이로 인해glusterfsd.service
성공을 표시하고을 (를) 활성화 하지 못할 수 있습니다remotefs.target
.