2006年 10月 18日

HDD 買った

予定

  • パーティションはほとんど切らない。システムもデータも同じところの入れる。(いまだに見積もりができない)
  • スワップだけをわける。実用容量が異なることを考え、ディスクそれぞれ後ろ 500MB をそれぞれスワップにする。

構築メモ

SC430

BIOS で SATA を ON に。ポートごとの設定で、はずしたふたの裏に番号が図解してある。

sudo fdisk /dev/sdb
> p
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

> n
> p
> 1 #パーテーション番号
> 1 #最初のシリンダ
> +249500M
> t # タイプ変更
> fd # Linux raid auto detect
> a # ブートフラグ

> n
> p
> 2
> [RET]
> [RET]
> t
> 2
> 82

> p
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       30334   243657823+  fd  Linux raid 自動検出
/dev/sdb2           30335       30401      538177+  82  Linux swap / Solaris
> w

とりあえず swap を有効にしてみる

$ sudo mkswap /dev/sdb2
Setting up swapspace version 1, size = 225545396 kB
no label, UUID=269dcbba-b161-4002-9a4d-29fe964d61b6

$ sudo swapon /dev/sdb2
$ swapon -s


RAID1 を一つのデバイスを missing にして作成する

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing 
mdadm: array /dev/md0 started.

ファイルシステム作成 ext3

sudo mkfs.ext3 /dev/md0  


作ったファイルシステムに現行システムをコピー

cd /
sudo mkdir new-disk
sudo mount -t ext3 /dev/md0 /new-disk 
sudo telinit 1
# syslog とか全部止めたりしてファイルシステムの使用を最小限に
# ここからは ssh できないのでちまちまうってく
# パーティションは一つしかないため簡単に
cd /
cp -ax / /new-disk

風呂


帰って来たら no space なんたらでコピーが止まってる。いろいろ見てみると、fdisk の時点で桁を間違っているという罠……いったん全てを巻き戻す。

sudo umount /new-disk
sudo mdadm --misc --stop /dev/md0
sudo swapoff /dev/sdb2

で上のをやりなおし。記録とっててよかった。

cp まで終わったら

mkdir /new-disk/proc
vi /boot/grub/device.map
(hd0)   /dev/sda
(hd1)   /dev/sdb

grub-install /dev/sdb
update-grub
vi /etc/fstab
reboot
# ここでは sda1 の grub で起動した
sudo shutdown -h now

ハードディスク入れ替え。古い方をはずしてからっぽのをつける。が、起動しない。GRUB がちゃんとインストールできていないようだ。

sudo grub
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst
grub> quit

これでブートはする。が、root fs をマウントできないでとまってしまう。うーん。なんでだろう。

って、fstab 書き換えたのって cp したあとじゃん。
マウントできない。で止まった後、BusyBox shell に落ちるので、mount /dev/md0 /tmp; chroot tmp; vi /etc/fstab して書き換える。

が、これでも root fs がマウントできないと言われる。

悩んだ挙句、/boot/grub/menu.list に書いてある kernel 起動オプションをにらむ。一番上の設定をコピって、sda1 をmd0 に書き換え。

さて起動するか。起動した。よしよし

でもって /dev/sda にたいして、fdisk とか

sudo fdisk
# 上と同じ
sudo mdadm /dev/md0 -a /dev/sda1
cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 sda1[2] sdb1[0]
      243657728 blocks [2/1] [U_]
      [>....................]  recovery =  2.8% (6982720/243657728) finish=70.8min speed=55698K/sec
      
unused devices: <none>

よさげ。

こっちのディスクにも grub をインストールしたら終わりかな。

あ、あと、sda2 も mkswap, swapon, vim fstab して書き換え。

mdadm --detail --scan >> /etc/mdadm/mdadm.conf
dpkg-reconfigure mdadm