自前のストレージサーバーをこよなく愛する、弓削田です。
以前から自宅に、何台もストレージサーバーを構築して、世の中のHDD容量が増えるたびに、増設せずに、
新たにサーバーを建て直してきたんですが、
数TBクラスのデータコピーが、丸一日以上かかるので、ぼちぼときちんとデータ整理もして、
整理整頓をしなければいけないな〜と思い立って、家庭で扱えるレベルでの、最大容量ストレージを購入して、
データコピーに勤しんでいる今日このごろです。
以前使っていたサーバーの問題点
2世代前ぐらいのサーバーは、ミドルタワーケースで、自作したPCに、3TB(当時のコスパNo.1)を4台繋ぎこみ、
Raid1構成で、1ドライブ2台の2ドライブ構成を組んでいて、
合計6TBのストレージを構築していました。
ちなみに、今現在は、8TBのHDDを5台購入して、Raid5で、32TBのRaidストレージが構築されています。
今回、サーバーを立ち上げ直してみたところ、この3TBディスクの1台が、カックンカックンと音を立てて、
まともに立ち上がらないどころか、立ち上がっても、ドライブが姿を表さない(mountされない)状態なので、
HDD1台分が、イっちゃってる状態ということが、確認されました。
Raid1のおかげ
でも、ストレージには、必ず保険を掛けるというのが、鉄則であり、Raid1で構築されていたため、
マウントされていなくても、次のコマンドを実行することで、
なんとか、片配(2台raidの1台だけを読み込むこと)状態で、マウントすることが可能になりました。
# まずは、ディスク状態を確認
$ fdisk -l
# マウントされていないドライブを見つけ出し(今回はsdc1)、それをmd2ドライブとして、1台構成のraidを構築
$ mdadm --assemble /dev/md2 /dev/sdc1
# 構成されたドライブをmount
$ mount /dev/md2/ /mnt/rescue
これで、無事に片配ですが、マウントすることができて、データも問題なく見ることができるようになりました。
あとは、新しいストレージに、中に入っているデータを一旦コピーすることで、レスキュー作業は完了です。
究極の故障HDDからデータ救出する方法
もちろん、HDDが全て壊れてしまうという事態もありえないわけではありません。
そんな時は、ddコマンドという武器があり、
HDDの壊れていないセクターをまんま、別のHDDにコピーしてくれるという機能で、
これをすることで、新たなHDDに、デキる限りのデータコピーをして、データ救出するという手段は残っています。
壊れたと思ってHDDを業者に差し出す前に、やってみる勝ちはあるかもですね。
そんな余談はともかく、そうならないために、Raidで、故障リスクへの対応をするという、ハードウェア保険は
サーバーエンジニアの重要な思考と作業のひとつであることは、心得ておかなくては!
0 件のコメント:
コメントを投稿