プロフィール

島田圭二

Author:島田圭二
Follow shimanp on Twitter

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
読断と変見内検索
訪問ありがとうございます
最近のコメント
最近のトラックバック
関連リンク
カテゴリー
月別アーカイブ


スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)
Linux - ソフトウェアからRaid5構築
マザーのBIOSですでにRaid5をサポートしているが、
あえてソフトウェアからRaid化してみた。ちなみにディストリビューションはfedora9。

Raid化するハードディスクは全部で4つ
・/dev/sda
・/dev/sdc
・/dev/sdd
・/dev/sde

sdbが抜けているのはsdbをブート用にしてしまったから。
sdaに変更しろって話だけど面倒くさくてやめた。
普通の技術者だときっと気持ち悪いと思うのだろうけど、意外と僕はこの辺のこだわりはないのだ。

各ハードディスクのパーティションを切る


/dev/sda から
以下が実際のログ。赤字が入力
# fdisk /dev/sda
このディスクのシリンダ数は 60801 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)

コマンド (m でヘルプ): p

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0002a0ed

デバイス Boot Start End Blocks Id System

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-60801, default 1):Enter
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-60801, default 60801):Enter
Using default value 60801

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。


以上で/dev/sdaのパーティション切りは終了
これを/dev/sdc、/dev/sdd、/dev/sde 全てに行う。

Raid5化


Raid化するにはmdadmというソフトを使用する。
fedora9には始めから入っていたけど、ない場合は入れる必要がある。
たぶん
# yum install mdadm.i386
でインストールできると思う。

で次からが実際のログ
# mdadm -C /dev/md0 -l5 -n4 -f /dev/sd[acde]1
mdadm: array /dev/md0 started.

でコマンドは終了。
早すぎ?って思っていたらどうやら実際の処理は内部で行われているようだ。
進捗を確認するには以下コマンド
# cat /proc/mdstat
もう2時間くらいたっているけど、40%程度・・・。5時間くらいかかるのかな?

Raidのコマンドの説明はmdadm日本語マニュアルを参照
簡単に説明すると
-C ・・・ 新規にRaidを作成する
/dev/md0 ・・・ 作成するRaidのデバイス名
-l5 ・・・ Raidのレベル。今回はRaid5だから5
-n4 ・・・ デバイスの数。今回は4つだから4
-f ・・・ よくわからない。強制的にスーパーブロックを作成するということらしい
/dev/sd[acde]1 ・・・ Raidを構成するデバイスの指定

とりあえずこれでRaid化は終了。
後は普通の一つのデバイスとして/dev/md0をフォーマットしてどこかに自動マウントすれば
大丈夫なはず。

追記

ファイルシステム構築


Raid化した仮想デバイス/dev/md0のファイルシステムを構築する。
# mkfs -t ext3 /dev/md0
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
91578368 inodes, 366287952 blocks
18314397 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
11179 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

マウント
# mount /dev/md0 /data

自動マウント
# echo 'DVICE /dev/sd[acde]1' > /etc/mdadm.conf
# mdadm -Ds >> /etc/mdadm.conf
# echo '/dev/md0 /data ext3 defaults 0 2' >> /etc/fstab
スポンサーサイト


linux | 【2008-11-24(Mon) 20:06:48】 | Trackback:(0) | Comments:(0)
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。