RAID組むよー
作成日 2007/07/03 いつものようにインストール画面。 ディスクは以下のようになっている。 sda 500G(HITACHI HDT72505) sdb 400G(WDC WD4000YR) sdc 500G(HITACHI HDT72505) sdd 400G(WDC WD4000YR) sde 500G(HITACHI HDT72505) パーティション分け。 最初にLVMボリュームグループの中身消さなきゃダメ。 VolGroup00のとこで削除すれば良い。 そのあと各HDDの中身を全部消す。 「空き」の状態にする。 ソフトウェアRAID以外のパーティションがあるとクローン出来ない。 sdaからsdbにクローンでコピー。 RAID 0 のみ、もしくはRAID 1のみなら、 インストール時にすぐ終わるのだが、 RAID 0+1を組もうとすると、出来ない? だからとりあえずRAID 0のみを組んでみようと思う。 sdaとsdbでね。 sdcとsddはインストール後に設定しようと思う。 sdeは今回使わない。 もし後に構成変えるならシステム用にする。 パーティションは以下の通り。 / 20G /boot 100M /tmp 5G /usr 3G swap 2048M /var 500M /home 残り ん? --------------------------------------------------------------- 「トランザクション実行中にエラーが発生」 トランザクションの実行中に次のような理由でエラーが発生しました。 ディスク容量の不足 以下のファイルシステムは要領を増やす必要があります。 571 M on /mnt/sysimage/usr --------------------------------------------------------------- だとさ。 実はこれが2回目のインストールで1回目にも出てたんだけどね。 次は簡略化して / 20G /boot 100B swap 2048M /home 残り だけにしてみた。 インストールするソフトも減らしてみた。 したら出来た。 容量に対してインストールするソフト多過ぎたのかな? でも/usrは3Gあれば足りると思ったのじゃが。 甘かったか。
2007/07/05 ディスクアレイの情報は /proc/mdstat で見れますよー。 ※ディスクアレイ…RAIDのような複数のHDDを組み合わせた記憶装置 例えば、RAID10だと、md0には{sda1,sdb1,sdc1,sdd1}の4つを組み合わせる。 ちなみに、IDEケーブルだとHDDの表記はhda,hdb…のようになる。 デバイス管理コマンド df 各ファイルシステムのサイズや使用状況の表示 オプション -k kバイト単位で表示 -h サイズに応じた単位で表示 -i iノードを表示
du 指定したファイルやディレクトリの使用容量を表示。 オプションを省略するとカレント・ディレクトリの容量を表示。 オプション -a 全てのファイルを表示 -c リストアップされたファイルの合計値を表示する。 -h サイズに応じた単位で表示する。 -s 指定されたディレクトリの合計のみ表示する。 -S サブディレクトリのサイズを含めない。
fdisk オプションを付けることでパーティションテーブルを表示させたり、 デバイスを指定することで対話的にパーティションの作成や変更、削除等を行うことができる オプション -l 指定したデバイスのパーティションテーブルを表示する。(シリンダ単位) -lu 指定したデバイスのパーティションテーブルを表示する。(セクタ単位) -s パーティション 指定したパーティションのサイズをブロック単位で表示する。 -v fdiskのバージョンを表示する。 コマンド a ブートフラグのオン、オフを行う。 d パーティションを削除する。 l パーティションタイプを一覧表示する。 m ヘルプを表示する。 n 新規にパーティションを作成する。 p パーティションテーブルを表示する。 q パーティションテーブルの変更を保存しないで終了する。 t パーティションのIDを変更する。 w パーティションテーブルの変更を保存して終了する。 参考:デバイス管理コマンド
現在はsdaとsdbでRAID1(ミラーリング)を組んでいる。 sda1〜5, sdb1〜5 sdc, sdd, sdeは分けてない。 # fdisk -l で確認できる。 では、sdcとsddを1〜5でパーティション分けをしよう。 # fdisk sdc 英語でいろいろ表示されて、 Command (m for help): と出るので、"m" とタイプして まずはコマンドを見てみる。 Command action(訳) a ブート可のフラグをトグル b bsdのディスクレーベルを編集 c DOSコンパチビリティーをトグル d 区画を削除 l パーティションタイプを一覧表示 m このメニューを表示 n 新しい区画を作成 o DOS区画テーブルを新規に作成 p 区画テーブルの表示 q 変更を破棄して終了 s Sunディクスレーベルを新規に作成 t 区画のシステムIDを変更 u 表示と入力の単位を変更 v 区画テーブルの確認 w テーブルを書き込んで終了 x 上級者用コマンド と表示される。実際は英語。 新しく区画を作りたいので、"n"とタイプする。 e extended p primary partition (1-4) と出るので、まずは基本パーティションを作る。 "p"とタイプする。 Partition number (1-4): 初期状態で作る場合は"1" First cylinder (1-60801, default 1): どこから作るかと聞かれているので、 "1"をタイプ, もしくはそのままEnterを押す。 60801という部分は、HDDの容量に応じて変化する。 Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-60801, default 60801): どこまで作るかと聞かれているので、 bootパーティションとして100MB割り振ろうと思う。 "+100M", もしくは"13"(シリンダ数)とする。 すると、またCommandを選択する画面に戻る。 ここで"p"とタイプすると、 先ほど作成したパーティションが表示される。 ------------------------------------------------------ Device Boot Start End Blocks Id System sdc1 1 13 104391 83 Linux ------------------------------------------------------ のようにね。 このようにして作成したい分だけ同じ作業をする。 上のIdというのはパーティションIDというものである。 Linuxのパーティションの場合は83となるらしい。 詳しくは、Commandで"l"(エル)と打つと表示される。 よく見ると、ID番号82は"Linux swap"となっている。 そう、swapのパーティションだけはIDを変更しなければならないのだ。 変更の仕方は、 Commandで"t"とタイプする。 パーティションが2つ以上あると、 Partition number (1-4): として聞かれる。 swap領域に割り当てた番号を入力する。 Hex code (type L to list codes): と出るので、ここで"82"を入力する。 (分からなくなったら"L"とタイプすれば全てのパーティションIDが見れる。) すると、 Changed system type of partition 2 to 82 (Linux swap / Solaris) みたいな感じで表示される。 もう一度、Commandで"l"と入力してやると、 Id の部分が"82"に変わってると思われ。 以上、コマンドでのパーティション分けですた。 Linuxって便利だね。 Window上でもこういうのあるのかな?? さて、sdcとsddのパーティション分けが済んだので、 次はとうとうRAIDを組むとしよう。 RAIDを組むために使うコマンドとして、 # mdadm というものがあります。 これはオプションがとても多いので、必要に応じて調べようかな。 # mdadm --detail /dev/md0 とするとディスクアレイ"md0"の詳細を見ることが出来ますよ。 RAID Levelはもちろん、RAIDを組んだ日付まで出るんだね、便利便利^^ RAID01を組みたいのじゃが、 そのためにはまずは現在動いているRAID1を止めなくてはならない。 試しにmd0からsdb1を取り外してみる。 # mdadm /dev/md0 -f /dev/sdb1 指定されたデバイスに対して不良とする # mdadm /dev/md0 -r /dev/sdb1 指定されたデバイスをアレイから除去する なんか不良ではないのに不良とするのは何か変な感じがするが。 # less /proc/mdstat で見てみると ----------------------------------- md0 : active raid1 sda1[0] 104320 blocks [2/1] [U_] md1 : active raid1 sda2[0] sdb2[1] 20482752 blocks [2/2] [UU] ----------------------------------- と、確かに取り外されているのが分かる。 こんな感じで全てのデバイスを除去する。 でもsdb1除去した後にsda1も除去しようとすると怒られる。 activeって言われますねぇ。 いろいろ調べてみたんですけども、 /etc/fstabでmd0,md1などmountしてる場所コメントアウトせんとあかんらしい。 んで、 --------------------------------------------------- #/dev/md1 / ext3 defaults 1 1 /dev/sda2 / ext3 defaults 1 1 #/dev/md0 /boot ext3 defaults 1 2 /dev/sda1 /boot ext3 defaults 1 2 ・ ・ ・ --------------------------------------------------- みたいにした。 んでrebootかけたんじゃが。 何かmount出来なかったみたいで起動時にエラー。 セーフモードで処理することになった。 viエディタでfstabの中身変えようとしたのだが、 read-only状態で書き換えれへん。 chmodで変えようとしても変えれへん。 どうしまひょ。 ちょうど良いのがありますた。 Fedora JP 掲示板 /のファイルシステムがread-onlyでmountされているので、 # mount -o remount,rw / で書き込みも可にしてあげるのであります。 ようやくfstabを編集出来るようになった。 けど、まず /etc/mdadm.conf の中身を全部コメントアウトしてみることにした。 したらmd0,md1に自動でデバイス組み込まないかなーと思ったのだ。 再起動。 相変わらずどこからかmd1, md2を読み込んでますよ。 でもいつのまにかmd0が消えてしもうた。 # mdadm --misc --stop /dev/md2 でmd2は消えた。 md1は消えない。なんでやねん? /proc/mdstat を見てみたのだが、 recovery = xx.x%とか出てた。 これが動いている間は操作出来ないとか? したら今までひたすら頑張ってる状態だったのを邪魔してたのかな??w とりあえず待ってみようか。 うーむ、やっぱ違ったらすぃ。 削除は出来まへんですた↓ しょうがないから、新しくRAID作っちゃおうということで、 --createとかで作ったわけですけども、 削除したはずのsda1もactiveだと言われる始末。 まぁ、現在動いているんだからactiveか。 結局元の設定に戻しましたー。 まぁいろいろ覚えたから良いっか。 また次の機会かなー。 mdadm(8) ver.1.0 man page [日本語] ディスクをRAIDにする
2007/07/09 今日もRAID日和ですね♪ ということで、いろいろやってるうちに訳わからなくなったので、 再インストールをすることにしました。
sda1 /boot 100M sda2 / 30G sda3 swap 2048M sda5 /home 残り |
GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB
GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB |
# grub-install --root-directory=/ /dev/sda |
title Fedora RAID(2.6.21-1.3228.fc7)
root (hd4,0) kernel /vmlinuz-2.6.21-1.3228.fc7 ro root=/dev/md1 rhgb quiet initrd /initrd-2.6.21-1.3228.fc7.raid.img |
レベル | アレイ | デバイス | パーティション | 容量 |
RAID1 | md0 | sda1,sdb1 | / | /boot,swap以外 |
RAID1 | md1 | sda2,sdb2 | /boot | 100M |
RAID1 | md2 | sda3,sdb3 | swap | 2048M |
RAID5 | md3 | sdc1,sdd1,sde1 | /home | 全て |