RAID総合スレッド No.5
レス数が950を超えています。1000を超えると書き込みができなくなります。
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で見つからないので削除。
... あと続けてくらさい。 >>854
米ありがとうございます。
以下の事例では、--run --force 付きの assemble で復旧しているようですが
3玉とも Active の必要があるのではないかと思います。
http://wimax.blog64.fc2.com/blog-entry-153.html >>856
リビルド中に2個追加で壊れた状況からの復旧で、
サルベージ出来てるのはリビルドが完了していた部分だけ 結果報告です。
create で、どうにか残りの1玉を RAID に組み込めたのですが
FileSystem が認識出来ない状態でした。
xfs_repair でも復旧せず、Windows で復旧天使XFS RAID対応版 (NAS製品)も
試したのですが、全くファイルを見つけられない状態でした。
3TB で構成していたのも敗因ですかね・・・
残念ながら諦めることにします。
アドバイスありがとうございました。 >>858
すでに手遅れ感満載だけど・・・
1.何が起こったのかを確認する。2台以上逝った場合は逝った順番は重要
2.全ドライブのクローンを作る
3.サルベージ作業開始
逝ったRAIDセットを復旧させたいならこのくらいの慎重さが要るのでは
RAIDアレイに追加する順番を間違えて余計壊したオチのような気もする
#以前にNASの構築で知人のSEに相談したらRAID5は止めておけと言われた
#理由は逝ったときに詰むからだそうだ。素直にRAID10にしておけとアドバイスされた RAID10なんてごちゃごちゃしたのはやめとけ。
RAIDなしでもかまわんから、サーバ二台で相互ミラーしろ。
crontabで自動でな。
金があったらRAID1で相互ミラーだ。
RAIDはバックアップの代わりにはならん。 トラブル起こしたときは、RAID5もRAID10も大して変わらないような。
最悪の時に単体でもデータが拾い出せるRAID1が安心だよ。
もちろん別にリモートバックアップも必須。 週に一回、RAID1でバックアップ取ってる。
同期用ビットマップ有効にしておけば差分書き出すだけで取れるから高速。 すんまそん
質問です
3ware 9650seって2TB以上のHDD対応してますか?
(最新ファームで) >>863
対応してる。
↓のDrive Compatibility List参照
ttp://mycusthelp.info/LSI/_cs/AnswerDetail.aspx?inc=7475 mdの話。USB外付け16台でRAID6組んでるんだけど時々USBが見えなくなって
failureになる時があり、その場合はmdadm -A -fで復活出来ていた。
今日、久しぶりに発症したがいつもの手順でもpossibly out of dateで
assembleできない。困っていたら、アップデートでmdadmがver3.3に
なっているのに気付き3.2.6をmakeしそっちで-A -fしたら無事スタート。
3.3でより安全に寄せたということなのかもしれないが心臓に悪かった。 lvmで困っていて助言いただきたいことがあります.
lvmのスレが見つからなかったのですがスレチなら大変申し訳ありません.
○ 状況
4つの3TB-HDDで12TBのLVを組んでいた(各HDDにPVが1つずつ,4PV→1VG→1LV).
HDDの1つが物理障害で認識しなくなった.
残り3つのHDDに入っているデータを救出したい.
○ 解決方法: 次のやり方であっていますか?
* 物理障害HDDをはずして,代わりに空の1つのPVを作ったHDDを指す
* 当VGから,物理障害HDDのPVをVGメンバーからはずす(vgreduce)
* 当VGに,空のPVを追加する(vgextend)
* ここでマウントしてファイルを読めるか試す
なお,正常HDD3つだけで活性化(vgchange -ay --partial)したものは,FSが壊
れててマウントできないと言われました. >>868
> ○ 解決方法: 次のやり方であっていますか?
いいえ。空のHDDを追加してもファイルシステム的には何の意味もないです。
> なお,正常HDD3つだけで活性化(vgchange -ay --partial)したものは,FSが壊
> れててマウントできないと言われました.
その状態でfsckするしかないです。
ファイルシステムがXFSの場合、物理メモリ沢山無いとダメかも >>869
ご親切にどうもありがとうございました!
物理障害のHDDの復旧見込みがなければfsckをかけて
取り出せるものだけでも取り出してみます.
ファイルシステムはext4です. mdの定期rsync中にディスクの1本で failed command: READ FPDMA QUEUED とか
エラーが出たんだけど、rsync自体は正常に終わった。
これってファイルシステム的にはパリティのおかげでまだ正常ってことで
いいのかな。
さっさと替えのディスク買ってこないと…。 mdadmを使ってソフトウェアraid5を組んでるんですが、今のmd0をそのまま別サーバに移行ってできるんでしょうか?
例:
/dev/sda ←/とか/varとか/usrとか
/dev/md0 ←/home
となっているサーバAから/dev/md0のHDDをそっくりそのまま抜いてきて、同じような構成の別サーバBに移行したいのです。
ソフトウェアraid、サーバ移行とかの単語で探したのですがヒットしませんでした。
ここ読め!とかでも良いので教えて頂きたく。 サーバBのfstabにマウント情報書いて
mdadm.confにUUID書いときゃいいんじゃないの たぶん>>874でOKだけど、もう少しだけ詳しく書く
OS再インストールは何回かやってるので。大した事はやってませんが。
コマンドはすべて例。
1.OS再インストール作業
2.md0の再構成
# mdadm --assemble --run /dev/md0 /dev/sd[bcde]1
3.md0の再構成確認
# mdadm --detail /dev/md0
# more /proc/mdstat
4.md0の設定保存
# mdadm --detail --scan >> /etc/mdadm.conf
5.fstab編集してマウント
raidが縮退運転している時にマウントしてうっかりファイルとか保存するとリビルドするはめになるので、
最初からfstab書いてマウントするのは避けてる。
(ただ、OS起動時にraidが縮退運転していた時はread-onlyかもしれん。詳しくは知らない) ・HDDを後から追加して1つのボリュームに見せかけたい
・ディスクの冗長性は確保したい
って場合は
Linux+mdadmのほかに何があるでしょうか? >>874,875
なるほど。情報ありがとうございます。
検討段階だったので頂いた内容でちょっとやってみます! 2,3年前に廃棄したGentooのデータドライブRAID内データが
久しぶりに必要になり、しかし当時起動してたOSはもう残ってないので
手元にあったUSBのGentooで起動しなんとかmdadmで見える状態まで持ってきた、
んだけど、パーティションが全部吹き飛んでた。
旧OSのetcバックアップから復旧したmdadm.confで起動してて、UUIDは間違いない。
mdadm --detailで見ると正常かつクリーン、Creation Timeもたぶん合ってて特に異常は見られない。
fdiskやgdiskでも見えないし、当然pvscan(LVM2で使ってた)でも何も見えず。
こんなことって起こり得ます…?
testdiskとかやっても何も出てこず途方に暮れてるんですが、
何か良い復旧方法はないでしょうか。 /etc/lvm/backupにあるバックアップファイルの日付が古くて
なんでバックアップないのかな…と思いながらtestdiskであれこれやってたんですが、
パーティションテーブルタイプをGPTでもMBRでもなくNoneにしたら
ext4パーティションが検出されました。
LVMで使ってたのは昔の話で、最終的には/dev/md0に直接ext4で
書いてたんだった…ような気がする。
testdiskでは中身のファイルも見えてるので問題なさそうです。
お騒がせしました。
しかし何せNoneを選んでるので、testdiskでパーティションテーブルの書き込みができない。
これ開始終了の数値メモってGPTとMBR両方で書いてみて使えた方でOKですよね。
頭ではわかってるけど怖くて踏ん切りがつかないw MBRもGPTもまったく跡形もなく消えてる意味がわからず
さらにtestdiskでは何の問題もなく中身が見えるという点をよくよく考えてみて
思い出しました。
/dev/md0を直接ext4でフォーマットして使ってたんだった。
直マウントで中身見えた。
ほんとお騒がせしました。 Serial ATA HDD で、linux md で RAID1 なり 6 なりでアレイを構成して、
激しく書き込んでる途中で、ディスク引き抜いたりして遊んだことあるやついる?
あるいは、md の RAID ボリュームにそれなに激しいアクセスを伴う運用中に、
メンバディスクが死んじゃったとか、食らったやついる?
そんときに、
「ファイルシステムがコテンパンにブッこわれた。」とか、
「カーネルがハングしたけど、リブート後に fsck してまぁ、大きな問題はなかった。」とか、
「システムは生きてたけど、ファイルシステムにアクセスすると固まる、
アレイにアクセス中のプロセスが固まってた。」 とか、
「数秒のストールがあったようだが、そのまま運用が続いたようだ。」とか、
「アレイにアクセス中のプロセスになんの影響もなかった。」とか、
そのへんどうだった?
まぁ、ファイルシステムがこわれるのは、md だけじゃなくて、ファイルシステムの種類と
マウントオプションにもよるだろうけど、データが保護されるのは、ある意味当たり前で、
俺的に重要なのは、システム稼動が問題なく継続されるかどうかなのです。
root filesystem を置いているボリュームが md の アレイ上か否かによっても、システム稼動の
結果がかわると思うし、そのへんの状況もふくめて教えてくれるとたすかるます。
とくに知りたいのは、データが保護されるのは当たり前で、「システム稼動が
継続されたか?」です。「何の影響も、遅延もなく、データベースエンジンが動き続けた、
ログが記録され続けた」とか、「30秒くらい固まった」とか、そのへんです。
まぁ、チップセットや、ディスクコントローラが違えば、その状況もちがうんだろうけどね。
でも参考にしたい。
今、上記のようなことを実験しようとして、古い予備用 SATA HDD 10本 ダンボールから
あさってきたんだが、全部死んでて、だめぽい。Maxtor の SATA HDD 。
で、とりあえず、諦めた。おまいらなら知ってるはずだ。よろしくね。 886 なんだけど、今新品の WD Red 3TB を 2本おろして、20回くらいためしたわ。
1: RAID1 で、xfs デフォルトでファイルシステムつくっった。
2: 0.01 秒間隔でデータを unbuf で書きながら、その前後で gettimeofday して、
その差を記録するコード書いた。
3: コードを実行している途中で、ディスクをぶっこぬいた。
4: 遅延ログを確認した。
5: ミラーをリビルドして、3: に戻る。
遅延の最小が 0.03 秒で、最大が 8.6秒くらいだわ。
そのあいだで結構ばらけてるわ。
100回くらいためそうとおもったんだけど、HDD が逝った。
予備の新品ディスクはまだ 5本くらいあるけど、まぁこんくらいでいいわ。 debian8 に apt で mdadm を入れました。
別のPCの mdadm で作った RAID のディスクアレイ(HDD 3台の RAID)を USB で繋いだところ、自動的に認識され、mdデバイスが構成されました。
このような、繋いだだけで勝手にmdデバイス化する動作を止めたいのですが、どう設定すればいいでしょうか。
自分で明示的に mdadm -A したいです。
あと mdadm -A した時は自動的に read-only モードになるのですが、デフォルトで ro にするこの設定はどこにあるのでしょうか。 /sys/module/md_mod/parameters/start_ro >>889
それでした。ありがとうございます。
でもリブートしたら戻っちゃうんですね。
ここに初期値を与えてるのはどこなんでしょう?
>>890
/etc/udev/ の udev.conf はコメントだけ、rules.d/ には NIC の設定しか無かったです。
といった感じでまだ解決できてませんが、ヒントを貰えましたのでがんばってみます。
ひとまずありがとうございました。 linux勉強中の身です。ご教授頂けたら幸いです。
debianの8.1.0をインストール時にソフトRAID1を組みました。
起動後、sdbを外すと起動せず、
画面上に
---------
ALERT! /dev/disk/by-uuid/long-UUID-here does not exist.
Dropping to a shell!
modprobe: module ehci-orion not found in modules.dep
BusyBox v1.22.1 (Debian 1:1.22.0-9+deb8u1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/bin/sh: can't access tty; job control turned off
(initramfs)
---------------
と表示されました。
sdbを取り付け、sdaを外しても同じでした。
grubはどちらのhddにもインストールし、update-grubもしたんですが。。。
grubは1.2で、ext4にしました。
よろしければ博識の方お教え下さい。お願い致します。 >>894
ご教授ありがとうございます。
Cent7で同じことしてみたらできました。
なぜdebianでできないのか初心者の私にはわかりません。
色々勉強してから再度挑戦したいと思います。
ありがとうございました。 すでにdebian機を運用してるんだけど、途中からraid1に組むことは可能?
システムファイル系はssdでhome領域をハードディスクで構成してるんだけど、home領域のみraid組みたい 新しく追加する方のHDDでRAID1を縮退モードで作って
元のHDDの内容をその新しい縮退モードのアレイにコピーして
元のHDDをアレイにaddすればいんじゃねっけ ちょっと教えてほしい
mdraidでデータ領域用2TBx3のraid5があり、現状問題なく動いているんだが
事情があってそのうちの一本を交換したい
ちなみに電源落として抜き差しとかはOKだが、その場合はできれば作業は半日以内に抑えたい
入れ替えてリビルドもできれば避けたい
指定した物理ディスクのスペアを作成しておいて再起動で認識させて終了が望ましい
ぱっと思いついたのは電源落として別のPCにてddで丸コピーだが
もっといい方法が有ったら教えてほしい だいたい、なんでリビルド避けたいの。
パフォーマンスが、とか却下な。理由になんねぇ。
他のディスクが道連れに・・・なんてなら、
んなもん、3本新品買って、別に作って、データコピーだろ。
RAID組んで運用してるストレージで、そんなに
危ない橋を渡りたい訳? >>898
dd でいいんじゃね?
クローン機能が付いたHDDスタンドとかあるけど、多分 PC で dd した方が速いと思う。 >>900
ありがと
mdadmのmanみてもそれらしい機能が無かったがやっぱddか
同じロットの別のディスクがraid1の方でこけたから
今日明日なら半日止めれるからraid5の方を別ロットのスペアと入れ替えて
万が一問題の有ったロットがまたこけても復旧の楽なraid1にまわす予定なんだ
ddして再起動、動作確認なら最悪スペアがアウトでも戻せるしね >>901を読んでもリビルドを避けたい理由がよく分からなかった。 >>902
リビルド中はパフォーマンス落ちるから、使わない時に予防交換したい、でも時間は半日しかない、ってだけの話なんじゃない?
それほど難しいこと言ってるようには思えないけど。
んまあスペア云々の手順はよくわからんが。
PC止めてる間に黙って複製したディスクに入れ換えりゃそれだけで交換完了な気がするが、ここで言ってるスペアってのは RAID で言うところのスペアではないのかな。 いわゆる都市伝説を信じてる人間だってのは分かったな HP ProLiant Microserver N54L に
Ubuntu Server をインストールして、
ファイルサーバにするつもりです。
システムはマザボに直挿ししたUSBメモリにインストールし、
HDDは4TBを4台積むつもりです。
Linux用のソフトウェアRAIDは、
mdadmというパッケージを使うらしいことまでは解りました。
RAIDについて完全に無知なのですが、
まずはここから勉強しろ!っていう
アドバイスを頂けませんでしょうか。 ミニタワーで増やせるなら6にしとけば拡張が楽だけど
Microserverは4台までで基本増やせないから5以外なら10でも6でもいいな
と言うかそもそも>>905は冗長性が要るのかどうかって所からのような気も Microserver で mdadm RAID5 な俺涙目。 >>905
md 使ったNAS製品のひとつに ReadyNAS があるけど、これが唱ってる X-RAID2 ってのを参考にしておくとディスク追加や大容量ディスクへの換装での柔軟性が出てくる。
まあ md と LVM とオンラインリサイズが可能なファイルシステムを組み合わせただけなんだけど、便利だよ。 4台の場合、RAID6とRAID5+1hotspareではどちらがベター?
2台同時故障想定するならRAID6しかないとは思うが、パフォーマンス的にも
6でいいの? Raid5は欠陥
ホットスペアがあろうがディスク障害時にリビルドにかかる時間は変わらないから何もかわらない >>911
パフォーマンスで言えば、書き込み時はパリティ2種類も計算しないといけない RAID6 は部が悪い。
読み取り時はパリティ関係無いから理屈で言えば RAID5 も 6 も変わらないか、データが 1台多くに分散された RAID6 の方が有利かもしれない。
1台故障時は理屈から言えば RAID5 も 6 も変わらない。
信頼性で言えば、RAID5 + スペアはデグレ時のディスク交換を自動にしただけで、RAID5 のリスクを何も解決してない。
どうせ 1台余計に電源入れておくなら寝かせとくよりパリティに使う方が有意義じゃね? 普通に OpenFiler、FreeNas、Nas4Free、OpenMediaVault とか使えば?
ただし、大容量ディスクに対して、半端なメモリ積んで zfs のデダップつかうのだけはやめとけ。 でもMicroserverにRAID6は荷が重いんでは
RAID10かメモリたくさん積むならRAIDZがいいような 今時、パリティの計算の負荷なんてたいしたこと無いよ >>916
ただの Raidz にメモリなんてほぼいらない。デダップするなら搭載するディスク容量抑えなきゃ最大メモリ容量までましても全然足りない。(全域にかけなきゃ問題ない どうでもいいけどdedupって読み方はデダップなの?デデュープだと思ってたんだけど。最後にeがないからデダップになるのかな RAID5でも6でも、
後からHDDを追加できますよね?
OSはLinuxなんですが。 何でRAID組んでるかによるんじゃないすか
たいていできると思うけど 大抵出来ないと思う
raidにraidでストライプとかはできるけど md だったらできるよ
ディスク足してボリューム容量増やした後でファイルスシテムの拡大を行えばいい だね
addしてgrowしてresizeすればいいだけ
これができるから最初から容量計算とかしないで適当にやってる個人運用なんかはmdraidが使い勝手が良い
流行りのzfsでRAID-Z2のストレージプールとかだと
新たにもう一つRAID-Z2デバイスを作ってそれを『プールに追加して』プールそのものの容量増やすとかはできるけど
そのプールを構成している『RAID-Z2デバイス自体にHDDを追加して』4本のZ2→5本のZ2みたいに
デバイスそのものの容量を増やす事はできない >>925
RAID-ZはなんでHDD追加で容量うpを実装しないんだろうな?
特許がらみでできないのかと思ってみたいるするが、
ZFS on Linuxで独自実装とかしないかなぁ。 RAID の構成ディスク減らせるようにしてくれないかな。
小さいディスク多数から大きいディスク少数に移行できると便利だと思う。
drobo はそれできるけど、特殊過ぎて使いたくない。
あと md の RAID6 をディスク 3本から構成できるようにしてくれないかな。
もちろん後で本数は増やす前提だけど、とりあえず二重冗長の最小構成で初期化できればいいのに。 >>926
もともとエンタープライズ用だからそんな貧乏くさいことはしないんだろ >>926
1Stripe = 1RecordにZFSはならないからなぁ。
一般的なRAIDなら、ストリッピング単位で詰めるなりして、
パリティ再計算で済むけど、
ZFSでは、そういう訳にはいかないからな。
恐らく、機構的にZFSのマイグレーションは無理だと思うわ。 >>928
そう言っちゃうと身もふたもないが、オープンソースでやっていたんだし、
なんだかんだで実装してくれそうな気もするんだがw
>>929
技術的に厳しいのか(´・ω・`)
しかし、特許とかではないんだったら、きっと誰かが... >>930
やりよう有るんかなぁ・・・
http://blog.delphix.com/matt/2014/06/06/zfs-stripe-width/
ここにもあるように、RAID-Zの場合、
Z1で組んでたとしても、1Stripに複数のパリティブロックやら、
パディングブロックやらが出来るからなぁ。
読み込みは旧構成、書き込みは新構成って区分けを
VDEV単位に出来るようにした上で、
全データDisk to Diskのコピーやるぐらいしか、思いつかない。
ただ、単純に此やった場合、フラグメントがえらいことに
なりそうな悪寒。
複数のVDEV纏めてpool作ってたりすると、さらに
ややこしい話に・・・ Linux mdのRAID0,5,6あたりでディスク追加してreshapeが途中で電源落ちるなどで失敗した場合って、
backup-filesを指定してればなんの問題もないのかな? mdでRAID5にするかRAID-Zにするか迷ってるんだけどどっちが良いかな?
mdだとHDD追加して簡単に容量増やせること、
RAID-Zだとサイレントクラッシュが無いことがお互いに対する利点だと
思うんだけど他にあるかな? >>934
raidzというかzfsはLinuxでいうとlvm+mdraid
設定自体はzfsの方が使いやすい
あとL2ARCやらZILやら重複排他が使える
それと残容量が少なくなると極端にパフォーマンス落ちる(10%以下くらい?)
100%使い切るとメモリが少ないと最悪どうにもできなくなる mdの方がユーザーが多いだろうし問題も出尽くして枯れてるだろうから、トラブったときの対処はmdの方が簡単そうな気がするけど、ZFS使い込んでるわけじゃないのでなんとも言えない。
RAID-Zはブラックボックスっぽいような気が 計画して構築してるなら何も困らないが、無計画に使うとあとですごい辛いことになるのが Raidz。
md は枯れてるから特に言うことはない。サイレントクラッシュくらいか? 100% 使い切っても救えるように、ESXi とかのメモリのオーバーコミット使える仮想上で動かすと幸せになれる。 quotaで制限かけられるけどね
既に書かれてるように容量増やしたいときにディスクを追加できないのと
増やすなら全ディスクを更新しないといけないから
メモリの件もあるし金かけられないならやめといたほうがいいんじゃないの 容量の拡張は可能。
出来ないのは既存VDEVへのHDD追加。
同一構成のVDEVを追加して行く分には、何の問題も無い。
というか、そうやって増やせと言われてる。
1本単位とかケチな事いうから、面倒な話になるだけ。 Ubuntu16.04をraid1にインストールして縮退させると起動しないんだけどなんなの
initramfsになって調べるとraid0扱いされてる RAID5にしたいんだけどHDDマザボに繋いでbiosで設定すればいいのかそれとも何かフリーソフトダウンロードしてそれで設定するのとどっちがいいんや? 君は普通にHDD複数使ってバックアップしてたほうが幸せになれるよ RAID組むときどうやってHDD調達してる?
同時に購入した同一型番のHDDを2台で構成してたRAIDでprimary,secondaryがほぼ同時に逝ってしまった。
同一ロット回避とかって大事なのかね? せっかくRAIDで正しいデータを持ってこれるんだから、「リードエラーが出たセクタには一度書き込んでみる」
こんな仕組みをmdraidが持ってたりしないかな
今時のHDDってさ、多少の不良セクタが出来ても、そこに書き込もうとする時に自動的に代替処理が行われて
何か書き込んだらそれ以降は何もなかったかのように読み書き出来るでしょ?
だから、いわゆるゼロフィルで復活して見えるHDDも多いし、実際それをまた普通に使えたりするわけで
でさ、RAIDで読み込みエラーがあったディスクは、当然何度もリトライして結果失敗だから
dmesgとかで見るとエラーがたくさん出ているんだけど
こういうディスクも、ゼロフィルしたり、場合によってはさらに全読みしたりして復活出来る場合も多い
mdadmだと、一度除外してddで埋めて、そのあとaddするとちゃんとrecoveryが正常に終了したり
てことはさ、要は、一度そのエラーっぽいセクタに書き込みさえすれば復活する可能性が十分あるわけで
HDDの不良セクタ代替ツール、例えばhdat2なんかは、そうやって自動的な代替処理を促している
で、そこに書き込みべきデータってのは、誰にもわからないから、ゼロだったりするし、
ゼロで埋めたら、使っている場所ならばデータやファイルシステムに異常が出てしまって危険もある
けれど、RAIDだったら、「正しいデータ」は別のところから持ってこれるわけで
それを一度書き込めば、本当にそれこそ何もなかったかのようにシステム全体が安定を保てるかもしれない
用途にもよるけど、リードエラーが出たディスクをfailとして外してしまうより、
周辺のデータごと一度書き込むことで、自動的に代替処理させてそのまま使い続けられる方が、ありがたいケースもあるはず これを自動で(failにすることなく)やってほしい、と
不良セクタのあるRAIDディスクの修復
http://hs-it-notes.blogspot.jp/2013/06/raid.html mdadmでRAID組んでるんだけど、HDD容量を大幅に増やすためにもう一個RAID組もうと思うんだが、
名前何にしてる?
md0ならmd1とか? 昔、勝手にmd127とかわけのわからん番号が振られたことがあったな RAIDアレイのサイズを変更しようとしてたのだけど、mdadmのバグ?仕様?にはまった
元々各ディスクの使用サイズが4866861248kBのRAID5を縮めようとしていたのだけれども、まず、4866861248の数字を指定してサイズ変更必要なしと出てくることを確認したくて
同じ数字を--sizeに入れた
# mdadm /dev/md1 --grow --size=4866861248
mdadm: component size of /dev/md1 has been set to 571893952K
unfreeze
4866861248kを指定したのに571893952Kになってアレイが想定外に小さくなって(RAID superblock)が壊れた
4866861248 - 571893952 = 4294967296 なんで、uint32以上の数字を入れてはいけないみたい
これを例えば4752794Mとか指定すると大丈夫みたいなんで、kB単位で正確に4TB以上を指定しようとするとダメみたい
OSはCentOS7(x86_64)
RAID superblockのバックアップをとっておくか、もう一度createしなおせば戻せたんだけど(一度それで戻してる)、--growで大きめの数字入れて戻せば大丈夫だろうと浅い考えで--growし直して
reshapeが走って壊してしまった
デカい数字をコマンドラインで入れるのは注意が必要だね >>951のバグはmdadm 3.3.2で起きてたけど、githubのリポジトリ見てたら2014/10/31ぐらいに修正されてるっぽいので、
mdadm 3.3.3以降を使えば大丈夫みたい。
ループバックデバイスでテストしただけだけどgithubの最新のものではとりあえず-z 4294967297Kが1Kに扱われることはなかった 先生、SATAのHDD2(〜3)つをRAID1で、できるだけ全部のファイルを同期させたいと思ってます
mdで作れるRAIDの理解ってこれで合ってますでしょうか
・あくまで物理ディスクのパーティション単位でRAIDが組まれる
・物理ディスク自体が見えてるから普通にSMART見れる
・swap領域をRAIDの内側に作る必要はない
・2本をRAID1にして両方とも起動可能にしたけりゃgrubはRAID関係ないところで両方に入れなきゃいけない
・grubはRAIDを認識してくれるから/etcがRAIDの中にあっても大丈夫(mdadm.confなくても動くのはむしろそのため?
・(RAIDごとに固有なIDも含めて?)構成情報がパーティションのケツに入ってるから
RAID構成丸ごとを他のPCに追加してもmountできて中身見れたりする
・というかKnoppixとかでも中身見れたりする
・ディスク入れ替えるときはまずfdiskでパーティション切ってあげないといけない(あと必要ならブートローダとかも)
・パーティション切れてまともに動いてるならM/B下のSATAでもPCIe下のSATAでもUSBとかでも任意の組み合わせでRAID組める
・とりあえずRAID1なら片肺死んでもOS落ちたりしない(?)
・シェルとかアプリからは普通にmountされたただのディスクとして使える
・別の場所にコピーした/dev/urandomとかもちゃんと同期してくれる >>953
行数が多いので箇条書き修正ですまん
・パーティション単位もしくはディスク単位で作れる、正確にはブロックデバイス単位で作れる(ループバックデバイスとかでもOK)
・物理ディスク自体が見えてるから普通にSMART見れる
・swap領域をRAIDの内側に作る必要はないが、ディスクが壊れたときにシステムが止まらないという意味ではswapをRAID1にするのはあり
・2本をRAID1にして両方とも起動可能にしたけりゃgrubはRAID関係ないところで両方に入れなきゃいけない
・grubがRAIDを認識してくれるから、/bootがRAIDの中にあっても大丈夫。/etc/mdadm.confの情報はinitrdの中に書かれていて、initrdは/bootに入っている。mdadm.confを書き換えたらinitrdの再作成が必要
・(最近のLinux mdでは)構成情報が入ってるのはパーティションの「頭」
・Knoppixとかでも中身見れたりする
・ディスク入れ替えるときはまずfdiskでパーティション切ってあげないといけない(あと必要ならブートローダとかも)
・パーティション切れてまともに動いてるならM/B下のSATAでもPCIe下のSATAでもUSBとかでも任意の組み合わせでRAID組める
・とりあえずRAID1なら片肺死んでもOS落ちたりしない
・シェルとかアプリからは普通にmountされたただのディスクとして使える
・/dev/urandomはディスクに実体があるわけじゃないのでRAIDは関係ない レス数が950を超えています。1000を超えると書き込みができなくなります。