ラベル 引っ越し の投稿を表示しています。 すべての投稿を表示
ラベル 引っ越し の投稿を表示しています。 すべての投稿を表示

2010年11月9日火曜日

coreserverでサーバー再移行

ここ最近、利用していたcore-bのサーバーが毎日昼間に断続的に重くなり、サイトにアクセスできなくなる状態が続いていました。

例えばその時間帯にこのkawama.jpにアクセスすると、「データベースに接続できません」というwordpressのエラー画面が表示されます。おそらく誰かがmysqlに対して負荷の高いプロセスを動かしていたのだと思います。

1ヶ月くらい様子を見ていたのですが、改善される様子もありません。
エラー画面を見るたびにイライラしてしまうのは精神的に良くないので、この週末にサーバーを引っ越ししました。

ちなみに今回はb15.coreserver.jpからb27.coreserver.jpへの引っ越しです。

あらかじめこちらのページをチェックし、負荷が高くないと思われるサーバーを選びました。

xrea障害メンテナンス情報
coreserver障害メンテナンス情報

このページでは負荷がリアルタイムで更新されています。1日に何度か除いてみて、ステータスバーがオレンジや赤になっている回数が多いようなサーバーはハズレなので避けたほうが無難だと思います。


引っ越し作業自体は今回で3回目くらい。
過去にまとめた移行手順を参照しつつ作業を行い、2時間弱ほどで終わりました。


基本的にスムーズにすすめられたのですが、2点ほど躓いた点があったのでメモしておきます。

(1)ドメインの同期設定は移行できない

ドメインウェブの設定はテキストで一括移行できるんですが、同期設定(シンボリックリンク)は移行できないので、手動で移行してやる必要がありました。

(2)パーミッションのチェック

これは以前書きましたが、xrea,coreserverのサーバー間コピーはパーミッションを保持してくれないので、666のファイルとか777のディレクトリなんかのパーミッションを移行後に変更しないといけません。

で、今回findを使って旧サーバーでパーミッションをいじってるファイル、ディレクトリを検索してリスト化し、新サーバーで一括でchmodするのを試みました。

たとえばfindで777のディレクトリを探すには

find ./ -perm 777 -type d

666のファイルを探すには

find ./ -perm 666 -type f

このpermオプション、オプションで+や-をつけてさまざまな条件を付加させられます。が、これがけっこう複雑だったので、結局は-name "*.cgi"とか-name "*.sh"でリストを作りました。


と、こんな具合で大きな問題もなく移行完了。
今度のサーバーは低負荷で安定してくれるといいんですが、、、

2010年6月29日火曜日

xrea,coreserverでのサーバー移動(引っ越し)

自分はレンタルサーバーのxreaとcoreserverを使ってます。
このkawama.jpもxreaに置いてたんですが、接続が重くなったり、一時的に繋がらなかったりすることが出てきたので、サーバーの移動をしてみました。

以下、その手順です。


※s1サーバーからs2サーバーへ移動するケースを想定
・新規でs2サーバーにアカウントを作る。アカウント名は既存のサーバーと同じにする。
・1~2日待つ。(※1)
・s1の管理画面にて、mysqlのDBを全部保存する。DBの数ぶんmysql_dbname.dumpができているのを確認。
・s2の管理画面にて、サーバー間コピーをする。s1サーバーからミラー(削除なし)ですべてのファイルをコピーする。(※2)
・s2の管理画面にて、s1と同じDB名でデータベースを登録し、DBを復元する。
・s1の管理画面からs2の管理画面にcronjobを移す。手作業。
・s1の管理画面からs2の管理画面にドメインウェブを移す。(テキストで一括。強制設定する)
・s1の管理画面からs2の管理画面にドメインメールを移す(テキストで一括。強制設定する)
・動作確認をする。※3
・動作確認OK後、DNSを変更。s2に向ける。

(※1)アカウント作成後はアカウントに割り当てられるリソースが少ないため、サーバー間コピーが失敗してしまうから。 http://sb.xrea.com/archive/index.php/t-11899.html
(※2)仕様の問題なのか、サーバー間コピーをするとパーミッションが変わってしまうので注意。777のディレクトリが705になってたりします。
(※3)自分の場合、hostsにs2のIPを書いて確認しました。


以上で無事に移動が完了しました。

なお今回の移動でxrea,coreserverの使い方のコツみたいなものを感じたので、メモしておきます。


■ドメインは自前のものを用意する
yourid.s1.coreserver.jp などのアドレスは、サーバーを移動したら使えなくなるので、なるべく使わないほうが無難。
あとxreaで1個、coreserverで10個まで使えるサブドメイン(***.xrea.jpとか***.coreserv.comとか)はサーバーを移動すると一緒に移動されますが、xreaから他のレンタルサーバーへ移動するという可能性もあるので、あまり依存しないほうがいいと思います。
またcoreserverで複数サブドメインを登録している場合、サーバー移動と同時に移されるサブドメインは最初に登録したひとつだけのようです。2個目以降は削除→再登録という手順が必要でした。

■cnameを使う
ドメインを多数所持しており、それらをxrea,coreserverで使っている場合はcnameを使うとサーバー移動の時に便利です。
aネームでIPを割り当てるのは一つだけにし、それ以外はcnameを使うようにすると、サーバーを移動してもaネーム指定したものだけを変えればいいからです。

具体的にはこんな感じ。


example.comのDNS設定
a coresrv 123.456.789.123

example.netのDNS設定
cname www coresrv.example.com.
cname @ coresrv.example.com.

example.orgのDNS設定
cname www coresrv.example.com.
cname @ coresrv.example.com.


■DBはなるべく少なく
データベースの数が多いと移行が面倒です。
coreserverはDB数が無制限ですが、移行の手間を考えるとなるべく少なくしておいたほうが無難です。

■パーミッションの変更が必要なファイルやディレクトリはまとめておく
前述しましたが、サーバー間コピーでパーミッションが変わってしまうので、777のディレクトリ(例えばSmartyのコンパイルディレクトリとか)は一カ所にまとめておいたほうが楽だと思います。


だいたいこんなところです。
サーバーを移動してレスポンスが劇的に改善されました。イライラがなくなって本当にスッキリしました。

準備にそれなりの時間がかかりましたが、一度経験しておけば以後はスムーズに移動できると思います。

xrea,coreserverを継続して使っていくのであれば、サーバー移動の経験とスキルは身につけておいて損はないと思います。


※メールに関する注意事項
メール設定を移行した場合は、/Maildirに注意。
サーバー間コピーでルートディレクトリを対象にすると/Maildirもコピーされるが、そのままだとエラーが出てメール受信できない。なので/Maildirの中身を削除したあとにアカウント設定をすること。
http://sb.xrea.com/archive/index.php/t-5494.html

※再度引っ越ししました
coreserverでサーバー再移行