現在、動的に提供される IP アドレスがあり、静的 IP アドレスに切り替えています。そのため、3 つの LAMP サーバーの IP アドレスを変更する必要があります。これらのサーバーは、DNS 用に bind9 を実行し、電子メール用に postfix/dovecot も実行します。(MySQL は実際には Percona DB クラスターとして実行されていますが、これは無関係かもしれません。)
私は良い戦略を持っていると思いますが、以前にこれを成功させた可能性のある他の人に私の論理を確認したいと思っています.
コンセプトは、各マシンのすべての Web、データベース、およびメール サービスを一度に 1 つずつ停止し、残りの 2 つのサーバーのいずれかにトラフィックをプッシュし、次のスクリプトを実行して古い IP アドレスを新しい IP アドレスに置き換え、再起動することです。サーバーにトラフィックをプッシュバックしようとし、すべてがうまくいけばクラスター内の次のサーバーに進みます。
システム内の古い IP アドレスのインスタンスを見つけるために grep -r を使用しましたが、考慮する必要がある重要なものを見逃していないことを確認する必要があります。
find /etc/bind -type f -print0 | xargs -0 sed -i 's/old.ip.address/new.ip.address/g'
find /etc/postfix -type f -print0 | xargs -0 sed -i 's/old.ip.address/new.ip.address/g'
find /etc/apache2 -type f -print0 | xargs -0 sed -i 's/old.ip.address/new.ip.address/g'
find /etc/postfix -type f -print0 | xargs -0 sed -i 's/old-ip-address/new-ip-address/g'
find /etc/bind -type f -print0 | xargs -0 sed -i 's/rev.address.ip.old/rev.address.ip.new/g'
明確にするために、grep -r は /etc/bind/zones テーブル、/etc/postfix 構成ファイル、および /etc/apache2 構成ファイルで IP アドレス参照を検出しました。ハイフンで区切られた IP アドレスは、postfix 構成ファイルにも見つかりました。リバース IP アドレスも /etc/bind/named.conf.local ファイルで見つかったので、これも置き換える必要があります。
ここで何か不足している可能性があるかどうか、誰にもわかりますか? 私はこれを実稼働環境で行っています...もちろん、最も理想的な状況ではありません。