RAID総合スレッド No.5
■ このスレッドは過去ログ倉庫に格納されています
Linuxでも標準でソフトウェアRAIDが可能となってきました。 マターリとLinuxのRAIDやその周辺技術、設定等について情報交換しましょう スレ 1 http://pc5.2ch.net/test/read.cgi/linux/1013875908/ スレ 2 http://pc10.2ch.net/test/read.cgi/linux/1111348512/ スレ 3 http://pc11.2ch.net/test/read.cgi/linux/1168487758/ スレ 4 http://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で見つからないので削除。 ... あと続けてくらさい。 >>547 んじゃ、↓で。"active"と違って縮退状態のままアレイ開始 # echo clean > /sys/block/md127/md/array_state ここまで動かないと、ハードウェア側を疑いたくなるんだけど たった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をコピーとってからやればよい。 蛇足。 mdadm -A /dev/md(新しい数字) -a /dev/sd(e, g, h)1 この記法ってあってたかどうか自信ない。 素直に mdadm -A /dev/md(新しい数字) -a /dev/sde1 /dev/sdg1 /dev/sdh1 にすべきか。 >>550 # mdadm -A /dev/md(新しい数字) -a /dev/sd[egh]1 では? http://www.ioss.jp/sohodiy/mdadm8-1_5.html だと、 # mdadm -A /dev/md(新しい数字) -a /dev/sd['egh']1 だけど。 ああ、思い出した。 >>551 の前者で正しい。 -C の場合は認識順が意図した順番と違っちゃうけど、 -A なら問題ない。 ARC-1880ix-24の"Advanced Configurations"に関するドキュメントってどっかに無いですかね。 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) ■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 ■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 RAIDなし単体でのベンチマークと見比べたかったな。 /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 こないだ作ったraid5は、過去256kだったのをなんとなく 128kに変えたけど、それで無難だったのか。 >>492 ,493 > そもそもddでなくてもmdにアレイの整合性をチェックさせて > 問題があればエラーを吐かせる為のメソッドがsysfsに用意されてるし 読んだ時なるほどれならリビルドの時の障害起きにくくなるなと思ったんだけどそもそもシステムにそういう機能があるからやらなくてok てこと? 機能があっても使われなきゃ意味が無い RedHat系なら自分で仕込むまでもなくcron.weeklyにraid-checkが入れられる Ubuntuには無いみたいだけどね >>561 てことはUbuntu(Debian も?)だとraid-check というのを自分で設定するか,dd で舐めるとかしなきゃ駄目ってことなのかな raid-check 調べてみる HDD2台のraid0とHDD4台のraid5について質問です。 ベンチマークとか見るとHDD2台のraid0が200MB/s、HDD4台のraid5が150MB/sくらいになってるけど、 実際の体感速度はどうなんでしょう? 主に動画編集などで使います。 編集だから書き込み速度はあまり気にしなくてもいいのかもしれないけど、 それ読み込み速度でしょ。 巨大なストレージの確保で見たら RAID5 でいいんじゃないのかなと。 1TBのHDD×4でRAID0組んでみた seq READ 400MB/s WRITE 350MB/s ってがんばってる方? 良い成績だと思うよ ブロックサイズは64KBだっけ?の方が良い成績が残ったような気がする。 だれか助けてください。 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 どうにかしてサルベージすることはできませんか・・・・ 現在分かっていることは、CentOS5.7とScientificLinux6.1では アレイを作る際のメタデータのバージョンが違うようです。 CentOSは0.9で、Scientificでは1.2です。 また、無指定でアレイを構築した際の、chunksizeも違うようです。 CentOSは64K、Scientificは512Kのようです。 もともと64Kだったchunksizeが512Kで構築しなおされてしまったようです。 なんとか助ける方法はありませんか 連投すみません。 仮想環境で # mdadm -C /dev/md0 --chunk 64K -l 5 -n 3 /dev/sd[bcd]1 とすればデータは無傷だったということは確認しました。 また、一旦chunksize=512Kで構築されたアレイを解除して、 64Kで作り直してもデータは復旧しませんでした。 はたまた連投すみません 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 で仮想環境では復旧しました。 一人で勝手に騒いですみません。 現実環境のリビルドが完了したら試してみようと思います。 おっちょこちょいな自分の失敗が誰かの役に立てばと思います。 現実環境でやってみましたがダメでした。 メタデータのバージョンが同じでないとうまくいかないような感じです。 CentOSで64kで構築 ↓ Scientificで512kで構築 ↓ Scientificで64kで再構築 ↓ ダメ ←いまここ です。 これからCentOSで64kで再構築してみます。 まずは仮想環境でやってみようと思います。 バージョンによってメタデータの書き込まれる場所が違うことがわかりました http://hellokitty68.main.jp/wiki/Mdadm#metadata ここにあるように、0.9と1.2ではずいぶんと違うようです。 これは困りました。 さらに、これだけがわかっても自分にはどうしたらいいのかわかりません。 dd でディスク毎に吸い上げて処理したほうが早くないか? >>574 現在、本番環境でのddでの吸い上げ先がない状態ですが、 ddで吸い上げた後にどう処理すればいいのか教えていただけますか? metadataがあると思われる部分をddでファイルに書き出して hexdumpなんてしてみましたが、どうしたらいいのかさっぱりわかりませんでした。 dd で吸い出してそこで作業したら失敗してもやり直しが効く そのデータがどのくらい大事かに寄るね 失ってもいいのであれば実HDDで作業してもいいかも >>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. 吸い上げたイメージ同士でデータとメタデータ領域が重なってるので、稀だけど壊れることないか。 真面目にするならメタデータ領域分は切り貼りして揃えてから再構築、かな? RAID0組んでるHDDにOS再インストールするときって、そのままOSインストール作業する? それとも、一度、Delete RAID Volumeで崩してからCreate RAID VolumeでまたRAID構築してからOSインストールしてる? バージョンが同じならそのまま 違う場合は別の環境でテストしてOKならそのまま 違うなら別のPCを用意 かな >>577 わざわざ丁寧にありがとうございます。 その方法ももちろん考えたのですが、 いかんせん、退避場所がありません。 タイの洪水でHDDの価格が高騰しているため手軽に買えない状況です・・・ さて、今日もシコシコと仮想環境で試行錯誤していましたら、 もしかしたら、完全復活はできなくても 一部の復活はできるかもしれない方法を見つけました。 簡単に言うとアレイをバージョン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 md127の何が気にくわないのか。 自分はそのまま使ってるぞ。 直すスキルがないってのは内緒・・・ 127が気に入らないならアレイ止めてからこれだけでよかったのにずいぶん余計なことを mdadm -A /dev/md0 /dev/sd[bcd]1 /boot を RAID1, swap を RAID0 にして、 あと全部 / で RAID1 にして普通にインストール成功 (ScientificLinux) 再起動してみるとBIOS直後から何も表示せず立ち上がらない。 どうしてかわかる人いる? >>586 ドライバが足りなくて > /boot を RAID1 のとこで転けてるんじゃ? >>586 レイドパーティションを/bootにする場合は、メタデータを0.90にしないと だめだよ。それかメタデータを1.2にして、grubを1.0以上にする。 >>587-588 ありがとう。インストーラのバグなのか grub が default では /dev/md0 に入ってしまっていた。 オプションで grub を /dev/sda1 の MBR に書くと起動した。 片方が死んだときのために RAID 構成ディスクの /dev/sdb1 にも grub を入れた。 これで大丈夫だといいんだが。 /bootなんか、わざわざRAIDに置かずに別途USBメモリに保存したほうが トラブルも無く、運用も楽。 そりゃ、万一の時は多少手間が増えるが。 システムとデータ置く場所分けるのって普通じゃないの? 以前安全第一に色んなRAIDを組んだが、結局実用性のあるのはRAID1または10だって聞いた。 技術屋が習った理論値だけでRAID5,6を勧める洗脳習慣があるがそれで騙されたと。 なぜならHDDの故障は同時に起きることが多いからだそうで、同じ時期・ロットで買うのが常だからそうな。 なので業務では同時期に故障するので上のような結論に至ったと。 まあ時間と費用対効果と実利を追求する立場の経営者らしい発言なんだが。 それと同じ流れが、このサイトの解説(技術屋)とそれに対するコメント >現実にはHDDのロット不良で複数台がある日まとめてイカれることなんかもよくあるので、性能との兼ね合いから1+0と筐体間ミラーで冗長性を確保すんのが堅いんじゃないですかね。 ↑に現れているのにワラタ http://d.hatena.ne.jp/tagomoris/20110419/1303181958 まああくまでも個人趣味のRAID使いとは立ち位置が違うだろうけど。参考まで。 何故、RAID6は同時に壊れるのに、RAID1や10は同時に壊れないと考えるかね。 何故、業務で重要なデータを扱うのに、別ロット品を用意しないかね。 うむ 危険を知りつつ「同じ時期・ロットで買うのが常」となるのがアホ。 購入先をバラバラの店にするくらいのことは普通するだろう。 RAID Level 5,6の一番のメリットは主に後日の容量拡張に対する低コスト性でしょ。 騙されたというより「××が一番」と単純に決めてかかって 各Levelの仕組みやメリット・デメリットを理解していないだけに見える。 要件に応じて何が一番は変わってくるはずなのだが。 貧乏RAIDなんぞ リビルド時に多数のHDDが同時に負担掛かる 壊れて当然 >>592 > 技術屋が習った理論値だけで 背伸びすんなw 日ごろ本読まないのが分かるぞ。 同ロットの場合使う前の慣らしで差を付けるようにしてるな 新品のHDDに数十TB書いたり消したりしてからRAID組んだりとか RAIDはいろいろ怖いは 複数サーバへの自動レプリケーションが一番安全では? megaRAIDの9260なのですが、 MSMを使って、ホットスペアの登録はできないのでしょうか。 対象ディスクはオンラインにはなるのですが、 ホットスペアにするための選択肢が右クリックメニューが表示されません。 どうすればMSMで可能になるかお願いします。 >>607 ですよねー 耐障害をRAIDで追い求めるのは流行らない気がするけど、パフォーマンスとデバイス単独の故障ぐらいはRAIDで面倒みたい 君はRAIDを誤解している 流行りの問題じゃないんだよ ってか、この手の記事の結論は「RAIDアレイはちゃんと(バックアップ・レプリケーションも含めて)構築運営することが前提、それを怠っ てたらどのRAIDレベルだろうが信頼性なんてあったもんじゃない」っていう話な気が。 (結局運営管理の余裕度期待値、設置場所の空間効率やストレージの容量効率の限度なども考慮してどれだけイニシャル コストやランニングコストをかけられるか、という話に落ち着くわけだが) 意味も無くアレイを組んでみる 言葉の響きに憧れてRAID環境を構築してみる HDDを数枚束ねただけで何やらすごいことをやり遂げた気になって満足する そんなオナニーのようなRAID環境の構築があってもいいと思うんだ それが自由というもの たとえUSBメモリやSDカードでRAID0を組んだとしても 会社の金や研究室の金でなきゃOK USBメモリで思い出した 以前10ポートUSBハブとアクセスLED付のUSBメモリでRAID-Z組んで遊んだことがあった I/O発生のたびにチカチカ光って面白かったから展示用にいいかとも思ったけど 結局人前に出す機会が無かったな Ubuntu12.04LTSとか、GNOMEディスクユーティリティがある環境で mdadmを組み込めば、GUI操作でUSBメモリーでRAID5とか作れるよ。 個々の操作の表現とか、わかんない人にはわかんないかもしんないけど mdadmをCLIで操作するよりは簡単。 RAIDを止めて、USBメモリーを安全に取り外すための操作もできる。 USBが3系統あるM/Bなら、USB2.0の理論値を超える高速ストレージが作れるよ。 20GBの動画データとか持ち歩く機会があるなら 32GBのUSB2.0メモリーを買うよりも 8GBのUSB2.0メモリー三本をRAID5で使うほうが速い。 よほどCPUが遅くないかぎり、書きこみもRAID5のほうが速いんじゃないかな。 ただ、RAIDを止めずに一本抜くと、当然デグレードになる。 で、抜いたやつを、RAIDに戻すことはGNOMEディスクユーティリティではできないっぽい。 dd if=/dev/zero of=デバイス bs=512 count=1とかやって 管理情報を抹消した上で戻さないといけないんじゃないかな。 (ヲレはmdadm直でaddしなおしたから、よくわかんない) LinuxNASにこういう機能つくとバックアップ用とか嬉しいけど さすがに、三系統のUSBを搭載するのはNAS製品にはコスト高か… >>614 本気で毎回移動のたびにそれやるのか? 取り外しも面倒、持ち運び先で再構成するのも面倒 コスト云々以前にそんな需要があるとは到底思えん 「20GBの動画データ」程度だったら そんなクソめいどいことやるよりBD-Rにでも焼いた方がマシじゃないか? つか普通に外付けHDDで十分だろう 5000円も出せばその10倍以上の容量のが買えるし eSATA接続のなら速度もUSBメモリの3〜5倍程度は出るだろう >>614 そもそもDMA転送が出来ないUSBメモリなんかでやっても、元々が超絶に遅いわけでメリットは薄い。 せっかくの中学生の自由研究を、そんな全力で叩いてやるなよ・・・ >>615 HDDで充分? どう考えても、USBメモリー三本持ち歩くほうが HDDを持ち歩くより手軽で気軽だろ。 それに問題は、運んでいるデータが確実に渡せるか? そこ考えない人がRAID板にいるわけ? 外付けHDDなんて、途中で転んだくらいで壊れるかもしんないぜ。 HDDや光学ディスクで二重化して運ぶより RAID5 USBメモリーのほうが手軽で確実だと思うよ。 USBメモリでソフトウェアRAIDとかトリッキーな方法をやってて 「運んでいるデータが確実に渡せるか?」ってのは…w > そこ考えない人がRAID板にいるわけ? 何度も書かれている話だが、RAIDってのは「可用性を向上させる」ための技術なんだよ。 そもそもデバイスを何度もバラしたり再構成する時点で危険だと思わんのかな。 そういう用途はまったく考慮されていないんだが。 わざわざ簡単なことを難しくしてどうすんの? USBメモリーでRAID.... きたるべき本番環境のディスク障害に備えて着脱しやすいUSBメモリで 障害時の対応をトレーニングしてるんだよ、多分。 > どう考えても、USBメモリー三本持ち歩くほうが 一体何をどう考えて そのような結論に到ったのか その点には興味がある 3本それぞれ別なポケットにいれておいて 1本落としても大丈夫とか? 一本のUSBメモリは簡単に折れちゃうけど、三本束になれば・・・ 毛利元就リスペクトなんだよ まあ、世の中にはFDRAIDなんてものもあるくらいだからいいんでない? Mega Floppy 2006:フロッピー13台でRAID - Engadget Japanese http://japanese.engadget.com/2006/04/20/mega-floppy/ これだな。 せっかく持っていったディスクが 壊れてて読めなかった経験が無い人は幸せだと思うよ。やれやれ。 どうしても読む必要があるなら 同じ内容のディスクを複数持ってくだろ 普通は 「確実」が必要なときに イレギュラーな手法でわざわざリスクを冒すのはアホ バックアップできないときの妥協策だよ。 RAIDはそう思ってつかわないと泣くことになるよ。 >>629 お前まだいたのかw 32GBのUSBメモリが1500円で買える時代にわずかな金をケチって リスクも手間暇も増やして一体何が嬉しいのやら。 毛利元就リスペクトなら素直に32GBのを三つ買えよw どうしてもRAIDが使いたいならそれをLevel 1三面ミラーにする方が1k倍まし。 少ない頭で精いっぱい考えたんだからあんまりいじめてやるなよ と、実際に実験も構築も出来ない情弱が妬んでいます。 ネタじゃなくてガチでRAID5のUSBメモリ持って歩くのか なんというか奇特な奴も居たもんだな RAID1ってHDDが壊れたら交換できる点は安心できるが、むしろ本体が壊れてどうにもならなくなるのが不安。 RAID1本体が壊れた場合、HDD1台だけ取り出してPCに繋いで、データそのままに、普通のHDDとして使い続けることってできるの? それとも、RAID1本体買い直さないと、データ復旧できないの? ソフトウェアRAIDなら安心。 壊れる可能性がある部品点数が少ないことは、直接的に可用性を高める。 壊れる可能性がある部品点数は大して変わらんだろう。 壊れたとき他のもので代用が利くかどうかが大きいだけ。 ハードウェアRAIDの場合はRAIDコントローラー自体が故障することも珍しくない。 確実に故障する部品が1点多い。 HDD1台でRAID組まないほうが部品点数少ないし、やっぱRAIDはやめとくわ。 しかし、ウィンドウズソフトウェアRAIDの短所としてはRAIDコントローラを使うよりシステム資源をより多く使用するということです。 また、RAIDの構成目的が性能とデータ保護という側面を考えれば、OS従属的なソフトウェアRAID方式が長期的なデータ保存及び管理を難しくすることもあるという点を考慮しなければなりません。 >>642 故障率の計算くらいしろよwww 何の為にRAIDがあるんだw >>643 ここLinux板なんだけど。 しかも10年前ならいざ知らず、今時ソフトウェアRAIDに必要なリソースなんて鼻クソみたいなもん。 また、データを格納する領域自体はOS従属的なフォーマットを使用するわけで、それで管理がどうこうなんて意味のない発想。 >>638 普通のパーティションとしてマウントし、読み書きできるよ、たぶん大抵は。 >>641 ソフトウェアRAIDの場合でも SATA等のコントローラは絶対に必要なんだよ。 だから「部品点数」は大差ない、と。 (それが「壊れる可能性」は違うとしても) ソフトウェアRAIDならハードウェア絡みのトラブルは 絶対発生しないから「安心」などと油断してるといつか酷い目にあうぞ。 俺は酷い目にあったことがあるから断言できるw ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる