トップ(最新)

nDiki

2004年1月5日 (月)

[ Debian ] GRUBソフトウェアRAID1 ブート設定 このエントリーを含むはてなブックマーク

年末にうまくいかなかった「ソフトウェアRAID1なHDD2台両ブート」に再チャレンジ。 というか、既にネットワーク構成変更までに期限がないので頑張らないと。

@ Debian GNU/Linux Woody CD-ROMでブート

 bf24 ide0=0x1440,0x1436 ide1=0x1438,0x1432

で起動。cfdisk ではがつんと1パーティションにしてしまう(何度もパーティションを切りなおすのが嫌になったのと、やまだ君のところは1パーティションでやっているという話から)。

ドライバのところでは NIC が ELECOM Laneed LD-10/100 AL PCI Fast Ethernet Adapter なので via-rhine を追加。

後は普通に進めて再起動

@ GRUBインストール

 apt-get install grub raidtools2 emacs21 wget lv

GRUB

 grub-install --root-directory=/boot /dev/hda

stage1 ファイルが grub から見えないでエラーになる場合があった。 その場合は、再起動したら成功するようになった。

 update-grub

再起動。OK。GRUBで起動するようになった。

@ kernel オプションの追加

/boot/grub/menu.lst の kopt を編集

 # kopt=root=/dev/hda1 ro ide0=0x1440,0x1436 ide1=0x1438,0x1432

コメントマーク(#)を残さなければならない事に最初気がつかず。

 update-grub

再起動。OK。

@ kernel アップデート

年末に作ったRAIDを有効にしてある Linux kernelインストール。 /etc/kernel-img.conf に

 postinst_hook = /sbin/update-grub
 postrm_hook = /sbin/update-grub
 do_bootloader = no

を書いておいてから、

 dpkg --install kernel-image-2.4.18_gate.1.0_i386.deb

再起動。OK。

@ hdc を RAID1 に

cfdisk /dev/hdc で1パーティションに切り、タイプを fd に。 その後 /etc/raidtab を編集。

 raiddev                 /dev/md1
 raid-level              1
 nr-raid-disks           2
 chunk-size              64
 nr-spare-disks          0
 persistent-superblock   1
 device                  /dev/hdc1
 raid-disk               0
 device                  /dev/hda1
 failed-disk             1

書いたら hdc を RAID1にし、ext3 ファイルシステムを作成。

 mkraid /dev/md1
 mkfs.ext3 /dev/md1

@ hdc へシステムをコピー

シングルユーザモードで再起動し、/dev/md1 (hdc) へコピー。

 cd /
 mount /dev/md1 /mnt
 cp -a /bin /mnt/
 cp -a /boot /mnt/
 cp -a /cdrom /mnt/
 cp -a /dev /mnt/
 cp -a /etc /mnt/
 cp -a /floppy /mnt/
 cp -a /home /mnt/
 cp -a /initrd /mnt/
 cp -a /lib /mnt/
 cp -a /opt /mnt/
 cp -a /root /mnt/
 cp -a /sbin /mnt/
 cp -a /tmp /mnt/
 cp -a /usr /mnt/
 cp -a /var /mnt/
 cp -a /vmlinuz /mnt/
 cp -a /vmlinuz.old /mnt/
 mkdir /mnt/mnt
 mkdir /mnt/proc

/mnt/etc/fstab を編集し /dev/hda1 のところを /dev/md1 に。RAID1ディスクをルートパーティションにする。 書き換えたら

 /umount /mnt

し、再起動

 kernel /boot/vmlinuz-2.4.18 root=/dev/md1 ro ide0...

で起動できる事を確認。

@ GRUB での起動でも /dev/md1 を root に

/boot/grub/menu.lst を編集。kopt を

 # kopt=root=/dev/md1 ro ide0=0x1440,0x1436 ide1=0x1438,0x1432

に書き換え、update-grub。

@ hdc から起動できるように

grub-install で hda から起動できるように先にしてあるが、次に hdc 側からも起動できるように。 この段階では grub-install だとエラーになるので、grub で直接。

 grub
 grub> device (hd0) /dev/hdc
 grub> root (hd0,0)
 grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst
 grub> quit
  • hda - 奥のラック - IDEカードの背面から遠い側のコネクタ
  • hdc - 手前のラック - IDEカード背面側のコネクタ

という構成になっているので hda 側のケーブルを抜き、hdc だけ接続した状態で起動してみる。OK。

@ hda 側を消して RAIDに参加 (失敗)

両方のHDDを接続してroot=dev/md1 で再起動。 cfdisk /dev/hda し、1パーティション・type fd に。

/etc/raidtab を編集。 /dev/hda1 を failed-disk から raid-disk にする。 で、

 raidhotadd /dev/md1 /dev/hda1
 md: trying to hot-add to md1 ...
 md1: disk size 80413248 blocks < array size 80418112
 /dev/md1: can not hot-add disk: too small disk!

あれ? cfdisk で確認。

 /dev/hdc
   16 Heads, 63 Sectors, 159560 Cylinders
   82348277760 bytes

 /hdc1 82348.28MB

 /dev/hda
   255 Heads, 63 Sectors, 10011 Cylinders
   82348277760 bytes

 /hda1 82343.28MB

おーまいがー。一緒に買ったディスクなのだが、パーティションを切ると5MB違う。

さて。 hda を /dev/md2 にして /dev/md1 -> /dev/md2 してから再度、hdc を /md2 にして... というのも思い浮かんだのだが、やっぱりあきらめて最初からやりなおす。 hda と hdc のケーブルを入れ換えて hdc 側に(ほんのちょっと)小さいディスクを配置。

  • hda - 手前のラック - IDEカード背面側のコネクタ
  • hdc - 奥のラック - IDEカードの背面から遠い側のコネクタ

で最初から、やりなおして次のセクションへ。

@ hda 側を消して RAIDに参加 (成功)

両方のHDDを接続してroot=dev/md1 で再起動。 cfdisk /dev/hda し、1パーティション・type fd に。

/etc/raidtab を編集。 /dev/hda1 を failed-disk から raid-disk にする。 で、

 raidhotadd /dev/md1 /dev/hda1

リカバリが始まる。

 lv /proc/mdstat

ちゃんとリカバリしている模様。年末にやった時は一瞬で終わってしまったのだが、あれ本当にリカバリしていたのかなぁ。今回はじめて recovery している様子が見れた。一安心。 560min ほどかかる予定。

@ swap 作成

RAID1上だと遅いんだろうな。メモ512MBなので、一応作っておく。

 dd if=/dev/zero of=/var/swap bs=1024 count=524288
 mkswap /var/swap
 swapon /var/swap
 lv /proc/swaps
 emacs /etc/fstab
 /var/swap none swap exec,dev,suid,rw,sw 0 0

RAIDのリカバリが時間がかかるので、hda 側でブート設定は明日にもちこし。 他の設定をちゃっちゃか始める。

@ 以下予定

hda 側でのブート設定。

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

で両方のHDDでブートできることと、データが複製されている事の確認をする事。

スポンサード リンク


[ 1月5日全て ]

Related term

■よく検索されるキーワード

torrent(114) ドラマ(32) thinkpad(30) x31(29) windows(28) perl(24) wiki(23) linux(22) 動画(21) 画像(16) usb(16) バッグ(16) ノート(15) debian(15) 壁紙(15) 書き方(13) 使い方(12) リフィル(12) 冷蔵庫(12) ほぼ日手帳(12) 修理(12) インストール(11) mp3(11) apache(11) dropbox(11) porter(11) 方眼(10) exzile(10) 作り方(10) 手帳(9) 提案書(9) a6(9) chrome(9) ダイソー(8) xorg(8) hdd(8) ヨドバシカメラ(8) 万年筆(8) ヨドバシ(8) tc-1(8) nikon(8) 古川小百合(8) 写真(8) スーベレーン(7) cvs(7) 無料(7) アレグラ(7) centos(7) google(7) アジェンダ(7) カメラ(7) 映画(7) 三条まゆみ(6) firefox(6) ibm(6) so905ics(6) うなぎ(6) 櫻井翔(6) 秋葉原(6) ダウンロード(6) 2ちゃんねる(6) 腕時計(6) truecrypt(6) 無料動画(6) gtd(6) minolta(6) スーツ(6) skype(5) 今江千佳(5) 無印(5) 時計(5) キーボード(5) シャープ(5) バッグインバッグ(5) 本名(5) ニューヨーカー(5) レビュー(5) fmアンテナ(5) subversion(5) 日本語(5)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.374753s / load averages: 0.17, 0.13, 0.09
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)