systemd - MACアドレスが変更されたときにサービスが開始されないようにする方法

systemd - MACアドレスが変更されたときにサービスが開始されないようにする方法

Linodeで多くのDockerコンテナを実行しているLinux(Debian 10)サーバーがあります。

停止する前に再起動するようにDockerコンテナを設定したため、サーバーを再起動する必要がある場合は、すべてのコンテナが正常に起動します。

前日の夜のバックアップを取得し、新しいLinodeインスタンスに復元する災害復旧(DR)テストを実行したいと思います。

残念ながら、自動的に起動すると、私のPostgresバックアップ(pgbackrest)に接続し、潜在的に誤った結果を引き起こす可能性があります(両方のプライマリクラスタがバックアップに書き込まれます)。

マシンが変更されたら、DRサーバーがdocker(systemd)を起動しないようにしたい(MACアドレスでこれを検出できると仮定しますが、他の提案が役に立ちます)。

プライマリマシンが変更されたときに起動しないようにsystemd(docker.service)をどのように設定する必要がありますか?

答え1

解決策は非常に簡単であることがわかりました。

docker.serviceを/lib/systemd/systemから/etc/systemd/systemにコピーしました。

[Unit]セクションにConditionHost = machine-id条件を追加しました。

ここで、 machine-id は /etc/machine-id で検索されます。

関連情報