データ危機一髪
今日の日記は他人が読んでもあまり面白くない内容ですが(長いしね)、自分のメモのために書いておきます。
aniki宅のサーバーはNASも兼ねていて、ストレージはこんな構成で動かしていました。
・250GB SSD – システム、Webデータ、home、メールスプール等
・2TB HDD x 2(RAID1) – データ保管庫、PCのMy Documentsも兼ねる
さて、このうち2TB HDDの片方がクラッシュしました。😢
電源を入れても「ウィーン、キュルルル」みたいな音を出してディスクのスピンアップが完了しない状態でした。
前から時々調子が悪かったですがとうとうお亡くなりになったようです。
購入した時期を調べてみると2010年9月でしたので、約5年で故障したことになります。
仕方ないので、HDDを新調することに。
最近空き容量が足りなくなってきていたこともあって、今回は大きな容量のものを買うことにします。
ついでに、USB3.0接続対応のものにして高速化も図ります。
当然、買うのはWestern Digital製のGreenモデル。😀(Seagate製は突然死するので避けます)
最初、いつものようにベアドライブのみ購入しようとしましたが、
ちょっと気が向いて周辺機器メーカ製の製品も調べてみることにしました。
最近はTVに接続する需要が多くて 外付けHDD製品もだいぶ安くなっていますので。
すると、バッファロー製のHDDが安いことがわかりました。
ベアドライブ+外付けBOXの価格よりも安い。
中を分解してみた人がブログを書いていて、Western DigitalのGreenが使われていることもわかりました。
というわけで、今回はバッファロー製HD-LC4.0U3/Nを2台購入しました。4TBモデルです!😁
で、届いたので早速セットアップして、先日新調したサーバーで使えるようにしました。
2台でRAID1構成にして、新サーバーのOSはCentOS7なのでファイルシステムはデフォルトのxfsを選択。
前のHDDで生き残った方から全データをコピーして、使い始めました。
ところが、どうも調子がおかしい。😟
しばらく時間が経つとリビルド中にI/Oエラーが発生して片方のHDDが停止してしまいます。
あれこれ考えた結果、xfsがよくないんじゃないかと思いました(根拠無し)。
で、もう一回データをコピーするべく一度パーティションを解放して、今度はext4でもう一度領域を作りました。
早速データをコピーしようと前のHDDを繋いだところ…パーティションを認識しません。えっ?😲
この時点でシステムのどこにもデータファイルが存在しない状態になってしまいました。😲😢😠
片肺でRAID1を仮構築してみましたがやはりパーティションは認識されず。
とにかく、この旧HDDは壊れていないのでデータは必ずあるはずで、どうやったら読み出せるのか
インターネットで探し回りました。
その結果、それらしいことが書かれているブログを見つけることができました。
そこには、RAIDメタデータがバージョン0.9で作られたアレイを1.2のシステムで使う際に
起きる問題について書かれていました。
そう言えば前のRAIDはバージョン0.9時代に作ったもので、
いま前のHDDを繋いでCentOS7により自動設定されたバージョンは1.2。
このバージョン不整合がパーティションを認識できない原因ではないかと思い、
手動で仮組RAIDをバージョン0.9として構築し直してみると、 見事にext4パーティションが認識されました。😀
まずは最初の段階をクリア。
(今のサーバーを新調したときの自動認識ではちゃんとバージョン0.9として認識されてたんですけどね…謎だ😟)
でも、まだ問題が片付いたわけじゃありませんでした。
ようやく認識されたext4パーティションをマウントしようとすると、エラーが表示されてできない状態でした。
どうもext4のスーパーブロックが壊れているらしい。
スーパーブロックというのはファイル情報が格納されている領域で、
これが壊れるとファイルにアクセスできなくなります。
幸いext4にはスーパーブロックのバックアップが自動的に複数作られているので、
fsck.ext4コマンドを使って修復が可能です。
コマンドを実行する際には、慎重を期しました。失敗するともう取り返しが付かないからね。
実行してみると、スーパーブロックで大量にエラーが検出され、バックアップを使って修復されていきました。
それで、一通り修復が終わり、マウントしてみると…、無事ファイルが見えるようになりました!😆
(このときは本当にガッツポーズしてしまった😅)
その後リビルドも問題なく終わり、使い始めてもエラーは発生していません。
思った通り、xfsがI/Oエラーの原因の一つではあったのでしょう。
やはりLinuxでシステム組むならまだext4が鉄板だな。😀
うちのデータファイルは昔からHDDを引継ぎ引継ぎしながら維持しているので、古いデータも多いです。
古いデータだと1996年9月のタイムスタンプが付いてる大学時代のメールデータとか研究データがあります。
(もう19年も前のデータですね。😀)
最古のデータは1994年3月の自作MIDIデータでした😅
これはもう21年以上前か。
他にも、今まで撮りためた写真とか、集めた音楽とか、いろいろなサービス等の会員登録データとか
失われるともう二度と取り戻せないデータが満載です。復活できて本当によかった。😁
今回のことで、RAID1はクラッシュ対策にはなるがバックアップにはならないということを実感しました。
知識としては理解していたんですけどね。
今後は、RAID1だけでなく、別HDDにバックアップも取っておこうと思います。😀