【NAS】RAID1構成のHDD1台からデータのサルベージ

投稿日 2025/03/19

【NAS】RAID1構成のHDD1台からデータのサルベージ

TerraMaster F2-220 本体が故障、運用していたHDDも論理障害が発生という状況でしたが、HDD自体はまだ生きていたのでデータのサルベージをしました。
TerraMasterはコスパはいいのですが、トラブったときは情報が少ないので大変です。


《必要なもの》
Linux環境:Ubuntu 22.04 LTS
USBメモリからのライブや仮想環境を使うなどの方法はありますが、自分は実機で作業しました。
Ubuntuを選んだのは情報が多いからです。
USB変換ケーブル:HDDは変換ケーブルを使ってPCに直接繋ぎます。
取り出したデータの保管先になるストレージ。

《必須なパッケージ》
mdadm:ソフトウェアRAIDの管理ツール。
lvm2:TerraMasterのNASのファイルシステムはLVMでした。


パッケージのインストールとディスクの確認

実は前の記事をポストした時点でサルベージは完了していたのですが、その後の検証を兼ねて色々やっていました。
今回は作業の過程でのエラーを含めて再現しています。
たぶん自分がやった手順は正しくないし、適切な操作ではないかもしれません。
まあ結果オーライってことでご容赦ください。

ターミナルを起動して、まずはお約束。
sudo apt update
mdadmパッケージをインストールします。
sudo apt install mdadm
HDDをPCに接続してディスク情報を確認します。
作業を進めていく大前提としてHDDを認識していること、認識していなければ作業はここで終わりです。

データのある領域のデバイス名を確認します。
デスクトップ左下のダッシュ -> ユーティリティ -> ディスク

ディスク

対象のディスクはいくつかのパーティーションに区切られていると思いますが、ほとんどは一番大きい領域がデータのある場所です。
それを選択してデバイス名を確認してメモします。

デバイス名の確認

このディスクの場合は、/dev/sdc4 がデバイス名になります。

RAIDアレイの構築、LVM論理ボリュームのマウント

RAIDを組み立てます。
sudo mdadm --assemble /dev/md0 /dev/sdc4
mdadm: /dev/md0 has been started with 1 drive.
と表示されたら成功です。
mdadm: /dev/sdc4 is busy - skipping
エラーが出た場合は、RAIDアレイをすべて停止してやり直してみる。
sudo mdadm --stop --scan

sudo mdadm --assemble /dev/md0 /dev/sdc4
mdadm: /dev/md0 has been started with 1 drive.
自分は最初、LVMを見落としていて任意の場所にディレクトリを作りマウントしようとしました、その結果…
sudo mkdir /mnt/dev
sudo mount /dev/md0 /mnt/dev
mount: /mnt/dev: 未知のファイルシステムタイプ 'LVM2_member' です.
とエラーが出て、そこでLVMに気がつきました。 (^_^;)
LVMパッケージのインストール。
sudo apt install lvm2
LVM論理ボリュームを確認します。
sudo lvscan
  inactive          '/dev/vg0/lv0' [462.49 GiB] inherit
論理ボリュームは、/dev/vg0/lv0 です。
inactiveになっていたら、アクティブにします。
sudo lvchange --available y /dev/vg0/lv0
デスクトップにディスクのアイコンが出現しました。

アイコンが出ただけではマウントしていない

このアイコンをクリックすると、/media の配下にマウントされます。
場所にこだわらなければ、そのまま作業を進めてもいいと思います。

作成したディレクトリにマウントする場合は、先の lvscan で確認した論理ボリュームをマウントします。
sudo mount /dev/vg0/lv0 /mnt/dev
データ領域にアクセスできました、あともう一息です。

データ領域にアクセス出来た

publicの中にデータがある場合はもう取り出せると思いますが、ほとんどはUserの中でしょう。
最後の障壁は所有権とアクセス権がないことですが「chmod」と「chown」で全部自分に変更しちゃいます。

変更対象のあるディレクトリで右クリック「端末を開く」でターミナル起動。
Userディレクトリの中にあるadminのユーザーの所有権、グループの所有権、アクセス権を配下も含めてすべて自分(miyacozi)に変更します。
sudo chown -R miyacozi:miyacozi admin
sudo chmod -R 777 admin
入れたあああ!!!

ついに目的の場所に到達

なんか金庫破りの気分ってこんな感じではないかと思っちゃいますね。
ついに目的のデータのある場所に来ました。
あとは、これらのデータを他の場所にコピーします。

時間はそれなりにかかりましたが、データは破損もなく全部無事に取り出すことができました。

作業が終わったあとは

一応、逆の順序で終わらせていけばいいかと思います。
sudo umount /mnt/dev
sudo lvchange --available n /dev/vg0/lv0
sudo mdadm --stop --scan


TOP