iSCSI 대상에 연결한 후 NFS 서버를 강제로 시작

iSCSI 대상에 연결한 후 NFS 서버를 강제로 시작

iSCSI 블록을 가져와 ext4로 마운트한 다음 NFS 공유로 내보내는 Ubuntu 시스템이 있습니다. 시작 시 iSCSI 디렉터리 마운트가 아직 로드되지 않았기 때문에 NFS가 시작되지 않습니다.

"exportfs: /mnt/iscsi/nfs를 계산할 수 없습니다: 해당 파일이나 디렉터리가 없습니다"

서버가 시작된 후 nfs-kernel-server를 실행하면 제대로 작동합니다.

NFS가 iSCSI 블록 마운트를 기다리도록 하는 방법이 있습니까?

편집: 추가 조사 중.. nfs-server.service가 mnt-iscsi.mount를 기다리도록 강제하여 종속성 루프를 트리거했습니다.

Dec 02 09:16:09 on1 systemd[1]: nfs-server.service: Found ordering cycle on mnt-iscsi.mount/start
Dec 02 09:16:09 on1 systemd[1]: nfs-server.service: Found dependency on remote-fs-pre.target/start
Dec 02 09:16:09 on1 systemd[1]: nfs-server.service: Found dependency on nfs-server.service/start
Dec 02 09:16:09 on1 systemd[1]: nfs-server.service: Unable to break cycle starting with nfs-server.service/start

무엇을 바꿔야 할지 알아보려고 노력했습니다.

감사해요!

답변1

remote-fs-pre.target제 경우에는 iSCSI 드라이브가 iSCSI 드라이브의 일부로 취급 되어 systemd기본적으로 부팅되는 것이 문제였던 것 같습니다 nfs-server Before.

질문에서 지적한 것처럼 루프를 After만들 려면 한 줄만 입력하십시오 ./etc/systemd/system/nfs-server.service.d/override.conf

내 솔루션은 다음을 사용하는 것입니다.

systemctl edit --full nfs-server

전체 설정을 복제하므로 주석 처리가 가능합니다.

##Before=remote-fs-pre.target

그리고 다음을 추가하세요:

After=mnt-foo.mount

여태까지는 그런대로 잘됐다.

관련 정보