検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
Tips/Linux/mdadm をテンプレートにして作成
メニュー
トップページ
奥村研にようこそ
卒業研究
奥村研Blog
Outlook Live
FUポータル
Wiki編集者
↑
【 メンバー専用 】
:メンバー
:連絡先
:予定
:写真
:ゼミ
ゼミ実験
サーバー仕様・構成
研究成果
Create Travel Map with Moves
未使用ページ
MenuBar を
edit
【 Tips 】
†
Linux
各種サーバ構築関連
web, qmail, Linuxディストリ, ハードウェア, Samba, モニタリング, Tips
Windows
PortableApps.com
TeraTermPro
WSUS
リモートデスクトップ
Tips
その他 古い話題
Hardware
映像端子
ビデオキャプチャ
道具
AVIOSYS_IPSensor9216
NWハードウェア(L2SW,FW)
LAN配線
APC Smart-UPS
CD-R, DVD-R, BD-R
いろいろベンチマーク
USBサーバ
ベンチマーク, Zaurus, その他メモ
VMWare
VMware Workstation
VMware ESXi
VMware player
HTML, Pukiwiki
HTML
Pukiwiki設定
calendar2
XAMPP for Mac OSX
Apache
MySQL
その他
okkun-labにおけるレポート(報告書)Tips
レポート
Android (Java)
Java Tips
Android Tips
SQL
PostgreSQL Tips
AWS
Amazon Ami Linux
etc
MySQL Tips
Amazon API
TEPRA PRO
無線
印刷Tips
福岡市内ICカード比較
Perl Tips
診断くん
(ミラー)
traceping
Pasoli電子錠
福岡市消防局
Tips を
edit
最新の20件
2024-02-19
Tips/Linux/Tips
2024-02-17
Tips/Linux/RaspberryPiOS
2024-02-15
Tips/Hardware/NWHW/Cisco
Tips/Hardware/NWHW/Juniper_Netscreen_25
2022-11-29
Tips/Linux/MySQL
2022-06-12
RecentDeleted
2022-05-28
MenuBar
AutoTicketLinkName
2022-05-03
Tips/Linux/mdadm
2022-04-15
Tips/Hardware/LAN
2021-12-20
Tips/Windows/rsync
2021-10-12
etc/perl
2021-09-20
Tips/Linux/Samba4
2021-01-10
Tips/Hardware/NWHW/Alaxala
2021-01-06
Tips/Linux/BIND9
Tips/Linux/CentOS6
2020-09-15
Tips/Linux/Postfix/Postfix
2020-05-03
Tips/Linux/CentOS7
2019-08-10
Tips/HTML
2019-07-26
Tips/Linux/Apache2
Total:0/Today:0
開始行:
*mdadm - ソフトウェアRAID [#fc896813]
-by [[member/すながわひろゆき]]
-mdadm でソフトウェアRAIDを構築・管理をする
--ハードウェアRAIDとの違い~
○ 専用RAIDコントローラが故障する心配がない~
○ ある程度高速(CPUがデュアルコアだと)~
○ 安価(投資ほぼゼロ)~
○ Linuxとの相性がほぼ100%のはず~
△ ホットスワップ不可~
※一応できる(ホットスワップの項を参照)~
△ アラートが不安定かもしれない~
-適用済みのディストリビューションを利用したため、インスト...
-&color(WHITE,RED){ちゃんとどうでも良いディスクとデータを...
----
#contents
**RAID構築 [#oedaf84f]
-''ディスクの準備''
--ここでは 320GB x 4 (/dev/sdb - sde) を用意した
---これを RAID5 して /home とする
--fdisk /dev/sdb
---primary pertition, サイズ一杯いっぱい, type fd (Linux ...
---sdeまで同様のパーティションを作る
---AFT (4KB sector)を使っているWD20EARSのようなHDDは~
fdisk -H 224 -S 56 /dev/sdb でfdisk入って、~
n p 1 enter enter t fd して、wする前に~
x(エキスパートモード) b(パーティション開始位置をいじる...
-''RAID構築''
--mdadm -C /dev/md0 -l5 -n4 -c128 -f /dev/sd[bcde]1
--- -C : create 新規構築
--- /dev/md0 : RAIDデバイス
--- -l5 : level=5 RAID5 (0, 1, 5, 6等が指定可能)
--- -n4 : raid-devices=4 アレイ内のアクティブなデバイス数~
raid-devices = /dev/sd[bcde]1の数 + spare-devices
--- -c128 : chunk=128 チャンクサイズ~
raid5 -> 128, raid1-> 64,32, raid0 -> 64,32 ぐらい?
---1発を縮退(degreed)させた状態で構成したいときは~
mdadm -C /dev/md0 -l5 -n4 -c128 -f /dev/sd[bcd]1 missing~
上と比べてsdeが存在せず縮退した状態で構成されて起動する。~
その後、mdadm /dev/md0 --add /dev/sde1
--その他オプション
--- --name=hoge ラベルをつける
--- --bitmap=internal ラインインテントビットマップ(再同...
-''RAID状態表示''
--mdadm -D /dev/md0
-''自動認識するための記述''
--vi /etc/mdadm.conf
DEVICE partitions
---以前は DEVICE /dev/sd[b-e]1 としていたが、いつのまにか...
--mdadm -E --scan >> /etc/mdadm.conf
---アレイに関するIDをスキャンしてconfに追加
--vi /etc/mdadm.conf
DEVICE partitions
ARRAY /dev/md0 level=raid5 num-devices=4 UUID=8297c2bb:4...
--vi /etc/rc.d/rc.sysinit
/sbin/mdadm -As
---どこかに記述しておく
---TL11SやCentOSではすでに記入されている
-''フォーマットとかマウントとか''
--mke3fs -b 4096 -R stride=32 /dev/md0
---ブロックサイズは通常 4096B
--- -R stride = chunk-size ÷ ブロックサイズ = ここでは32
--vi /etc/fstab
/dev/md0 /home ext3 defaults 0 3
---当然ですが後ろの 0 3 は環境に応じて変えること。
**故障時のリビルド [#i8fe153b]
-''RAIDの状態の確認''
--cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb1[3] sde1[2] sdd1[1](F) sdc1[0]
937705728 blocks level 5, 128k chunk, algorithm 2 ...
unused devices: <none>
---sdd1[1]&color(RED){(F)}; が故障しているとする。
-''故障フラグを立てる''
--mdadm /dev/md0 -f /dev/sdd1
mdadm: set /dev/hdf1 faulty in /dev/md0
-''故障ディスクをアレイからパージ''
--mdadm /dev/md0 -r /dev/sdd1
mdadm: hot removed /dev/hdd1
-''ディスク交換''
--halt して ディスク交換後起動
---もしかしたら halt しなくてもホットスワップでいけるかも...
--fdisk して 交換したディスクのパーティションを作り直す
-''リビルド''
--mdadm /dev/md0 -a /dev/sdd1
mdadm: hot added /dev/hdd1
---リビルドが開始される
--cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 hdh1[3] hdg1[2] hdf1[1] hde1[0]
937705728 blocks level 5, 128k chunk, algorithm 2 ...
unused devices: <none>
--CPUやインターフェースにもよるけど 320GB x 4 = 960GB で ...
-''事後処理''
--grubの再インストール
---再インストールしないと1台目のHDDが死んだら他のディスク...
---CentOSなら grub2-install /dev/sdd
---CentOS6は /etc/mtab の /dev/md0 /boot を /dev/sda /boo...
--swapがあるならfstabからUUIDを調べて mkswap /dev/sddX -U...
---作り直さないと再起動時にswapを見つけられなくなる
**比活性化(デバイスを削除) [#n76cb07b]
-mdadm -Ss /dev/mdX
**もしも 2ディスク一気に吹っ飛んだら [#t6a89c60]
-むりやりmdを起動させる
--mdadm -A /dev/md0 -u 3fee8ddc:fc710c65:daa5f7c5:4109bf4...
--- -u の後ろは /etc/mdadm.conf の UUID 参照
---たぶんリビルドが進むと途中でmdが落ちて見えなくなること...
**ホットスワップ(linuxの機能) [#nd6d8fd1]
-HDD取り外し(オフライン化)
echo 1 > /sys/class/scsi_device/X:0:0:0/device/delete
--X:0:0:0 の頭の数字(X)はたいてい sd? の順番に準じている...
--dmesg|grep sd したら sd X:0:0:0: [sda] 321672960 512-by...
-HDD再認識(オンライン化)
echo 0 - 0 > /sys/class/scsi_host/hostX/scan
--オフライン化していないなら刺すだけで動いた。
--電源を刺す時にショートしないように気をつけること。
---デバイスとか電源によってはつられて同系列のデバイスに再...
**障害時のメール通知機能 [#a2d26a11]
-設定
--vi /etc/mdadm.conf
MAILADDR serveradmin@ezweb.ne.jp
--/etc/init.d/mdmonitor start
--chkconfig mdmonitor on
-当然だが、RAID組んでるサーバにメールサーバがあったら通知...
--なぜなら、死んだディスクが固まってサーバもしくはmd丸ご...
**RAIDの拡張(ディスクの増設) [#rcdf5649]
***スペアディスクとして使う [#s95b54bb]
-fault発生時に自動的にスペアを使って再構築が始まるように...
-ディスクの追加
-構築時と同様にパーティションを作る
-mdadm /dev/md0 --add /dev/sdg1
-mdadm -D /dev/md0
--追加した /dev/sdg1 が spare として見えているはず
***RAIDを拡張してディスク容量を増加させる [#y85b19c7]
-ディスクの追加
--上のスペアディスクをとりあえず追加する
-mdadm --grow /dev/md0 --raid-devices=5
--稼働本数を5本に変更する
-mdadm --grow /dev/md0 -z max
--アレイサイズをパーティション最大まで広げる
-リビルド完了待ち
-''ファイルシステムの拡張''
-fsck.ext3 -f /dev/md0
--不安要素払拭
-resize2fs -S 32 /dev/md0
-- -S 32 は 構築時に mke3fs した時の raid-stride のサイズ
-- 一番後ろにサイズを指定することも可能。~
今回は省略したのでパーティションいっぱいいっぱいまで拡張...
-xfs_growfs /dev/md0
--XFSの場合
**RAIDを解除する [#ja797b16]
-RAIDがもういらない、作り直したいときに。
-mdデバイス停止
--mdadm --stop /dev/md0
-superblockの消去
--mdadm --misc --zero-superblock /dev/sdb1
---面倒であればddでも使ってLinux raid autodetectパーティ...
-vi /etc/mdadm.conf
--コンフィグ消去
**RAIDのりビルドスピードを変更する [#if7109d0]
-vi /proc/sys/dev/raid/speed_limit_max
200000
--デフォルトは 200000 = 200MB/s
--md毎に個別で設定する場合は/sys/block/md?/md/sync_speed_...
-vi /proc/sys/dev/raid/speed_limit_min
1000
--デフォルトは 1000 = 1MB/s
**毎週日曜にresyncが走って重くなる件 [#v456f24e]
-mdadmにいつの間にか定期的に整合性チェックをする機能が搭...
--http://www.jp.redhat.com/support/errata/RHBA/RHBA-2009-...
---2TB x6 積んでるとresync中は丸1日重い。。。
-対策1 チェックしない荒技
--vi /etc/sysconfig/raid-check
ENABLED=yes
CHECK=check
# To check devs /dev/md0 and /dev/md3, use "md0 md3"
CHECK_DEVS=""
REPAIR_DEVS=""
SKIP_DEVS="md2"
---とりあえずmd2をチェックされて困るので、SKIP_DEVS="md2"
---全部したくなければ ENABLED=no
-対策2 チェックするタイミングを変更する荒技
--mv /etc/cron.weekly/99-raid-check /etc/cron.monthly/
-とりあえず今すぐチェック
--echo check > /sys/block/md2/md/sync_action
--停止は逆に idle と書く
--強制的にrebuildしたければ、echo repair とのこと
-参考
--http://www.jp.redhat.com/support/errata/RHBA/RHBA-2009-...
**参考文献 [#t3ce8e82]
-石川オープンシステム・ソリューションズ 資料4: mdadm(8) v...
--http://www.ioss.jp/sohodiy/mdadm8-1_5.html
-Type-gPlatform LiNux/mdadmを使ったソフトウェアRAID-5構築
--http://www.type-g.com/index.php?LiNux%2Fmdadm%A4%F2%BB%...
-masuidrive on rails debianでSoftware RAID1マシンを作る
--http://blog.masuidrive.jp/articles/2007/03/05/rails-on-...
-作業日報 SATAをホットスワップ化
--http://blog.jojo.jp/?eid=1173131
-おごちゃんの雑文 無理やりのRAID復旧
--http://www.nurs.or.jp/~ogochan/essay/archives/1010
-ぴろにっき mdadmでソフトRAIDを領域拡張してみる(RAID 5編)
--http://piro791.blog.so-net.ne.jp/2008-11-07
終了行:
*mdadm - ソフトウェアRAID [#fc896813]
-by [[member/すながわひろゆき]]
-mdadm でソフトウェアRAIDを構築・管理をする
--ハードウェアRAIDとの違い~
○ 専用RAIDコントローラが故障する心配がない~
○ ある程度高速(CPUがデュアルコアだと)~
○ 安価(投資ほぼゼロ)~
○ Linuxとの相性がほぼ100%のはず~
△ ホットスワップ不可~
※一応できる(ホットスワップの項を参照)~
△ アラートが不安定かもしれない~
-適用済みのディストリビューションを利用したため、インスト...
-&color(WHITE,RED){ちゃんとどうでも良いディスクとデータを...
----
#contents
**RAID構築 [#oedaf84f]
-''ディスクの準備''
--ここでは 320GB x 4 (/dev/sdb - sde) を用意した
---これを RAID5 して /home とする
--fdisk /dev/sdb
---primary pertition, サイズ一杯いっぱい, type fd (Linux ...
---sdeまで同様のパーティションを作る
---AFT (4KB sector)を使っているWD20EARSのようなHDDは~
fdisk -H 224 -S 56 /dev/sdb でfdisk入って、~
n p 1 enter enter t fd して、wする前に~
x(エキスパートモード) b(パーティション開始位置をいじる...
-''RAID構築''
--mdadm -C /dev/md0 -l5 -n4 -c128 -f /dev/sd[bcde]1
--- -C : create 新規構築
--- /dev/md0 : RAIDデバイス
--- -l5 : level=5 RAID5 (0, 1, 5, 6等が指定可能)
--- -n4 : raid-devices=4 アレイ内のアクティブなデバイス数~
raid-devices = /dev/sd[bcde]1の数 + spare-devices
--- -c128 : chunk=128 チャンクサイズ~
raid5 -> 128, raid1-> 64,32, raid0 -> 64,32 ぐらい?
---1発を縮退(degreed)させた状態で構成したいときは~
mdadm -C /dev/md0 -l5 -n4 -c128 -f /dev/sd[bcd]1 missing~
上と比べてsdeが存在せず縮退した状態で構成されて起動する。~
その後、mdadm /dev/md0 --add /dev/sde1
--その他オプション
--- --name=hoge ラベルをつける
--- --bitmap=internal ラインインテントビットマップ(再同...
-''RAID状態表示''
--mdadm -D /dev/md0
-''自動認識するための記述''
--vi /etc/mdadm.conf
DEVICE partitions
---以前は DEVICE /dev/sd[b-e]1 としていたが、いつのまにか...
--mdadm -E --scan >> /etc/mdadm.conf
---アレイに関するIDをスキャンしてconfに追加
--vi /etc/mdadm.conf
DEVICE partitions
ARRAY /dev/md0 level=raid5 num-devices=4 UUID=8297c2bb:4...
--vi /etc/rc.d/rc.sysinit
/sbin/mdadm -As
---どこかに記述しておく
---TL11SやCentOSではすでに記入されている
-''フォーマットとかマウントとか''
--mke3fs -b 4096 -R stride=32 /dev/md0
---ブロックサイズは通常 4096B
--- -R stride = chunk-size ÷ ブロックサイズ = ここでは32
--vi /etc/fstab
/dev/md0 /home ext3 defaults 0 3
---当然ですが後ろの 0 3 は環境に応じて変えること。
**故障時のリビルド [#i8fe153b]
-''RAIDの状態の確認''
--cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb1[3] sde1[2] sdd1[1](F) sdc1[0]
937705728 blocks level 5, 128k chunk, algorithm 2 ...
unused devices: <none>
---sdd1[1]&color(RED){(F)}; が故障しているとする。
-''故障フラグを立てる''
--mdadm /dev/md0 -f /dev/sdd1
mdadm: set /dev/hdf1 faulty in /dev/md0
-''故障ディスクをアレイからパージ''
--mdadm /dev/md0 -r /dev/sdd1
mdadm: hot removed /dev/hdd1
-''ディスク交換''
--halt して ディスク交換後起動
---もしかしたら halt しなくてもホットスワップでいけるかも...
--fdisk して 交換したディスクのパーティションを作り直す
-''リビルド''
--mdadm /dev/md0 -a /dev/sdd1
mdadm: hot added /dev/hdd1
---リビルドが開始される
--cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 hdh1[3] hdg1[2] hdf1[1] hde1[0]
937705728 blocks level 5, 128k chunk, algorithm 2 ...
unused devices: <none>
--CPUやインターフェースにもよるけど 320GB x 4 = 960GB で ...
-''事後処理''
--grubの再インストール
---再インストールしないと1台目のHDDが死んだら他のディスク...
---CentOSなら grub2-install /dev/sdd
---CentOS6は /etc/mtab の /dev/md0 /boot を /dev/sda /boo...
--swapがあるならfstabからUUIDを調べて mkswap /dev/sddX -U...
---作り直さないと再起動時にswapを見つけられなくなる
**比活性化(デバイスを削除) [#n76cb07b]
-mdadm -Ss /dev/mdX
**もしも 2ディスク一気に吹っ飛んだら [#t6a89c60]
-むりやりmdを起動させる
--mdadm -A /dev/md0 -u 3fee8ddc:fc710c65:daa5f7c5:4109bf4...
--- -u の後ろは /etc/mdadm.conf の UUID 参照
---たぶんリビルドが進むと途中でmdが落ちて見えなくなること...
**ホットスワップ(linuxの機能) [#nd6d8fd1]
-HDD取り外し(オフライン化)
echo 1 > /sys/class/scsi_device/X:0:0:0/device/delete
--X:0:0:0 の頭の数字(X)はたいてい sd? の順番に準じている...
--dmesg|grep sd したら sd X:0:0:0: [sda] 321672960 512-by...
-HDD再認識(オンライン化)
echo 0 - 0 > /sys/class/scsi_host/hostX/scan
--オフライン化していないなら刺すだけで動いた。
--電源を刺す時にショートしないように気をつけること。
---デバイスとか電源によってはつられて同系列のデバイスに再...
**障害時のメール通知機能 [#a2d26a11]
-設定
--vi /etc/mdadm.conf
MAILADDR serveradmin@ezweb.ne.jp
--/etc/init.d/mdmonitor start
--chkconfig mdmonitor on
-当然だが、RAID組んでるサーバにメールサーバがあったら通知...
--なぜなら、死んだディスクが固まってサーバもしくはmd丸ご...
**RAIDの拡張(ディスクの増設) [#rcdf5649]
***スペアディスクとして使う [#s95b54bb]
-fault発生時に自動的にスペアを使って再構築が始まるように...
-ディスクの追加
-構築時と同様にパーティションを作る
-mdadm /dev/md0 --add /dev/sdg1
-mdadm -D /dev/md0
--追加した /dev/sdg1 が spare として見えているはず
***RAIDを拡張してディスク容量を増加させる [#y85b19c7]
-ディスクの追加
--上のスペアディスクをとりあえず追加する
-mdadm --grow /dev/md0 --raid-devices=5
--稼働本数を5本に変更する
-mdadm --grow /dev/md0 -z max
--アレイサイズをパーティション最大まで広げる
-リビルド完了待ち
-''ファイルシステムの拡張''
-fsck.ext3 -f /dev/md0
--不安要素払拭
-resize2fs -S 32 /dev/md0
-- -S 32 は 構築時に mke3fs した時の raid-stride のサイズ
-- 一番後ろにサイズを指定することも可能。~
今回は省略したのでパーティションいっぱいいっぱいまで拡張...
-xfs_growfs /dev/md0
--XFSの場合
**RAIDを解除する [#ja797b16]
-RAIDがもういらない、作り直したいときに。
-mdデバイス停止
--mdadm --stop /dev/md0
-superblockの消去
--mdadm --misc --zero-superblock /dev/sdb1
---面倒であればddでも使ってLinux raid autodetectパーティ...
-vi /etc/mdadm.conf
--コンフィグ消去
**RAIDのりビルドスピードを変更する [#if7109d0]
-vi /proc/sys/dev/raid/speed_limit_max
200000
--デフォルトは 200000 = 200MB/s
--md毎に個別で設定する場合は/sys/block/md?/md/sync_speed_...
-vi /proc/sys/dev/raid/speed_limit_min
1000
--デフォルトは 1000 = 1MB/s
**毎週日曜にresyncが走って重くなる件 [#v456f24e]
-mdadmにいつの間にか定期的に整合性チェックをする機能が搭...
--http://www.jp.redhat.com/support/errata/RHBA/RHBA-2009-...
---2TB x6 積んでるとresync中は丸1日重い。。。
-対策1 チェックしない荒技
--vi /etc/sysconfig/raid-check
ENABLED=yes
CHECK=check
# To check devs /dev/md0 and /dev/md3, use "md0 md3"
CHECK_DEVS=""
REPAIR_DEVS=""
SKIP_DEVS="md2"
---とりあえずmd2をチェックされて困るので、SKIP_DEVS="md2"
---全部したくなければ ENABLED=no
-対策2 チェックするタイミングを変更する荒技
--mv /etc/cron.weekly/99-raid-check /etc/cron.monthly/
-とりあえず今すぐチェック
--echo check > /sys/block/md2/md/sync_action
--停止は逆に idle と書く
--強制的にrebuildしたければ、echo repair とのこと
-参考
--http://www.jp.redhat.com/support/errata/RHBA/RHBA-2009-...
**参考文献 [#t3ce8e82]
-石川オープンシステム・ソリューションズ 資料4: mdadm(8) v...
--http://www.ioss.jp/sohodiy/mdadm8-1_5.html
-Type-gPlatform LiNux/mdadmを使ったソフトウェアRAID-5構築
--http://www.type-g.com/index.php?LiNux%2Fmdadm%A4%F2%BB%...
-masuidrive on rails debianでSoftware RAID1マシンを作る
--http://blog.masuidrive.jp/articles/2007/03/05/rails-on-...
-作業日報 SATAをホットスワップ化
--http://blog.jojo.jp/?eid=1173131
-おごちゃんの雑文 無理やりのRAID復旧
--http://www.nurs.or.jp/~ogochan/essay/archives/1010
-ぴろにっき mdadmでソフトRAIDを領域拡張してみる(RAID 5編)
--http://piro791.blog.so-net.ne.jp/2008-11-07
ページ名: