SDカードでRAIDを組まない方がいい理由

SDカードでRAIDを組まない方がいい理由 インフラ
SDカードでRAIDを組まない方がいい理由

ストレージ冗長化といえばRAIDですが、「余っているSDカードでRAIDを組めば安くていいのでは?」と考える人もいるかもしれません。

実際自分もGoPROで使っていたSDが結構余っており「これRAIDくめるんじゃね?」と考えていたのです。アマゾンなんかでも「SD RAID」と調べるとそれ用の商品がでてくるんですよね。

しかしいろいろ調べてみたところ、結論から言うと、SDカードでRAIDを組むのはおすすめできそうにありませんでした…。

理由はいくつかあります。

SDカードはRAID前提で作られていない

まず大前提として、SDカードはRAID構成を想定したメディアではありません。

  • 書き込み寿命が短い
  • 内部構造がブラックボックス
  • エラー訂正や状態報告が弱い

RAIDは「ディスクの状態を正しく把握できる」ことが前提になりますが、SDカードはこの点がかなり弱いとのことです。

同時故障が起きやすい

RAIDの前提は「同時に壊れにくい」ことです。ですがSDカードは、

  • 同じメーカー
  • 同じロット
  • 同じ使用履歴

になりがちです。

結果として、同じタイミングで劣化が進み、まとめて死ぬという事故が起こりやすくなります。
これはRAIDとしては致命的ですよね…。

書き込み特性がRAIDと相性が悪い

SDカードは小さなランダム書き込みが苦手です。RAIDを組むと、

  • メタデータ更新
  • 同期書き込み
  • ジャーナリング

といった書き込みが増えます。

これがSDカードの寿命を一気に削ります。冗長化のつもりが、寿命を縮めてしまうことになってしまうのです。

障害時の復旧が地獄

RAIDで一番大事なのは「壊れたときの挙動」です。

SDカードの場合、

  • ある日突然read onlyになる
  • 一部のブロックだけ化ける
  • OSから消えたり戻ったりする

こういう中途半端な壊れ方をします。

RAIDコントローラやOSから見ると「正常なのか異常なのか判断できない」状態になり、復旧がかなり面倒になります。

速度も大して出ない

RAIDを組めば速くなる、という期待もありますが、SDカードではあまり意味がありません。

  • コントローラが弱い
  • I/O待ちが多い
  • USB接続がボトルネック

結果として、RAIDを組んだ割に体感速度はほぼ変わらない、ということが多いです。早さ出せないならRAID組む意味ないじゃないか…。

代替案は普通にある

もし目的が「壊れにくくしたい」なら、

  • 定期バックアップ
  • SSDやHDDを1台使う
  • ミラー用途ならUSB-SATA変換+SSD

この方が安全で、管理も楽です。

SDカードは「消耗品」と割り切って使うのが正解です。

まとめ

SDカードでRAIDを組まない方がいい理由は、

  • RAID前提の設計ではない
  • 同時故障リスクが高い
  • 書き込みで寿命が一気に減る
  • 障害時の復旧が難しい
  • 速度メリットも薄い

実験や勉強目的ならアリですが、
実運用では素直に別の構成を選んだ方が幸せになれそうですね…。

コメント

タイトルとURLをコピーしました