BeyondRAID

以下の情報を参考にさせていただき、VMware上で確かめた。
nakanote blog UbuntuでDrobo風なNASを作る
ざっくり説明すると、容量の違うHDDをパーティションごとにmdadmを使ってRAIDにして、それをLVMで単一ストレージに見せかけるっていう方法で容量の違うHDDを組み合わせた状態で冗長性を確保し、なおかつ単一ストレージに見せかけている。
ただ、金曜日に大学の同級生のI氏と話したら、この方法だとアクセスパターン的にHDDに負荷がかかるんじゃ?ということだった。


出来るかどうかよくわからなかったので、VMware上で確かめたことは以下の3点。

  1. 設定ファイルを変更しなくても認識するか
  2. RAIDを構成するディスクを抜く→挿し直すとしたときに元に戻るか
  3. OSが吹っ飛んだ時にディスクを別のOSにつなげて認識できるか

1に関しては、Ubuntuの場合mdadmの設定ファイルを書き換えなくてもスーパーブロック情報を読んで認識しているのか、RAIDを認識し、さらにLVMの情報もスーパーブロックから得ているらしく、自動認識した。
そのままだとリムーバブルディスクとしてUUID名のメディアがマウントさせるためLVMの論理ストレージのUUIDだけfstabに登録する必要がある。
論理ストレージのUUIDで登録しておけば、物理的な配置が換わっても(VMWareSCSIバイスの位置を変更する)問題なく認識した。
2に関しては1個のHDDを無効にして起動させてみた、起動時に縮退モードで起動するか?と聞かれてそのまま起動すると普通にアクセスでき、その後無効にしたものを元に戻すと自動的に再認識→リビルドが行われて元に戻った。
3に関しては別のSUSE Linuxがインストールされた仮想マシンにHDD全部を接続して認識するか試した。
RAIDの認識までは勝手に行ったが、LVMの認識はvgscanでVolume Groupを読み込んだ後、lvchangeでLogical Volumeを有効にしないとダメだった。
しかし、普通に認識は出来たので、OSが吹っ飛んでも安心だと思う。


実験がうまくいったので、NASでも作ろうと思ってマシンを探しに行ったが、上記の通り微妙だったので、とりあえず保留中。