NASが壊れた話は、前に書きました。
そのときは「中身は見えているのに、取り出せない」というところで止まっていました。
その後、取り出せました。12時間かかりました。
この記事で分かること
- 先に試した5つの方法では取り出せなかったNASのデータを、USB起動のUbuntuで取り出すまでの流れ
- エンジニアではない自分が、iMacの画面をiPadで撮ってAIに送りながら進めた実際の手順(打ったコマンドも載せています)
- 保存先を間違えると、救出しても開けないという、いちばん危なかった話
- 13,383ファイル・12時間という実測と、途中で起きたトラブル
発端 ── 本体が壊れて、無事なディスクに手が届かなくなった
使っていたのは BUFFALO の LinkStation(LS-WV1.0TL/R1) です。2011年に買ったもので、中のディスクは途中で4TBのものに入れ替えていました。
いま手元に残っているディスクのラベルを見ると、WD Red の 4.0TB(WD40EFRX)で、製造は2018年1月と書かれています。この記事の写真がそれです。2011年の本体に、2018年のディスクが入っていたことになります。
RAIDのミラーリングで運用していました。同じデータを2台のディスクに書く方式です。これで安心だと思っていました。
実際、片方のディスクは壊れました。そして、ミラーリングは効きました。 壊れた1台は捨てて、もう1台にデータは残っていたからです。
守ってくれなかったのは、そのあとでした。本体の電源が入らなくなりました。 ネットワーク上のフォルダとして見えていた入り口が、まるごと消えます。無事な1台が手元にあるのに、そこへ手が届きません。
ここまでの経緯は、前の記事に書いています。
→ NASが動くうちにやっておけばよかった。RAIDはバックアップではなかった
課金 ── 無料で使える範囲で、5つ試した
ディスクを取り出して、パソコンにつなぎました。WindowsにもMacにも、そのままでは読めませんでした。
あとで分かったことですが、NASの中は XFS という形式で書かれていました。WindowsやMacが標準で読める形式ではありません。
この一度の取り出しのために課金するつもりはありませんでした。 何度も使うものではないので、無料で使える範囲で探しています。試したのは次の5つです。
- DMDE
- DiskInternals Linux Reader
- Paragon Linux File Systems for Windows
- Macで無料のLinux仮想環境(UTM)を使う
- Paragon ExtFS for Mac
中身は見えるところまで行きました。 容量も、ファイルの名前も出ます。
止まった場所は、ソフトによって違いました。
DMDE では、3.98TBのデータ領域そのものは見つかりました。 ただしファイルシステムの欄が空のままで、フォルダ名やファイル名を保ったままの取り出しができませんでした。
DiskInternals Linux Reader は、Ext2/3/4という形式なら無料で書き出せます。でも今回のXFSは、書き出しがPro版(有料)の機能でした。無料でできるのは、中身を見るところまでです。
Paragon Linux File Systems for Windows は、Windowsの「ディスクの管理」ではディスクが認識されているのに、ソフト側の一覧に出てきませんでした。
ほかにも、読めるには読めるけれど、遅すぎて使い物にならないこともありました。
「無料で読める」という情報は世の中にあります。でも、読めることと、取り出せることは別でした。
起動 ── USBメモリからUbuntuを立ち上げた
次に試したのが、Ubuntuです。無料のLinuxですね。
前に一度、Mac上の仮想環境(UTM)でLinuxを動かして失敗しています。今回は仮想環境ではなく、USBメモリからUbuntuを直接起動しました。 パソコンにインストールはしません。USBメモリから起動して、作業が終わったら電源を切るだけです。
使ったのは、余っていたIntel版のiMacです。普段使っているMacとは別の機械でやりました。
相談 ── iMacの画面を、iPadで写真に撮って送った
ここが今回のいちばんの実感です。
自分はエンジニアではありません。 ターミナルに何を打てばいいのか、まったく分かりません。
そこでGeminiに聞きながら進めました。Geminiは、別に用意したiPadで開いています。
やったのは、iMacの画面を写真に撮って、iPadのGeminiに送ることでした。
写真を送る。打つコマンドを教えてもらう。それを見ながら手で打つ。 結果の画面をまた写真に撮る。送る。この繰り返しです。
原始的なやり方ですけど、これで最後まで行けました。
実際に使ったのは、だいたいこのあたりのコマンドでした。
実際に使ったコマンド(全手順・クリックで開きます)
# ターミナルを開く: Ctrl + Alt + T
# 1. つないだディスクを探す(NASのディスクは 3.6T と表示されました)
lsblk
# 2. NASのRAIDを組み直す
sudo mdadm --assemble --scan
# 片方しか残っていないときは、名前を指定して片方だけで起動を試みる
sudo mdadm --assemble --run /dev/md125 /dev/sde6
# 3. ログの回復処理をせず、元データを読み取り専用で開く
sudo mkdir -p /mnt/hdd
sudo mount -o ro,norecovery /dev/md125 /mnt/hdd
# 4. 保存先をマウントする
sudo mkdir -p /mnt/dst
sudo mount /dev/sda2 /mnt/dst
# 5. コピーする
sudo rsync -ah --progress /mnt/hdd/ /mnt/dst/
# 6. 取り外して、電源を切る
sudo umount /mnt/dst
sudo poweroffmd125 や sda2 の部分は、つないだ状態によって変わります。 そこは画面の写真を送って、その都度決めてもらいました。
そのうえで、意味が分かって助かったものが2つありました。
-o ro は「読み取り専用」です。 元のディスクに書き込みをしない、という指定ですね。救出中に元データを壊さないためのものだと説明されて、なるほどと思いました。
rsync は、保存先にすでにあるファイルを照合しながら、やり直せます。 これが後で効きました。
形式 ── Macで読める形にしないと、救出しても意味がなかった
ここが、いちばん危なかったところです。
保存先に使ったのは、外付けの2TBのHDDでした。Macで使っていたので、Mac用の形式(APFS)になっています。
Ubuntuからは、この形式に書き込めませんでした。
Geminiは「ext4 に初期化しましょう」と提案してきました。Linuxで標準的に使われる形式ですね。たしかにそれなら書き込めます。
でも、そこで引っかかりました。
「これだとmacじゃ読めないんじゃ?」
そう聞き返しました。ext4はLinuxの形式です。取り出したデータをMacで開くつもりなのに、Macで読めないディスクに保存したら、救出した意味がありません。
最終的に exFAT にしました。MacからもUbuntuからも読み書きできる形式です。
言われたとおりに ext4 で初期化していたら、12時間かけてコピーし終わったあとに、開けないディスクが2台残っていました。 AIに聞きながら進めるとき、ここは自分で止めるしかないところだと思っています。
満杯 ── 13,383ファイル。1台目のHDDが埋まって止まった
元のディスクは4TB。用意した保存先は2TBのHDDでした。実際に使えるのは約1.8TBです。最初から足りていません。
コピーが始まってからの記録です。
| 項目 | 記録・目安 |
|---|---|
| 転送速度(途中で見た値) | 約110 MB/s |
| 1台目の平均 | 6時間で1.8TB=約80 MB/s |
| 総ファイル数 | 13,383ファイル |
| 1台目のコピー見込み | 約4時間半(実際は約6時間かかりました) |
| 中断・やり直し込みの合計 | 約12時間 |
見込みより遅くなった理由として、読めない箇所での再試行と、小さいファイルを大量に扱うことが影響しそうだと、Geminiに説明されました。
そして、途中でいろいろ起きました。
1台目のHDDが満杯で止まりました。 そこで2台目のHDDに切り替えます。
同じデータをもう一度コピーし始めました。 「すでにあるものは飛ばす」という指定をしていたのに、2台目が空なので判定できず、最初からやり直しになっていました。気づいて消して、フォルダを指定し直しました。
HDDが途中で突然切断されました。 Ubuntuがエラーの画面を出します。電源を入れ直して、lsblk でディスクが戻ったのを確認してから再開しました。
読み取りエラーも出ました。 一部のファイルはコピーできていません。
このときのUbuntuでは、日本語が打てませんでした。 フォルダ名が日本語なので、コマンドに打ち込めません。画面に出ている文字をマウスで選んで、コピー&ペーストして進めました。
途中で止まったときに使ったもの(クリックで開きます)
# 止める: Ctrl + C
# 残りのファイル数を見る
# to-chk=2046/10541 は、全10541項目のうち残り2046項目を確認する表示
# 別のターミナルを開いて(Ctrl + Alt + T)、保存先の使用量を見る
df -h /mnt/dst2
# フォルダを指定してコピーし直す(「フォルダ名」は実際の名前に置き換える)
sudo rsync -ah --progress "/mnt/hdd/share/kazu/フォルダ名/" "/mnt/dst2/フォルダ名/"
# 特定のフォルダを除外する
sudo rsync -ah --progress --exclude='フォルダ名' /mnt/hdd/ /mnt/dst2/予備 ── NASは捨て、ディスクはフォーマットして棚に置いた
最後は「一部のファイルが転送できませんでした」という表示(code 23)で終わりました。中身は2種類だと説明されました。
ひとつは、保存先がexFATだったために出た警告です。 Linux独自のファイルの持ち主情報が、exFATには書き込めません。これは問題ないものでした。
もうひとつが、読み取りエラーでコピーできなかったファイルです。 こちらは実際に取り出せていません。
もう一度やり直すこともできました。 でも、必要なファイルはすべて取り出せていたので、そこでやめました。
NAS本体は捨てました。取り出した4TBのディスクは、フォーマットして手元にあります。 エラーチェックをかけても不具合は出なかったので、他のHDDが壊れそうなときに入れ替えようと思っています。 同じようなディスクが、家に4個ほど転がっているんですよね。
12時間かかりました。ソフトを5つ試して、そのあとUbuntuを立ち上げて、コマンドを聞きながら、途中で止まっては再開して。
NASが普通に動いていた頃なら、外付けHDDへコピーするだけで済んでいました。 ネットワーク上のフォルダとして見えていたので、ドラッグするだけです。時間はかかったはずですが、放っておけば終わる作業でした。
やらなかったのは、ミラーリングしているから大丈夫だと思っていたからです。
コピー先を用意するなら、先に見ておきたいのは容量です。自分は2TBで始めて途中で満杯になり、2台目に分けることになりました。
今回分かったこと
- 「無料で読める」と「無料で取り出せる」は違った。 コピーで有料版を求められたり、遅すぎたりして、5つ試しても取り出せませんでした
- 最後に効いたのは、無料のUbuntuでした。 USBメモリから起動して、インストールもしていません
- エンジニアでなくても、画面の写真を送ってAIに聞きながらなら進めました。 ただし保存先の形式は自分で止める必要がありました
- 保存先はexFATにしました。 MacとUbuntuの両方で読み書きできる形式です
- 元データは読み取り専用(
-o ro)でマウントする。 救出中に壊さないためです - 動いているうちにコピーしておけば、12時間はいりませんでした
考えてみれば、このLinkStationを買ったのは2011年。もう15年ほど前のものです。
今のNASなら、使い勝手も速さもずいぶん違うのかな。最近のが、ちょっと欲しくなってきました。


コメント