自分がサーバに使っているマシン(D945GCLF)のHDDを換装作業を行いました。元々PS3に入っていた2.5インチHDD 20GBが余っていたので、それを使っていたのですが画像アップローダなどをサービスしようと思うと容量が心許ない。なのでWestern Digitalの160GB HDDを用意しました。しかし、2.5インチのHDDも安くなりましたねぇ。日立も東芝も同じ価格でしたけど、160GBで6,480円(T-ZONE)でした。7200rpmのですとやや高くなりますがそれほどトラフィックも高くないWebサーバなので5400rpmでも十分でしょう、ということでこちらをチョイス。
しかしというかやっぱり苦労したのはHDDの入れ替え。CentOSなのでWindowsよりかんたんだろ、と思っていたのですが調べもせずにやったので、これが中々・・・。結局以下の手順で行いました。
- 新しいHDDだけで一度CentOSをインストール。最小のインストールでいい。本当はLVMフォーマットだけしてくれればいいんだけど、よくわからなかったのでインストールしちゃいました(苦笑)。LVMとかいうファイルシステム使っているので、ボリューム名を古いHDDと異なるものにする。
- 古いHDDと新しいHDDをつなげて、古いHDDを/dev/sdaにして古いHDDからブート。
- 適当なディレクトリに新しいHDDの/dev/sdb1をマウント。
mount /mnt/XXXXX /dev/sdb1 - 古いHDD側の/bootの中身を/mnt/XXXXXへ全部上書きコピー
- umountして/dev/sdb1を外す
- 次に、新しいHDDの/dev/sdb2をマウントしたいところだが、LVMなのでまともにはできない。なので、次のようにする。
mount /mnt/XXXXX /dev/VolGroup01/LogVol00
この部分の”VolGroup01″はインストールのとき指定したボリューム名 - んでもって、新しいHDDの中身を全部消す。そして、古いHDDの/以下を全部コピーする。んだが、もちろん/bootと/mnt/XXXXXはexcludeすること。rsync -a –exclude=/boot –exclude=/mnt/XXXXX / /mnt/XXXXXみたいにする。excludeの記述を二つ書いているところが、面倒くさがりの象徴(苦笑)。
- 終わったら、シャットダウンして、古いHDDを外して新しいHDDだけにして、CentOSのインストールDVDを使って再起動。
- rescueモードで起動して、ボリューム名を変更する。これをやらないと起動時にボリュームがねえぞ!と怒られる。以下の手順。
- # lvm vgchange -an VolGroup01←これでボリュームを外す
# lvm vgrename VolGroup01 VolGroup00←これでリネーム
# lvm vgchange -ay VolGroup00←これで新しい名前でアクティブ化 - これで再起動すればうまくいくはず・・・
しかしながら、今考えると新しいHDDにCentOSのインストールいりません(苦笑)。もっと冷静に調べてからやるべきでした。しかも深夜に眠いときにやったからなあ。次はもっとスムーズにやろうっと。lvmなんて概念は大昔のLinux使いの自分にはわからなかったのでした。下調べせずにやるとロクなことありません。おかげでサーバを10時間以上止めてしまった(途中で寝たからでしょっ)。