DigiLoog

PC関係の事なら何でもいけるそんな処

自鯖のSoftwareRAID-HDDを交換

2015年09月20日(日) - 22:24 | カテゴリ: Linux

時は先月、自宅サーバの監視システムから、
「HDDのS.M.A.R.T値がやばくなっている」とメールが届いた。
自鯖のHDDは録画領域以外は全部RAID-1構成なので大丈夫っちゃ大丈夫なのだが、
今回問題なのは、

RAID-1を組んでいるHDD2つから同時にエラーが検出されてしまった

という、HDDがお亡くなり寸前になっていた点。
という事で、1ペア交換するのも全部交換するのも大きな違いは無いので、
自鯖メイン機HDDを比較的新しい1台を除いて全交換してみた。

今回HDDを交換するにあたって、ついでにKVM領域の拡大もやってみた。
と言ってもresizeしただけなので、ジャーナリングFSの変更は無しで。

今回購入したHDDは↓の4点。

  • TOSHIBA – DT01ACA050
  • Seagate – ST2000DM001
  • Seagate – ST2000VN000
  • WD – WD20PURX

『RAID組むのに、違うHDD使うとかわかってね~な』と仰る方。
Exactly。まぁ、こんな構成には理由がありまして…(´・ω・`)

何故違うHDDメーカを組み合わせてRAIDを組んでいるかと言うと、
以前、SG製HDDで発生したファームウェア問題で、
自宅のRAID組んでいたHDDが一度に全滅した苦い経験がある為。

ガチの本番環境なら、RAID1+0とかで組むのでリスクも減るのだろうが、
ns-labの自鯖は仮想環境共存の為とか、録画鯖とかの為にわざとRAID1を2発にしている為、
ファームなどどうしようもない箇所での故障に備える為に、
HDDのメーカをずらしてRAIDを組むようになったのでした。

………


他にも、自鯖のNICが足りなくなったので、4ポート物に載せ替えてみた。
今までは2ポートNICを増設していたのだが、
流石に仮想環境を何個も作ると足りなくなってしまい…
ちなみに、お役御免になる2ポートの方は次の用途があるのでそっちに転用。

………

内容をHDDの方に戻して…

今回はSoftwareRAIDなので、mdadmとsfdiskを使ってパーティションコピーを行った。
今まで、ここまで大がかりなHDD交換は行った事が無かったので、
手探りしながらの作業で非常にヒヤヒヤだった(;´Д`)

参考サイト様
  トヤヲ・ネット – mdadmのRAID再構築
  うまいぼうぶろぐ – sfdiskでパーティション情報のコピー

………

実は、一番ハマったのがパーティション情報のコピー操作だった。
mdadmは、以前LinuxでNAS相当を構築した時に色々触っていたので、まぁなんとかなった。

普段は、fdiskを使ってパーティションを切っている筆者なのだが、fdiskを使うと↓写真の様に、
パーティション1パーティション2始点と終点が同じ値を取る切り方が出来ない様になっている。

対処方法をググると、partedを使ったり、ddで直ダンプしたりと色々出てくるのだが、
partedは使った事無いし、取り替えたHDDは電源入れられないので、他の方法を使う必要があった。
という事で、出逢ったのがsfdiskを使って、
生きている方のHDDからパーティション情報のみダンプする方法。

例えば、
"/dev/sda" のパーティション情報を "/dev/sdb" にコピーして、
"/dev/md0" のデータを "/dev/sdb1" にコピーしてRAIDアレイの修復も行う場合、
  [# sfdisk -d /dev/sda | sfdisk /dev/sdb –force]
  [# mdadm /dev/md0 -a /dev/sdb1]                

を実行すれば、HDD容量にもよるのだが数時間で処理が完了する。

………

という事でRAIDのリビルドも無事完了し、
"www.ns-lab.org" の乗っている仮想鯖も新HDDで絶賛稼働中。
今の所はエラー無く安定稼働しているので、一安心という所( ´Д`)=3

そしてNICも増設したし、仮想を動かすHDD容量もなんとか算段ついたので、
ロードバランサをLinux上で構築しフロントを全部ロードバランサに任せたり、
本気のライブマイグレーション環境を構築したりと、
今後の自鯖で行う事が目白押しになった[ns-lab BB]でした。





  • 応援中

    9-nine-ゆきいろゆきはなゆきのあと
    この恋は世界を変える CIRCUS 20th Project「D.C.4 ~ダ・カーポ4~」予約受付中!