no-image

自宅サーバーのHDDを1TBから2TBにしたー

自宅サーバは、mdadmでHDD2台のミラーリングしてるんだけど、片方のHDDが壊れてしまい、補充しようにもHDDの高騰で手が出せず、
どうしようかなと思っていたら半年たってしまい、最近になって残りの1個からも異音がするようになったので、
重い腰を上げてディスクを買ってきたので作業メモ。

まずは現在のパーティション構成を確認。

sudo fdisk -l /dev/sdb

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1   *           1        2431    19526976   fd  Linux raid 自動検出
/dev/sdb2            2432        2918     3906250+  fd  Linux raid 自動検出
/dev/sdb3            2918      182402  1441701052    5  拡張領域
/dev/sdb5            2918       39391   292968750+  fd  Linux raid 自動検出
/dev/sdb6           39391      182402  1148732269+  fd  Linux raid 自動検出

fdiskを使って、ちまちま同じサイズに切った後、mdadm –addで追加し、同期が終わったら異音HDDを外す。

# /
sudo mdadm --add /dev/md7 /dev/sda1
sudo mdadm --fail /dev/md7 /dev/sdb1
sudo mdadm -r /dev/md7 /dev/sdb1

# /xen
sudo mdadm --add /dev/md5 /dev/sda3
sudo mdadm --fail /dev/md5 /dev/sdb5
sudo mdadm -r /dev/md5 /dev/sdb5

# /home
sudo mdadm --add /dev/md6 /dev/sda4
sudo mdadm --fail /dev/md6 /dev/sdb6
sudo mdadm -r /dev/md6 /dev/sdb6

異音HDDは1TB。今回買ってきたディスクは2TBなので、1TB余ってしまった。もったいないので拡張したい。ついでにパーティション構成も見直したい。

xenは使ってないので/xenは/home/xenに統合。

# /xenを/home/xenに配置して削除する
sudo mv /xen /home/xen
sudo umount /xen
sudo mdadm --fail /dev/md5 /dev/sda3
sudo mdadm -r /dev/md5 /dev/sda3

あとはここからGPartedを使って/xenと/homeと、残りの未定義領域を統合すれば移行できそう。

というわけで、CD-ROMドライブを外してしまったので、再度接続。Gpartedの起動ディスクをノートパソコンで作っておく。以下のページからiso落として部屋のCD-RWに焼いた。

http://sourceforge.net/projects/gparted/files/gparted-live-stable/0.12.1-5/

GPartedで、sda3と未割り当て領域をsda4に統合。18時間かかった。
あとは、起動するだけと思いきや起動せず。2時間くらいハマって、新しいHDDにGRUBが入ってないからという事に気づいた。
古いHDDをつないでGRUBを起動して、

grub>
root (HD1,0)
setup (HD1,0)

でインストールしたら無事動いた。

紆余曲折を経てこんな感じに。

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1        2431    19526976   fd  Linux raid 自動検出
Partition 1 does not start on physical sector boundary.
/dev/sda2            2432        2918     3911827+  82  Linux スワップ / Solaris
Partition 2 does not start on physical sector boundary.
/dev/sda4            2919      243202  1930074112   83  Linux

ハマってる時に中途半端にRAID外したりしてしまった… ちゃんとしないと…