ウェブサイトのサーバーを変更しています。古いサーバーのIPを新しいサーバーに移動することはできません。ダウンタイムをなくすために、私は次のことを計画しています。誰かがそれが機能することを確認してください:
私のロジックによると、古いボックスから新しいIPにリダイレクトすると、ユーザーにはブラウザーにドメイン名は表示されず、新しいIPが表示されます。ユーザーがブラウザにドメイン名を表示できるように、新しいIPにリダイレクトしてHOSTNAMEと一緒に送信する方法はありますか?
これは、サイトが常に使用されており、伝播中にデータベースが新しいサーバーと古いサーバーの間で同期されないため、DNS設定を変更するだけでは機能しないためです。
これが私のために働いた方法です:
手順4は次のとおりです。
LinuxサーバーでIPTablesを構成して、ポート80(デフォルトのWebサーバーポート)に着信するすべてのトラフィックをIP 122.164.34.240
。最初のステップは、この種の転送が行われるようにLinuxボックスを設定することです。ターミナルウィンドウを開き、rootユーザーとしてログインして、次のコマンドを実行します。
# echo 1 >/proc/sys/net/ipv4/ip_forward
次のステップは、トラフィックを新しいサーバーにリダイレクトするようにIPTablesに指示することです。
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 122.164.34.240
ここでIPTablesマジックが起こります。最後の3番目のステップでは、IPTablesに新しいサーバーのポート80への接続の起点を書き換えて、古いサーバーからのように見えるように指示します。
# iptables -t nat -A POSTROUTING -p tcp -d 122.164.34.240 --dport 80 -j MASQUERADE
接続がクライアントマシンからのものであることを新しいサーバーのWebサーバーに通知しない場合、接続が古いサーバーからのものであると考えるため、最後の手順が必要です。
データベースと電子メールサーバーポートについても、これを繰り返すことができます。
複数のAレコードを追加することもできます。たとえば、Googleはこれを使用し、nslookupの出力を確認します。
Name: google.com
Addresses: 209.85.148.101
209.85.148.102
209.85.148.113
209.85.148.138
209.85.148.100
209.85.148.139
ドメインに複数のAレコードを追加すると、訪問者は複数のIPを受け取り、その順序でそれらを試します。 1つが失敗すると、クライアントは次のクライアントに移動して試行します。
24時間前に追加のAレコードとして新しいIPをセットアップし、新しいサーバーを起動し、古いサーバーをシャットダウンして、IPを削除します。
別のオプションは、VIP(仮想IP)を使用することです。したがって、手順は次のようになります。
OK、データベースのレプリケーションについて説明したので、次のことを行う必要があります。
Rinetd.conf内:
OLD_SERVER_IP 80 NEW_SERVER_IP 80
webサーバーの前でHAプロキシを使用できます。その1つがメンテナンスモードになると、セカンダリサーバーが引き継ぎます。