1 名前:login:Penguin mailto:sage [2009/09/16(水) 23:34:35 ID:JK/kMdkU] Linuxでも標準でソフトウェアRAIDが可能となってきました。 マターリとLinuxのRAIDやその周辺技術、設定等について情報交換しましょう スレ 1 pc5.2ch.net/test/read.cgi/linux/1013875908/ スレ 2 pc10.2ch.net/test/read.cgi/linux/1111348512/ スレ 3 pc11.2ch.net/test/read.cgi/linux/1168487758/ スレ 4 pc11.2ch.net/test/read.cgi/linux/1208263754/ Linux RAID 一般 ttp://linas.org/linux/raid.html ttp://www.linux.or.jp/JF/JFdocs/The-Software-RAID-HOWTO.html ttp://linas.org/linux/Software-RAID/Software-RAID.html Adaptec Japan ttp://www.adaptec.com/ja-JP/_common/os_support/linux/ Linux EVMS 一般 ttp://evms.sourceforge.net/ Adaptec Japanのアドレス修正。EVMSに関するIBMのサイトが404で見つからないので削除。 ... あと続けてくらさい。
545 名前:login:Penguin mailto:sage [2011/09/10(土) 17:25:26.05 ID:efd1VIH5] >>544 sdbって新品? 元々使ってた奴なら、アレイに追加する前に単体で読み書きテストした? とりあえず、強制的にactive # echo active > /sys/block/md127/md/array_state ttp://lxr.linux.no/#linux+v3.0.4/drivers/md/md.c#L3354
546 名前:522 mailto:sage [2011/09/11(日) 11:24:57.03 ID:AqZU9mQD] >>545 sdbは使い回しています。 まだメーカーのHDDチェックツールでのHDD単体全体のスキャンチェックは完了していませんが、読み込みは問題ないようです。 # hdparm -Tt /dev/sdb /dev/sdb: Timing cached reads: 2108 MB in 2.00 seconds = 1054.63 MB/sec Timing buffered disk reads: 366 MB in 3.00 seconds = 121.99 MB/sec 復旧できなくなる要員になるようなことは極力避けようと思い、sdbへの書き込みチェックはまだ実施していません。
547 名前:522 mailto:sage [2011/09/11(日) 11:27:14.34 ID:AqZU9mQD] 強制activeを試みましたが原因不明の入出力エラーの状態で、ここにアレイを起動できない原因があるのかもしれません。 # ls -l /sys/block/md127/md/array_state -rw-r--r-- 1 root root 4096 2011-09-11 11:15 /sys/block/md127/md/array_state # cat /sys/block/md127/md/array_state inactive # echo active > /sys/block/md127/md/array_state bash: echo: 書き込みエラー: 入力/出力エラーです # ls -l /sys/block/md127/md/ 合計 0 -rw-r--r-- 1 root root 4096 2011-09-11 11:00 array_size -rw-r--r-- 1 root root 4096 2011-09-11 11:18 array_state drwxr-xr-x 2 root root 0 2011-09-11 11:00 bitmap -rw-r--r-- 1 root root 4096 2011-09-11 11:00 chunk_size -rw-r--r-- 1 root root 4096 2011-09-11 11:00 component_size drwxr-xr-x 2 root root 0 2011-09-11 11:00 dev-sdb1 drwxr-xr-x 2 root root 0 2011-09-11 11:00 dev-sde1 drwxr-xr-x 2 root root 0 2011-09-11 11:00 dev-sdg1 drwxr-xr-x 2 root root 0 2011-09-11 11:00 dev-sdh1 -rw-r--r-- 1 root root 4096 2011-09-11 11:00 layout -rw-r--r-- 1 root root 4096 2011-09-11 11:00 level -rw-r--r-- 1 root root 4096 2011-09-11 11:00 max_read_errors -rw-r--r-- 1 root root 4096 2011-09-11 11:00 metadata_version --w------- 1 root root 4096 2011-09-11 11:00 new_dev -rw-r--r-- 1 root root 4096 2011-09-11 11:00 raid_disks -rw-r--r-- 1 root root 4096 2011-09-11 11:00 reshape_position -rw-r--r-- 1 root root 4096 2011-09-11 11:00 resync_start -rw-r--r-- 1 root root 4096 2011-09-11 11:00 safe_mode_delay
548 名前:login:Penguin mailto:sage [2011/09/11(日) 23:05:24.48 ID:lb+4D791] >>547 んじゃ、↓で。"active"と違って縮退状態のままアレイ開始 # echo clean > /sys/block/md127/md/array_state ここまで動かないと、ハードウェア側を疑いたくなるんだけど
549 名前:login:Penguin mailto:sage [2011/09/12(月) 13:01:15.87 ID:Bts/njAy] たった4台のraid5でなにを大騒ぎしてんだろ…… ステータスのクリーンは筋が悪い。 b1が腐ってるんだろ? 新台入れるか(パチンコみたいだなw) 普通に mdadm -S /dev/md127 mdadm -A /dev/md(新しい数字) -a /dev/sd(e, g, h)1 これが通ったら、 mdadm --zero-superblock /dev/sdb1 ←ここがポイントのはず mdadm -A /dev/md(新しい数字) -a /dev/sdb1 でよかないか? 書き換えるのが怖いなら/dev/sdbをコピーとってからやればよい。
550 名前:login:Penguin mailto:sage [2011/09/12(月) 13:08:18.91 ID:Bts/njAy] 蛇足。 mdadm -A /dev/md(新しい数字) -a /dev/sd(e, g, h)1 この記法ってあってたかどうか自信ない。 素直に mdadm -A /dev/md(新しい数字) -a /dev/sde1 /dev/sdg1 /dev/sdh1 にすべきか。
551 名前:login:Penguin mailto:sage [2011/09/12(月) 21:29:15.15 ID:5pzJNgRd] >>550 # mdadm -A /dev/md(新しい数字) -a /dev/sd[egh]1 では? www.ioss.jp/sohodiy/mdadm8-1_5.html だと、 # mdadm -A /dev/md(新しい数字) -a /dev/sd['egh']1 だけど。
552 名前:550 mailto:sage [2011/09/15(木) 08:13:23.76 ID:sKBE5Whs] ああ、思い出した。 >>551 の前者で正しい。 -C の場合は認識順が意図した順番と違っちゃうけど、 -A なら問題ない。
553 名前:login:Penguin mailto:sage [2011/09/16(金) 23:15:29.48 ID:BraekazM] ARC-1880ix-24の"Advanced Configurations"に関するドキュメントってどっかに無いですかね。
554 名前:login:Penguin mailto:sage [2011/10/02(日) 17:50:56.90 ID:kYnPDMiF] mdadmによるRAID6でchunkサイズの違いによるパフォーマンスを計測したのでチラ裏を。 ML110G6 WD25EZRX-00MMMB0を4台(OSは別HDD) CentOS 5.7(x86_64) mdadm-2.6.9-3.el5 各HDD上で2GB領域を作成しmd0を構成 ext3フォーマット WRITE:# dd if=/dev/zero of=/storage/1GB.img bs=1M count=1024 READ :# hdparm -t /dev/md0 計測結果は次レスで。 (ほかにもいろいろテストしたかったけど疲れたのでw)
555 名前:login:Penguin mailto:sage [2011/10/02(日) 17:54:55.86 ID:kYnPDMiF] ■chunk 4k READ :Timing buffered disk reads: 332 MB in 3.01 seconds = 110.46 MB/sec WRITE:1073741824 bytes (1.1 GB) copied, 2.25816 seconds, 475 MB/s ■chunk 64K (default) READ :Timing buffered disk reads: 488 MB in 3.00 seconds = 162.43 MB/sec WRITE:1073741824 bytes (1.1 GB) copied, 2.77056 seconds, 388 MB/s ■chunk 128K READ :Timing buffered disk reads: 548 MB in 3.00 seconds = 182.54 MB/sec WRITE:1073741824 bytes (1.1 GB) copied, 1.72971 seconds, 621 MB/s
556 名前:login:Penguin mailto:sage [2011/10/02(日) 17:58:51.36 ID:kYnPDMiF] ■chunk 256K READ :Timing buffered disk reads: 546 MB in 3.00 seconds = 181.93 MB/sec WRITE:1073741824 bytes (1.1 GB) copied, 1.92294 seconds, 558 MB/s ■chunk 512K READ :Timing buffered disk reads: 522 MB in 3.01 seconds = 173.50 MB/sec WRITE:1073741824 bytes (1.1 GB) copied, 2.23327 seconds, 481 MB/s ■chunk 1024K READ :Timing buffered disk reads: 542 MB in 3.02 seconds = 179.54 MB/sec WRITE:1073741824 bytes (1.1 GB) copied, 4.35082 seconds, 247 MB/s
557 名前:login:Penguin mailto:sage [2011/10/02(日) 18:04:10.65 ID:XKBCXxnC] RAIDなし単体でのベンチマークと見比べたかったな。
558 名前:login:Penguin mailto:sage [2011/10/02(日) 18:22:22.99 ID:kYnPDMiF] /dev/sdb1 として 2GB 領域を作成し ext3 フォーマット、コマンドは同じで。 READ :Timing buffered disk reads: 304 MB in 3.01 seconds = 100.83 MB/sec WRITE:1073741824 bytes (1.1 GB) copied, 3.07366 seconds, 349 MB/s
559 名前:login:Penguin mailto:sage [2011/10/04(火) 23:51:41.62 ID:2uRB3/YB] こないだ作ったraid5は、過去256kだったのをなんとなく 128kに変えたけど、それで無難だったのか。
560 名前:login:Penguin mailto:sage [2011/10/25(火) 11:37:42.73 ID:9XR7fcw7] >>492 ,493 > そもそもddでなくてもmdにアレイの整合性をチェックさせて > 問題があればエラーを吐かせる為のメソッドがsysfsに用意されてるし 読んだ時なるほどれならリビルドの時の障害起きにくくなるなと思ったんだけどそもそもシステムにそういう機能があるからやらなくてok てこと?
561 名前:login:Penguin mailto:sage [2011/10/25(火) 16:54:38.88 ID:/PmSxWz5] 機能があっても使われなきゃ意味が無い RedHat系なら自分で仕込むまでもなくcron.weeklyにraid-checkが入れられる Ubuntuには無いみたいだけどね
562 名前:login:Penguin mailto:sage [2011/10/25(火) 20:32:10.73 ID:RuQRT1PJ] >>561 てことはUbuntu(Debian も?)だとraid-check というのを自分で設定するか,dd で舐めるとかしなきゃ駄目ってことなのかな raid-check 調べてみる
563 名前:login:Penguin [2011/11/25(金) 02:01:00.42 ID:DfspjuOn] HDD2台のraid0とHDD4台のraid5について質問です。 ベンチマークとか見るとHDD2台のraid0が200MB/s、HDD4台のraid5が150MB/sくらいになってるけど、 実際の体感速度はどうなんでしょう? 主に動画編集などで使います。
564 名前:login:Penguin mailto:sage [2011/11/25(金) 04:47:32.00 ID:x3Tq0gHW] 体感速度は自分で確かめるしかないべ、マジで。
565 名前:login:Penguin mailto:sage [2011/11/25(金) 16:51:59.33 ID:FaCKtUuk] 編集だから書き込み速度はあまり気にしなくてもいいのかもしれないけど、 それ読み込み速度でしょ。 巨大なストレージの確保で見たら RAID5 でいいんじゃないのかなと。
566 名前:login:Penguin mailto:sage [2011/11/27(日) 23:08:23.83 ID:CjNOkzQ7] 1TBのHDD×4でRAID0組んでみた seq READ 400MB/s WRITE 350MB/s ってがんばってる方?
567 名前:login:Penguin mailto:sage [2011/11/28(月) 01:54:44.62 ID:zJmMr8wx] 良い成績だと思うよ ブロックサイズは64KBだっけ?の方が良い成績が残ったような気がする。
568 名前:login:Penguin [2011/11/28(月) 14:31:17.43 ID:SzpgZCSv] だれか助けてください。 CentOS5.7からScientificLinux6.1への乗り換えのさい、 CentOSで運用していたRAID5のアレイがScientificLinuxでmd127と認識されたのが気に入らず、 # mdadm /dev/md127 -f /dev/sd[bcd]1 # mdadm --misc --stop /dev/md127 # mdadm -C /dev/md0 -l 5 -n 3 /dev/sd[bcd]1 としたところ、データが飛びましたorz どうにかしてサルベージすることはできませんか・・・・
569 名前:568 [2011/11/28(月) 14:42:31.84 ID:SzpgZCSv] 現在分かっていることは、CentOS5.7とScientificLinux6.1では アレイを作る際のメタデータのバージョンが違うようです。 CentOSは0.9で、Scientificでは1.2です。 また、無指定でアレイを構築した際の、chunksizeも違うようです。 CentOSは64K、Scientificは512Kのようです。 もともと64Kだったchunksizeが512Kで構築しなおされてしまったようです。 なんとか助ける方法はありませんか
570 名前:568 [2011/11/28(月) 14:50:52.12 ID:SzpgZCSv] 連投すみません。 仮想環境で # mdadm -C /dev/md0 --chunk 64K -l 5 -n 3 /dev/sd[bcd]1 とすればデータは無傷だったということは確認しました。 また、一旦chunksize=512Kで構築されたアレイを解除して、 64Kで作り直してもデータは復旧しませんでした。
571 名前:568 [2011/11/28(月) 15:01:22.13 ID:SzpgZCSv] はたまた連投すみません 512Kで再構築されてしまった場合でも、mkfsなど余計なことしなければ # mdadm /dev/md0 -f /dev/sd[bcd]1 # mdadm --misc --stop /dev/md0 # mdadm -C /dev/md0 --chunk 64K -l 5 -n 3 /dev/sd[bcd]1 で仮想環境では復旧しました。 一人で勝手に騒いですみません。 現実環境のリビルドが完了したら試してみようと思います。 おっちょこちょいな自分の失敗が誰かの役に立てばと思います。
572 名前:568 [2011/11/28(月) 15:38:35.38 ID:SzpgZCSv] 現実環境でやってみましたがダメでした。 メタデータのバージョンが同じでないとうまくいかないような感じです。 CentOSで64kで構築 ↓ Scientificで512kで構築 ↓ Scientificで64kで再構築 ↓ ダメ ←いまここ です。 これからCentOSで64kで再構築してみます。 まずは仮想環境でやってみようと思います。
573 名前:568 [2011/11/28(月) 16:23:08.43 ID:SzpgZCSv] バージョンによってメタデータの書き込まれる場所が違うことがわかりました hellokitty68.main.jp/wiki/Mdadm#metadata ここにあるように、0.9と1.2ではずいぶんと違うようです。 これは困りました。 さらに、これだけがわかっても自分にはどうしたらいいのかわかりません。
574 名前:login:Penguin mailto:sage [2011/11/28(月) 16:47:50.20 ID:zJmMr8wx] dd でディスク毎に吸い上げて処理したほうが早くないか?
575 名前:568 [2011/11/28(月) 16:54:58.39 ID:SzpgZCSv] >>574 現在、本番環境でのddでの吸い上げ先がない状態ですが、 ddで吸い上げた後にどう処理すればいいのか教えていただけますか? metadataがあると思われる部分をddでファイルに書き出して hexdumpなんてしてみましたが、どうしたらいいのかさっぱりわかりませんでした。
576 名前:login:Penguin mailto:sage [2011/11/28(月) 18:43:29.50 ID:GpepBfXK] dd で吸い出してそこで作業したら失敗してもやり直しが効く そのデータがどのくらい大事かに寄るね 失ってもいいのであれば実HDDで作業してもいいかも
577 名前:login:Penguin mailto:sage [2011/11/28(月) 19:55:43.30 ID:nPrmxBAd] >>575 losetupでloopデバイスを割り当てる ddで吸い上げたイメージをdisk1.img, disk2.imgとすると ↓こんな感じでloopデバイスを割り当てられる(未使用のloopデバイスはlosetup -f で確認) # losetup /dev/loop0 disk1.img # losetup /dev/loop1 disk2.img /dev/sd*の代わりに、このloopデバイスでRAID1を作ったり出来る # mdadm --create /dev/md0 --raid-devices=2 --level=1 --verbose /dev/loop0 /dev/loop1 mdadm: size set to 131008K mdadm: array /dev/md0 started.
578 名前:login:Penguin mailto:sage [2011/11/29(火) 10:25:15.02 ID:00jPXJK8] 吸い上げたイメージ同士でデータとメタデータ領域が重なってるので、稀だけど壊れることないか。 真面目にするならメタデータ領域分は切り貼りして揃えてから再構築、かな?
579 名前:login:Penguin mailto:sage [2011/11/29(火) 12:25:33.10 ID:Yf0+yFDJ] RAID0組んでるHDDにOS再インストールするときって、そのままOSインストール作業する? それとも、一度、Delete RAID Volumeで崩してからCreate RAID VolumeでまたRAID構築してからOSインストールしてる?
580 名前:login:Penguin mailto:sage [2011/11/29(火) 15:13:40.75 ID:iTSjKJPG] バージョンが同じならそのまま 違う場合は別の環境でテストしてOKならそのまま 違うなら別のPCを用意 かな
581 名前:568 [2011/11/29(火) 15:46:31.33 ID:nWLFZrGz] >>577 わざわざ丁寧にありがとうございます。 その方法ももちろん考えたのですが、 いかんせん、退避場所がありません。 タイの洪水でHDDの価格が高騰しているため手軽に買えない状況です・・・
582 名前:568 [2011/11/29(火) 15:54:45.87 ID:nWLFZrGz] さて、今日もシコシコと仮想環境で試行錯誤していましたら、 もしかしたら、完全復活はできなくても 一部の復活はできるかもしれない方法を見つけました。 簡単に言うとアレイをバージョン0.9のメタデータで構築しなおし、 思い切ってfsckをかける方法です。 仮想環境でやってみたところ、とりあえずデータの復活を確認しました。 後は本番環境ですが、>>581 に書いたとおり、HDDが高くてすぐには実行できません。 アレイのサイズが1TBが3台のRAID5なので、余裕を持って2TBを 2本ほどRAID0で動かして作業をしたいところです。 それか、2TB1本にして縮退状態でやるかといった感じです。 ちなみにメタデータ、chunksizeを指定してアレイを構築する場合は以下のようになります mdadm -C /dev/md0 -l 5 -n 3 --chunk=64K --metadata=0.9 /dev/sd[bcd]1
583 名前:login:Penguin mailto:sage [2011/11/30(水) 10:23:52.58 ID:/CGQEQQw] md127の何が気にくわないのか。 自分はそのまま使ってるぞ。 直すスキルがないってのは内緒・・・
584 名前:login:Penguin mailto:sage [2011/11/30(水) 13:28:21.02 ID:OuQeDi8o] >>583 ちゃんと流れを読めよw
585 名前:login:Penguin mailto:sage [2011/12/03(土) 20:43:01.66 ID:TtU/rjkx] 127が気に入らないならアレイ止めてからこれだけでよかったのにずいぶん余計なことを mdadm -A /dev/md0 /dev/sd[bcd]1
586 名前:login:Penguin mailto:sage [2011/12/05(月) 23:56:34.31 ID:6e/+yMbn] /boot を RAID1, swap を RAID0 にして、 あと全部 / で RAID1 にして普通にインストール成功 (ScientificLinux) 再起動してみるとBIOS直後から何も表示せず立ち上がらない。 どうしてかわかる人いる?
587 名前:login:Penguin mailto:sage [2011/12/06(火) 16:20:07.48 ID:D33FO92h] >>586 ドライバが足りなくて > /boot を RAID1 のとこで転けてるんじゃ?
588 名前:login:Penguin mailto:sage [2011/12/06(火) 22:50:52.50 ID:ICuP3dI/] >>586 レイドパーティションを/bootにする場合は、メタデータを0.90にしないと だめだよ。それかメタデータを1.2にして、grubを1.0以上にする。
589 名前:586 mailto:sage [2011/12/08(木) 19:52:18.26 ID:Hmnoh3H0] >>587-588 ありがとう。インストーラのバグなのか grub が default では /dev/md0 に入ってしまっていた。 オプションで grub を /dev/sda1 の MBR に書くと起動した。 片方が死んだときのために RAID 構成ディスクの /dev/sdb1 にも grub を入れた。 これで大丈夫だといいんだが。
590 名前:login:Penguin mailto:sage [2011/12/09(金) 00:31:48.61 ID:u1j4XOSq] /bootなんか、わざわざRAIDに置かずに別途USBメモリに保存したほうが トラブルも無く、運用も楽。 そりゃ、万一の時は多少手間が増えるが。