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