他のタスクを実行する前にZFSマウントスクリプトを起動するようにシステム化するにはどうすればよいですか?

他のタスクを実行する前にZFSマウントスクリプトを起動するようにシステム化するにはどうすればよいですか?

今私はFedora 19でzfsonlinuxを使用しており、非常にうまく動作します。計画によると、systemd(zfsに含まれています)が呼び出すinitscriptは起動時にマウントするために使用されますが、非常に明白な欠陥があります。 ZFS マウント方式の開始時に遅すぎるため、/zfs ダウンストリーム転送がありません。他のサービスのインストールの多くが失われて復元できないため、失敗します。

私が求めているのは、他の作業を実行する前にシステムにスクリプトを起動させる方法です。私はinitscriptsを使ってこれを行う方法を知っていますが(2のように低い実行レベルに設定するだけです)、systemdを使用してターゲットシステムでこれを実行することについてはまだあいまいではありません。 。

zfsを起動する必要があるサービスで設定しようとしましたが、Type = idleを除いては機能しません(しかし、より良い方法が必要です)。

Requires=network.target
After=zfs
Type=idle

そして参考に、Fedoraが提供するinitscriptです。。 Linux で ZFS をマウントする方法の性質上、(?) fstab にエントリを入れて完了することはできず、コマンドを使用してマウントする必要があります。

ベストアンサー1

systemdこの状況に関する具体的なガイドラインがありますRequiredMountsForman systemd.directives

RequiresMountsFor=[mountpoint]たとえば、使用法はですRequiresMountsFor=/zfs

重要な質問は、おそらく、Qステータスなどの「他の」条件を実際に反映する必要があるかどうかです。私はこれらの依存関係を可能な限り選択的に使用して、最良のシーケンスと最大の並列化を見つけることをサポートすることがアイデアだと思います。

おすすめ記事