さくらVPSを512→1Gのプランに移行してみた。

去年の年末に、ちょっとサーバ周りのことで色々試したいことが出てきて、
どうせならさくらVPSの512MBを借りてみようということで一通りのセットアップをしたのだけど、
(そのときの記事はこっち
今回はなんかその512Mプランがそもそもなくなる?ぽくて、料金同じで1GBのHDD100GBというプランに乗り換えが
実質タダみたいな話を聞いたので、制限期間もあるみたいだしちょっとやってみた。
詳細はこっち → 「さくらのVPS」ご利用中のお客様の新プラン乗り換え優遇施策の実施期間延長について

というわけで今回はさくらの VPS512→VPS(v3)1G への移行備忘録!
早速以下のブログを見ながらやってみた。
さくら VPS 旧プランから 2G 新プランへの移行手順

まずはじめに新サーバ(新鯖)と旧サーバ(古鯖)のOSが同じでないといけないらしく、
新サーバにCentOS 5 x86_64をカスタムインストール。(てか古鯖のOSバージョンが分からん。。)

0.CentOS 5 のインストール(VPSコンパネ)

CentOS 5 のインストール手順。
前回こんなカスタムインストールした記憶ないからデフォルトのバージョンでやってたんだろけど、その時の最新は5だったのか6だったのか。。(´・_・`)

で、カスタムインストールしようとしてもVNCコンソールが開かない。。
去年使ってたやん。なんでなん。。(´・_・`)

FireFoxだからかとChromeで試してもなんかエラーアラート吐くだけで同じ。。
で、なんかよく見てみたらChromeの画面のしたの方に停止プラグインみたいなテキストリンクがひっそりと表示されてて、何だこれと思ってポチったら無事ブラウザからTightVNC Java Viewerを呼び出すことが出来てめでたしめでたし。あぁ、Lionアプデした影響かな。

後は手順通りCentOSのインストールをおこなってく。
なるほどこうやってOSにホスト名とかネットマスクとかゲートウェイとかネームサーバやらを設定していくのか。

で新鯖再起動。

1.古鯖コピー前準備。

次に古鯖にrootログインできないといけないらしく、
前回の設定でrootログイン×、passログイン×、にしてしまったので一旦それ戻しにいく。

sudo vi /etc/ssh/sshd_config

PermitRootLogin yes
PasswordAuthentication yes

で保存してからssh再起動。

sudo /etc/init.d/sshd restart

ほいrootでpassword使ってログイン確認!

2.rsyncで古鯖から新鯖へコピー!

で、早速コピーしてみる。なにこのrsync。超楽。素敵やん。
この辺りの黒魔術は参考元のblogとかをみてください orz

rsync -rtlzvogpHAX --exclude /boot/ --exclude /dev/ --exclude /proc/ --exclude /sys/ --exclude /var/run/ --exclude /var/lock/ --exclude ifcfg* --exclude ssh_host_* --exclude fstab --block-size=4096 -e ssh / 新鯖IP(***.***.***.***):/

これで新鯖のrootパスを聞かれるので答えたら、だーっと始まる。
ここの文字がだーっと流れるのかっこいいよね。時間かかるのでお風呂入る。
VPSコンパネから新鯖再起動。

3.新鯖にGATEWAY追加。

なんか上記のやり方だと新鯖にGATEWAYが設定されないらしく手動で追記する。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

一番下に追加。

GATEWAY=***.***.***.* (OSカスタムインストール時に表示されたゲートウェイアドレス)

再起動。

/etc/init.d/network restart

なんかこの辺りからIPで実際にブラウザ確認できるようになって、とりあえずちょっと安心してくる。

4.古鯖のhttpd,mysqlを止める

sudo service httpd stop
sudo service mysqld stop

これでブラウザからはerrorで見れなくなってるはず。

5.再度差分をrsyncする。

と、ここでいい気になってると22portあいてねーよって怒られる。
そうか新鯖は設定コピーされてるから賢い子なんだった。
というわけでちょっとport指定してrsyncする。portは前回自分で決めたやつね。

rsync -rtlzvogpHAX --exclude /boot/ --exclude /dev/ --exclude /proc/ --exclude /sys/ --exclude /var/run/ --exclude /var/lock/ --exclude ifcfg* --exclude ssh_host_* --exclude fstab --block-size=4096 -e "ssh -p 22222" / 新鯖IP(***.***.***.***):/

差分はちょっとなのですぐ終わる。

6.後片付け

・DNSのAレコードを新鯖用に変更(VPSコンパネ左のネームサーバ登録から会員メニュー内のゾーン編集から行う)
・VPSコンパネからホスト名を変更 → VPS側のDNS逆引きをレコード変更する
・DNSのTTLを設定しなかったので1時間程家事をしながらDNSの浸透を待つ。

番外編

・rsyncでコピーする時になんか無限ループみたいに入る事が何回かあって、どんどん子階層に一式丸々コピーを永遠続ける、、みたいな怪現象。そんなときは一旦ぶつっと切ってまた再度rsyncし直すと何事もなかったように完了するという現象が2,3回あった。あれなに(´・_・`)
・なんか新鯖でwordpressが動いてなくてそもそもmysqlが動いてないぽい。
sudo service mysqld restart で再起動かけても失敗してる。。んでエラーログ見ると

[ERROR] /usr/libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)

みたいなこというてる。
/var/run/内を確認したらそもそもmysqldがないぽい。そうかrsyncの指定で除外してんのかな。←詳しく見てない
というわけでインストール。

sudo yum --enablerepo=remi install mysql-server
sudo service mysqld restart

ほい無事mysql再起動して、phpmyadmin確認、wordpressも元通り。

おしまい。

前回と比べてなんて簡単なんだ。。。!!!!助かった。。!(´;ω;`) ブワッ

you