質問: 旧専用サーバ(Red Hat Linux)にてWebサーバを稼働させており、 新専用サーバ(CentOS6.6)への移転を検討しています。 移転は (1) 旧サーバのホームディレクトリをtar圧縮 (2) 旧サーバのデータベースをmysqldumpでバックアップ (3) 設定ファイル等のバックアップ(iptablesやcron、Apache等の設定) (4) 新サーバのセットアップ(ドメイン等) (5) 新サーバにて旧サーバのバックアップデータ(1)〜(3)をダウンロード (6) 新サーバにて解凍、MySQLデータのリストア 概ねこの手順で進める予定ですが、 上記以外にしなければいけない点、こうした方が楽な点、 その他何か注意すべき点等ありましたら教えて頂ければ幸いです。
回答: web サーバとのことなので... 旧サーバは dump の前に httpd (かな?)をとめ dump したら mysqld を落とします。そうでないと、DNS のキャッシュの問題で、旧サーバにアクセスしたクライアントがアクセスしてしまいます。もし EC サイト等を運用していた場合、注文がはいったらまずいです。 旧サーバでリバースプロキシを動かして新サーバにアクセスさせる手はありますが、そこまでしなくても良いかとは思います。 rsync の利用はほぼ必須ですね。ただ、MySQL のバージョンが異なる場合、rsync はやめた方が無難かなと思います。 web サービスの停止時間を短くしないといけない場合、かなり気をつけないと思います。 以下でも不十分ですが...これくらい、コマンドレベルできちんと計画してからやらないと、思わぬトラブルに巻き込まれることがありますから、気をつけて下さい。 1. 設定ファイル等のバックアップ(iptablesやcron、Apache等の設定)、利用パッケージ一覧を確認 2. 上記設定を基に、新サーバのセットアップ(ドメイン等) 3. 旧サーバのホームディレクトリ等を rsync にてファイル転送 1回目 (シェルスクリプトを書いておく) 4. 旧サーバのホームディレクトリ等を rsync にてファイル転送 2回目 (シェルスクリプトの動作チェック[rsync の書き方によっては、2回目以降で転送先フォルダがディレクトリ1つ分変わります。詳細割愛]) 5. MySQL のデータを dump して、新サーバで restore (バージョンが違う場合は mysql_upgrade を実行。service の stop, start を繰り返し、壊れないことを確認) 6. 新サーバ動作確認 [テスト用に別のドメインを一時的に用意したり、確認元のマシンで hosts を編集して新サーバにアクセスさせる] 7. DNS の TTL を短くしておく ここまでが移転準備で、以下が実際の移転。状況によって、深夜か日中かを選びます。 1. 新サーバ httpd は止めておく 2. 旧サーバ httpd 止める 3. 旧サーバ mysqld 止める 4. DNS の切り替え(TTL は短いまま) 5. mysqldump して、転送して、リストア。mysql_upgrade 実行 6. 旧サーバのホームディレクトリ等を rsync にてファイル転送 3回目 7. 新サーバ httpd 稼働し、動作確認 でしょうかね...落ち着いたら 1. DNS の TTL を伸ばす きちんとやると、サーバ移転はかなり大変ですよ。