« Explore2fs | メイン | なか卯の食べ始め »
2006年02月04日
CentOS で複数の IP アドレスを設定する
サーバの故障で、すぐに代替ハードを準備できないときは、他の稼働中のサーバにリダイレクトするのが最も得策だと言えます。もちろん、ロードバランサなどを使っているのなら別ですが。
news.ceek.jp 219.117.219.155(以下 155) のサーバが故障して 219.117.219.154(以下 154) のサーバにリダイレクトしたいと考えたとき、まずは、 news.ceek.jp の DNS 情報を書き換えるのが思い浮かぶ。しかし、通常は DNS の TTL を大きめに与えているから、すぐに IP アドレスの変更を反映させるのは難しい。
少し考えたところ、リダイレクト先のサーバである 154 に 155 のアドレスを振ればいいことに気がつきました。そうすれば、アクセスする側は 155 にアクセスしても 154 のサーバに接続させることが出来る。
$ ifconfig eth0:0 219.117.219.155 netmask 255.255.255.248 broadcast 219.117.219.159
154 のサーバで root になって、以上を実行すればいい。インターフェイス eth0 に IP アドレスの設定を追加しているわけです。自分の環境でやる場合は、適切な値で…
これで、サーバが故障しても、とりあえず故障中のメッセージは出せました。もちろん、同じネットワーク内で複数のサーバを動かしている場合しか出来ないわけですが。そんな個人は多いんですかね?企業だったら、代替ハードを準備しているだろうし。
復旧した news.ceek.jp も、実際は 219.117.219.156 で動いています。 /etc/rc.d/rc.local というファイルに書いておけば、起動したときに自動実行されるので便利ですよ。
DNS の TTL に関してついでに。
サーバの移転を検討している場合は、事前(1週間ほど前)に TTL を短くしておくといいです。 TTL というのは DNS のキャッシュ保持期間ですね。事前に短い値にしておけば、情報の変更が早く反映されるはずです。
【関連情報】
・Linux で複数の IP アドレスを割り当てる
http://www.redout.net/data/ifconfig.html
2006年02月04日 20:34 | Technology