質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

3回答

5437閲覧

サーバの引っ越し(Linux)手順について

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

4クリップ

投稿2015/05/13 01:21

旧専用サーバ(Red Hat Linux)にてWebサーバを稼働させており、
新専用サーバ(CentOS6.6)への移転を検討しています。

移転は

(1) 旧サーバのホームディレクトリをtar圧縮
(2) 旧サーバのデータベースをmysqldumpでバックアップ
(3) 設定ファイル等のバックアップ(iptablesやcron、Apache等の設定)
(4) 新サーバのセットアップ(ドメイン等)
(5) 新サーバにて旧サーバのバックアップデータ(1)〜(3)をダウンロード
(6) 新サーバにて解凍、MySQLデータのリストア

概ねこの手順で進める予定ですが、
上記以外にしなければいけない点、こうした方が楽な点、
その他何か注意すべき点等ありましたら教えて頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

web サーバとのことなので...
旧サーバは dump の前に httpd (かな?)をとめ dump したら mysqld を落とします。そうでないと、DNS のキャッシュの問題で、旧サーバにアクセスしたクライアントがアクセスしてしまいます。もし EC サイト等を運用していた場合、注文がはいったらまずいです。
旧サーバでリバースプロキシを動かして新サーバにアクセスさせる手はありますが、そこまでしなくても良いかとは思います。

rsync の利用はほぼ必須ですね。ただ、MySQL のバージョンが異なる場合、rsync はやめた方が無難かなと思います。
web サービスの停止時間を短くしないといけない場合、かなり気をつけないと思います。

以下でも不十分ですが…これくらい、コマンドレベルできちんと計画してからやらないと、思わぬトラブルに巻き込まれることがありますから、気をつけて下さい。
0. 設定ファイル等のバックアップ(iptablesやcron、Apache等の設定)、利用パッケージ一覧を確認
0. 上記設定を基に、新サーバのセットアップ(ドメイン等)
0. 旧サーバのホームディレクトリ等を rsync にてファイル転送 1回目 (シェルスクリプトを書いておく)
0. 旧サーバのホームディレクトリ等を rsync にてファイル転送 2回目 (シェルスクリプトの動作チェック[rsync の書き方によっては、2回目以降で転送先フォルダがディレクトリ1つ分変わります。詳細割愛])
0. MySQL のデータを dump して、新サーバで restore (バージョンが違う場合は mysql_upgrade を実行。service の stop, start を繰り返し、壊れないことを確認)
0. 新サーバ動作確認 [テスト用に別のドメインを一時的に用意したり、確認元のマシンで hosts を編集して新サーバにアクセスさせる]
0. DNS の TTL を短くしておく
ここまでが移転準備で、以下が実際の移転。状況によって、深夜か日中かを選びます。
0. 新サーバ httpd は止めておく
0. 旧サーバ httpd 止める
0. 旧サーバ mysqld 止める
0. DNS の切り替え(TTL は短いまま)
0. mysqldump して、転送して、リストア。mysql_upgrade 実行
0. 旧サーバのホームディレクトリ等を rsync にてファイル転送 3回目
0. 新サーバ httpd 稼働し、動作確認
でしょうかね…落ち着いたら
0. DNS の TTL を伸ばす
きちんとやると、サーバ移転はかなり大変ですよ。

投稿2015/05/20 02:05

takotakot

総合スコア1111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/05/21 01:40

ありがとうございます。 丁寧までご教授頂き大変参考になりました!
guest

0

ホームディレクトリ下と、MySQLにしかデータがないのであれば概ね良いと思いますが、
サーバーや各種ソフトの設定は、バージョンが全く同じでない限り、見ずにコピーで移行はしません。
前のサーバーでの設定を参考にしながら、新サーバーで設計・設定を行います。
結果的にファイルコピーで設定する物も出てくるとは思いますが。

ホームディレクトリ下と、MySQLにしか移行が必要なデータがないかの見極めもいると思います。

投稿2015/05/13 03:10

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/05/13 04:49

ありがとうございます。 各ソフトウェアのバージョンはほぼ同じに合わせる予定ですが、 設定は手動で調整していこうと思います。
guest

0

ホームディレクトリ上にある各ファイル、画像ファイルやフォルダの数が大量ですとダウンロードやアップロードに時間が掛かり、またファイルやフォルダパーミッションを同じにするのが非常に手間掛かります。アップロードするとファイル生成日がほぼ同じ日付になったり、ファイルオーナーが一般FTPユーザになったりすることで、後々苦労することもありました。

私の場合、Linuxコマンドの「rsync」を使用してます。rsyncコマンドは、両サーバ間をSSHで繋げ、全てのファイルの作成日やオーナー、パーミッションを保持したまま、大量データでもかなり短時間に一気に転送が可能です。

例) $ rsync -avn --exclude '.htaccess' --exclude 'hogehoge.php' /var/www/html/ -e ssh user@xxx.xxx.xxx.xxx:/home/user/public_html >通信可否:yes >移転先のSSHパスワード

※-avn は試し実行で、ファイル内容だけを表示するだけで実際の転送は行わない。一旦内容チェック後、-avと書き換えて実行すれば実際に転送される。
※--exclude 'ファイル名'は、移動したくないファイル。1つずつ羅列。フォルダでも可。
※移転元のパスの最後は/を付ける(/var/www/html/)。移転先のパスの最後には/は付けない(/home/user/public_html)。

rsyncは多数のオプションがあるのでググってみること、試しに少数のファイルで試すことをお勧めします。回線速度やサーバスペックにもよりますが、ギガ単位のファイル量でも数秒~数分でファイル移転が終了します。

その他、rsyncは、サーバ内でのファイルコピーも可能。テスト環境を同一サーバ内や異サーバで構築する時は、環境に依存するファイルを上述の通り除外して転送可。
外部にホットスタンバイ、コールドスタンバイ環境を作りたい時でも利用可能。cronでrsyncを定時実行とか。一旦すべてを転送後は、2度目からは差分のあるファイルだけを抽出して転送してくれるので、重宝します。
ちなみに、mysqldumpではなく、/var/lib/mysql フォルダ内のデータフォルダ自体をrsync転送することで、データ同期も可能と思います。

投稿2015/05/19 02:21

編集2015/05/19 02:42
SaintKnowledge

総合スコア368

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/05/21 01:39

ありがとうございます。 rsyncはかなり役立ちそうですね。 大変参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問