2014年1月25日土曜日

自己満足的自宅サーバーディスク構成変更(1)~計画

先日のエントリで会社の開発機に起きた顛末をつらつらと書き連ねましたが、無事復活したことで急に家のサーバーのディスクは大丈夫かいなと思い始めました。ディスクの稼動時間なら会社のやつに負けないよ?いっぱい壊れてるかもよ?w

早速帰宅して調べたところ、すばらしいことにどのディスクも1つも不良セクタはないようです(ディスクが気づいてないだけかもw)。一番長いやつで 3.4 years となっているので3年以上稼動しているようですが。とりあえずそんなひどい状況ではないようです。

自宅サーバーはこんな感じでRAID 1のアレイをいくつか作り、それをLVMで取りまとめていたわけですが、今回LinuxのソフトウェアRAIDの便利さに感銘を受けたので、もっと使い込もうかなと。しかも当時誤解していたのか、ソフトウェアRAIDって0/1/10ぐらいしかできないと思ってたのに5や6もできるんですね。Linuxすばらしい。

現状のディスクはちょっとずつ買ったせいでサイズはまちまちです。
  1. 2.0TB (/boot, swap, /, pv(1))
  2. 2.0TB (/boot, swap, /, pv(1))
  3. 2.5TB (pv(2))
  4. 2.5TB (pv(2))
  5. 3.0TB (pv(3), data)
  6. 2.0TB (pv(3))
/boot, /, pv(1), pv(2), pv(3) はすべてRAID 1、swap は RAID 0、data は素の領域となっています。これをもっと改善できないかな?

/boot や / は何もディスクをケチるほど大きくないので RAID 1 のままでよいとして、他はせっかく6台もあることだし、RAID 5/6 にしたいですよね。私は個人的にはRAID 5が嫌いなので6にしたいかなと。もし/bootや/を2.5TBや3.0TBのディスクに移動できれば、2.0TBx6(RAID 6)=8.0TB になるわけで、現状の約6.0TBから2.0TBも増やせた上に冗長性が高くなります。これはやらない手はない。なぜRAID 5が嫌いかというと、5ってリビルドの負荷がかなり高くて、その間に大丈夫だったディスクがやられちゃうのが怖いのです。 6なら仮にそれがおきてもさらに1台やられない限り大丈夫なので気持ちの余裕が違うかなと。

しかしやるとなっても、システムには既にデータが数TBオーダーで置いてあるので、退避して戻すのは不可能。そんなでかいストレージは他にないです。なのでオンラインで変更できるわけもないし無理かなーと思っていたのですが、できそうなんですよ。確かに言われて見ると、「2台のRAID 5」=「RAID 1」なわけで、それをRAID 5、さらに6と上げていくのは技術的には可能でおかしくはないか。このあたりを読むとRAID 5から6への変更は mdadm コマンドでできるっぽいので、もしかしたらRAID 1から5もできたりしないのかな?

しかし、それができるとわかっても、やっぱりデータが載ってるRAID 1のアレイをリンク先の手順に書いてあるように一度消して作り直すのはちょっと怖い。なので、やるなら以下の方法がいいかなと思ったわけです。
  1. 現状LVMに参加しているアレイの最大サイズ(2.5TB)の分だけなんとか領域をあける
  2. そのアレイをLVMから抜く
  3. そのアレイをRAID5/2(RAID5の2台の意)にする
  4. 再びLVMに参加
  5. 別のアレイをLVMから抜く
  6. そのアレイを壊して3で作ったアレイに追加し、RAID5/2+2(RAID5の2台+スペア2台)
  7. RAID5/2+2をRAID6/4に変更
  8. 最後のアレイをLVMから抜く
  9. そのアレイを壊して7のアレイに追加し、RAID6/6に変更
 いやこれはまた壮大ですねw

しかも理想的には最低サイズ(2.0TB)にあわせてアレイを構築したほうがいいので、 /boot 等のシステム用のパーティションはでかいディスクに移したいわけです。まずはそこから手をつけるか?
  1. 3.0TBが参加しているアレイをLVMから抜く
  2. パーティションを切りなおし、既存の2.0TBのシステム用パーティションにあわせる
  3. RAID 1として参加させる
  4. GRUBをセットアップ
  5. 既存のディスクをアレイから抜く
基本これでいけるはず。じゃあアレイの構築とか相当時間がかかると思うのでのんびり行きますか。

0 件のコメント:

コメントを投稿