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作成するには、1行だけ入力してください。/etc/systemd/system/nfs-server.service.d/override.conf

私の解決策は以下を使用することです。

systemctl edit --full nfs-server

完全な設定を複製するので、コメントアウトが可能です。

##Before=remote-fs-pre.target

そして、以下を追加してください:

After=mnt-foo.mount

今まではそんなに良くなった。

関連情報