私はUbuntu 16.04ベースのVM(KVM / libvirt実行)を管理しています。このサーバーは、私たちの部門内で使用されているいくつかの仮想マシンをホストしています。
すべての仮想マシンは、当社のSambaサーバーを使用してさまざまなデータを保存します。
昨夜のダウンタイム中にマシンが必要なSambaサーバーよりもはるかに高速に起動し、仮想マシンで多数のサービスエラーが発生していることがわかりました。
vmごとにパッチを適用する代わりに、再起動後にすべてのvmsを起動する前に、私のvmホストにCIFSサーバーを待つように指示したいと思います(デフォルトではlibvirt -guests.serviceがmnt-SHARENAMEに依存するようにしたいです。マウント)。
/lib/systemd/system/libvirt-guests.serviceに依存関係を追加できることはわかっていますが、これがシステムで承認された方法であるかどうかはわかりません。依存関係を表現する他の方法はありますか?
答え1
これらの間に「一度実行」ダミーサービスを作成できます。
xinetd
私の場合、xinetdとxinetdに問題がありました。NFS
(NFSファイルシステムがマウントされる前にXinetdが起動され、一部のサービスが起動しません。)ファイルにまとめました。/lib/systemd/system/fix-xinetd-nfs-dependency.service
[Unit]
Description=Make xinetd wait for NFS otherwise it can not start services
After=remote-fs.target
Before=xinetd.service
[Service]
Type=oneshot
ExecStart=/bin/true
[Install]
WantedBy=multi-user.target
サービスを作成したら(Before
およびAfter
ラインに要件を反映させる)、次のことができますsystemctl enable
。幸いなことにこれが実行されます。今後VMが起動し、Sambaファイルシステムが利用可能です!