mdadm による RAID の構築
1. ディスクのパーティション
構成するディスクのパーティションを切る。パーティションテーブルは MBR にする。パーティションタイプは0xDA で non-FS data。これは mdadm のマニュアルでそうするべきとされている。
2. RAID の作成(create)
chunk は 64KB、レベルは6にした。ディスクがたくさんあるので...。なお # はルートでのコマンド入力を意味する。
# mdadm --create --verbose /dev/md0 --chunk=64 --level=6 --raid-devices=6 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sda3 /dev/sdb3
これで resync が始まる。大きいと時間がかかるので寝る。
3. ファイルシステム
パーティションを切る。パーティションテーブルは MBR、パーティションタイプは 0x83 で Linux Ext4。
- reserved-blocks-percentage はパーティションが大きいので 1% で十分。
- ブロックサイズは 4ストライドとストライプは参考ページから算出。計算は以下の通り。
- stride = chunk / block = 64 / 4 = 16
- strippe-width = stride * (( n disks in raid6 ) - 2 ) = 16 * 4 = 64
# mke2fs -t ext4 -v -m 1 -b 4096 -E stride=16,stripe-width=64 /dev/md0
次にチェックの頻度を指定する。マウント100回か一週間おき。
# tune2fs -c 100 -i 1w /dev/md0
後で変更する時は
# tune2fs -E stride=n,stripe-width=m /dev/mdx
4. UUID
# mdadm --detail --scan >> /etc/mdadm.conf
で UUID を得る。
5. マウント
# mount /dev/md0 /raid6
6. fstab
次の行を /etc/fstab に追加。
/dev/md0 /raid6 ext4 defaults 1 2
7. ディレクトリ
afp 向けにルートディレクトリを作り、公開する。
#cd
/raid6
# mkdir afproot
# chown user:user afproot
8. netatalk の設定
Mac OS X から使うので netatalk を導入。ftp でもいいんだけど、何となく。
AppleVolumes.default に以下を追加。
/raid6/afproot "RAID6"
9. avahi の設定
avahi は Linux での mDNS の実装。これをやると、Mac OS X のファインダから見えるようになる。もちろんシステムで avahi-daemon がちゃんと動いていないとだめ。
/etc/avahi/services に以下の内容でファイルを追加する。
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
</service-group>
これでできたんじゃないかな? なお、Linux のディストリは Fedora 14 を使用。Ubuntu 11.04 でも同じようにできた。
最終更新:2011年05月22日 19:39