RAID1のデータをPCで吸い出す #ASUSTOR #NAS

家の中にNASが大量発生している。一番台数が多いのはWIndowsHomeServer2011を使ったWindows機で4台ほど。

WHS2011であればファイルフォーマットがNTFSなので何かあってもWindowsマシンで簡単に読み出せる。最近流行っている記憶域プール(WHS2011には搭載されていないがアドオンのStablebit Drivepool)を使えば、疑似的ではあるがファイル単位で冗長性も確保できる。

ただ、microserverやホームサーバー用OSが格安で手に入れられなくなった現在、NASを自分で構築するのも簡単ではなく(簡単ではないというよりは安くそろえられないといったほうが正しいか)、結局はそれなりの安定動作をするはずである既製品のNASを購入するのが一番楽だ。

最近のNASはメディアプレーヤー機能や仮想化機能が搭載されているので、使い方によってはそこらへんの汎用OSを入れるよりも便利だったりする。そういう意味ではPC並みの金額を投資をするのもありかもしれない。

ASUSTOR NAS 4-Bay  Intel Celeron Dual-Core 2GB DDR3L GbE x1 USB 3.0 x 3 3年保証 AS3104T ASUSTOR NAS 4-Bay Intel Celeron Dual-Core 2GB DDR3L GbE x1 USB 3.0 x 3 3年保証 AS3104T
Not Machine Specific

ASUSTOR
売り上げランキング : 26254

Amazonで詳しく見る

今回、問題を起こしてくれたのはASUSTORの4ベイ搭載のNAS AS-204Tだ。個人的にはメディアプレーヤーや仮想化マシンは自前の機器で間に合っているので、HDDの内蔵数が多いこと、無駄にハイパフォーマンスで電気食いではないこと、なによりも安く手に入れられることを前提にヤフオクで1万円台で入手した。

なんだかんだで1年近く写真やサーバ的な利用には全く問題がなく運用してきていたのだが、今回突然問題が。いわゆる突然死というやつらしい。

正直現段階で何が悪いのかはわかっていない。疑うべきは、ファームウェアの更新またはそれに関連するバグ、本体のハードウェア的故障、HDDの故障、RAIDの崩壊そんなところで何一つ範囲を絞れていない感じ。

症状が明らかになったのは先週あたり、NASへのアクセスが突然できなくなったこと。家庭内のネットワーク環境も不安定なところがあったのでしばらくすれば直るだろうと思っていたのだが、それが全然復旧する気配がない。何か問題が起こればNASからメッセージがメールで届くのだが、今回はそれも全くなし。

HDDの構成としては8TBを2台でRAID1構成にした最重要データ部と、CDなどをリッピングしてデータ化してあるHDD2台(これらはRAIDではないのでHDD容量=保存可能容量)の最大搭載台数状態。HDDが原因ならこのうちのどれかということになる。

最近のHDMI出力付きのNASであれば起動状態を見ることができるのかもしれないが、SATAやUSBとLANコネクタしかないタイプのNASはLEDの点灯状態で判断するしかない。

いつもならHDDそれぞれについているLEDがHDDにアクセスするたびに点滅していたのだが、NASにアクセスできなくなってからはLEDが点灯状態。でもこれは正常動作のアイドル時に示される状態でもある。今回はそのステータスでは何も判断できなかった。

ひとまず反応がないNASを再起動してみる。電源ボタンも効かないので電源ケーブル強制挿抜。電源ランプは正常に点灯、起動状態を示す本体の緑色ランプも点滅し、壊れているようには見えない。

その代わりいくら待っても起動状態に移行せず、緑ランプは点滅したまま。ASUSTOR的トラブルシューティングの方法は

A1.まずは

1.電源を切り再起動してみる。

A2.それでもだめなら

1.電源を切りケーブル、HDDを全て抜く

2.電源ボタンをしばらく押す(放電処理?)

3.HDDを抜いたまま電源を入れる

4.正常起動状態でHDDを戻して再起動

うちのNASもこのA2の手順で正常に起動状態まで行くことを確認した。なのでここでは本体は壊れていないと仮定して、HDDのエラーを疑ってみる。手順としては、起動状態でHDDを一つづつ挿してみるのだが、NASのWeb-UIにはアクセスできないので状態は確認できない。HDDが壊れていないかはこれだけでは判断できないので、1台挿しては起動するかどうかを確認することに。

この作業を行った結果、RAIDの2台を挿している場合のみ起動しないことが判明。起動状態でHDDを刺しても初期化手順しか見えず、データを失ってしまいそうだし再構築もできなさそうなのでPCでデータを吸い出す作戦に出ることにした。

この方法で痛いのはデータを移動させる先になるHDDを用意する必要があるということ。

今回は、全てのHDDを引っこ抜きNASは新たに購入したHDDで新しい環境を構築しなおしたうえで、データを大移動させることにした。必要になるのはHDD(痛い出費だが)とSATA-USB変換ケーブル(デスクトップであれば内蔵のSATAに。ノートだと必要)。

Weastern DigitalのArchiveHDDでもよかったのだが、1万円も違うとちょっとねという感じ。25000円でも高いけど3TBのHDD3台を運用する本体代と電気代を考えるともう8TB以下は選べないかも。

Seagete HDD 内蔵ハードディスク 3.5インチ 8TB Archive HDD ST8000AS0002 SATA3.0 128MB 3年保証 Seagete HDD 内蔵ハードディスク 3.5インチ 8TB Archive HDD ST8000AS0002 SATA3.0 128MB 3年保証

Seagate
売り上げランキング : 2311

Amazonで詳しく見る

SATA-USB変換ケーブルはこんなの。あると意外と便利。

タイムリー GROOVY HDDをUSB SATA接続2.5/3.5/5.25"ドライブ専用 UD-505SA タイムリー GROOVY HDDをUSB SATA接続2.5/3.5/5.25″ドライブ専用 UD-505SA
Not Machine Specific

タイムリー
売り上げランキング : 198

Amazonで詳しく見る

データの引っこ抜きにはLinuxを使う。Windows上でもNASのファイルシステムを扱えるソフトはあるのだが、今回のようにRAIDのディスクは簡単に読めない可能性が高いので大人しくUbuntuのLive CDを使う。

Ubuntu Desktop 日本語 Remixのダウンロード

最近のUbuntuのインストールディスクは起動後にそのままCD(というかDVD)でお試し実行するか、HDDにインストールし直すかを選択することができる。お試しであれば既存環境は壊れないのでWindowsマシンでも安心だ。(後述のHDDの操作を誤ると当然Windowsが破壊される可能性もある)

イメージファイルをDVDに焼き、ディスクをPCに挿入し起動するとUbuntuが立ち上がる。書き込みにはimgburnなどを使用するといい。最近のLinuxは普通にGUIで立ち上がるのでWindowsしか触ったことのない人でもそこまで抵抗なく使えるはず。

Ubuntuが起動したら、例のHDDをUSB経由でPCに接続する。Terminalを起動し、以下のようにコマンドを入力。

ubuntu@ubuntu:~$ dmesg | tail
[ 348.471899] sd 8:0:0:0: [sda] Write Protect is off
[ 348.471909] sd 8:0:0:0: [sda] Mode Sense: 28 00 00 00
[ 348.473038] sd 8:0:0:0: [sda] No Caching mode page found
[ 348.473046] sd 8:0:0:0: [sda] Assuming drive cache: write through
[ 348.473943] sd 8:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
[ 348.522484] sda: sda1 sda2 sda3 sda4
[ 348.524593] sd 8:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
[ 348.526943] sd 8:0:0:0: [sda] Attached SCSI disk
[ 348.760906] EXT4-fs (sda1): mounting ext2 file system using the ext4 subsystem
[ 348.773247] EXT4-fs (sda1): mounted filesystem without journal. Opts: (null)

HDDはsdaとして認識されているようだ。パーティションはsda1-4まである。

ubuntu@ubuntu:~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

デバイス Start 最後から セクタ Size タイプ
/dev/sda1 2048 524287 522240 255M Linux filesystem
/dev/sda2 524288 4718591 4194304 2G Linux RAID
/dev/sda3 4718592 8912895 4194304 2G Linux RAID
/dev/sda4 8912896 15628052479 15619139584 7.3T Linux RAID

いた。8TBのHDDで間違いない。それぞれのパーティションを見ると/dev/sda4が7TB以上あるので、データがあるのはこのパーティションだ。

データのあるディスクを/mntにマウントしてみる。

ubuntu@ubuntu:~$ sudo mount /dev/sda4 /mnt
mount: unknown filesystem type ‘linux_raid_member’

linux_raid_memberってやつのファイルシステムがわかんねーぜと怒られる。でも、見る感じRAIDだな。ソフトウェアRAIDのパッケージを使ってRAIDのHDDとして読むことに。

ubuntu@ubuntu:~$ sudo mdadm –assemble /dev/md2 /dev/sda4
プログラム ‘mdadm’ はまだインストールされていません。 次のように入力することでインストールできます:
sudo apt install mdadm

入ってないらしいので、追加でインストールする。

ubuntu@ubuntu:~$ sudo apt install mdadm
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
提案パッケージ:
default-mta | mail-transport-agent
以下のパッケージが新たにインストールされます:
mdadm
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
394 kB のアーカイブを取得する必要があります。
この操作後に追加で 1,200 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 mdadm amd64 3.3-2ubuntu7 [394 kB]
394 kB を 0秒 で取得しました (2,896 kB/s)
パッケージを事前設定しています …
以前に未選択のパッケージ mdadm を選択しています。
(データベースを読み込んでいます … 現在 174850 個のファイルとディレクトリがインストールされています。)
…/mdadm_3.3-2ubuntu7_amd64.deb を展開する準備をしています …
mdadm (3.3-2ubuntu7) を展開しています…
ureadahead (0.100.0-19) のトリガを処理しています …
systemd (229-4ubuntu4) のトリガを処理しています …
doc-base (0.10.7) のトリガを処理しています …
doc-base ファイルを 32 個変更, doc-base ファイルを 4 個追加 を処理中…
man-db (2.7.5-1) のトリガを処理しています …
mdadm (3.3-2ubuntu7) を設定しています …
Generating mdadm.conf… done.
update-initramfs is disabled since running on read-only media
/usr/sbin/grub-probe: エラー: failed to get canonical path of `/cow’.
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
ureadahead (0.100.0-19) のトリガを処理しています …
systemd (229-4ubuntu4) のトリガを処理しています …

インストールが完了したので再度実行。

ubuntu@ubuntu:~$ sudo mdadm –assemble /dev/md2 /dev/sda4
mdadm: /dev/md2 has been started with 1 drive (out of 2).

RAIDとして追加できた。この段階でRAIDアプリケーションから読めるが、通常通りのアクセスができるようにマウント。

ubuntu@ubuntu:~$ sudo mount /dev/md2 /mnt

できた。これでRAIDのHDD内にあるファイルを見ることができた。さて、これからコピーしてちゃんとすべてのファイルが取り出せるかどうか・・・・・・・

2016/11/12追記

RAIDのドライブによってはアレイが構成できないと怒られる。

mdadm: md device /dev/md2 does not appear to be active.

そんなときは1ドライブで無理やり実行する-Rオプションを付ける。

mdadm -R /dev/md2
mdadm: started /dev/md2

今すぐ使えるUbuntu入門ガイド Linuxをはじめよう 今すぐ使えるUbuntu入門ガイド Linuxをはじめよう
阿久津 良和

技術評論社
売り上げランキング : 37259

Amazonで詳しく見る

コメント

タイトルとURLをコピーしました