cryptsetupの直後にsystemdでサービスを開始するには?

cryptsetupの直後にsystemdでサービスを開始するには?

systemdを使用してArchLinuxをインストールしました。暗号化されたデータデバイスをマウントしたら、すぐにフックを実行してその上にフラッシュキャッシュを配置しようとしています。動作するスクリプトがありますが、正しい順序でロードできません。これが私がしたことです:

文書:/usr/lib/systemd/system/flashcache.service

[Unit]
Description=FlashCache
[email protected]

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/local/bin/flashcache_startup_script

[Install]
WantedBy=dev-mapper-data_cached.device

ファイルを作成して実行してみましたsystemctl enable flashcache.service

ただし、起動時に開始されず、dev-mapper-data_cachedがタイムアウトした後にルートシェルに入り、flashcache_startup_script手動で実行できます。

出力を確認したjournalctl -b結果、タイムアウトが発生するまでFlashCacheサービスがロードされないことが確認されました。

私が試したが成功しなかった別のオプションはRequires=dev-mapper-vg1-data.device

私は何が間違っていましたか?

ベストアンサー1

私は主に以下を使用してさまざまなアプローチを試しました。次のリソース。なぜ動作するのか分かりませんが、次の単位ファイルが問題を解決しました。

[Unit]
Description=FlashCache
BindsTo=dev-vg1-data.device
After=dev-vg1-data.device
DefaultDependencies=no

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/local/bin/flashcache_startup_script

[Install]
WantedBy=sysinit.target

おすすめ記事