PC >障害例 >ハードウェア 関連 >HDD >Buffalo 製 NAS >RAID 1 >

( 2021.10.24. 更新 )





目次
 基本
 下準備
 データ を 抜く 手順
 応急処置 の 例
 備考
 結果 「 〜 need all 2 〜 」 が、表示した 場合
 データ が 丸 1 年ぐらい 古くなった
 現場例
 ( 旧資料 ) ( = mdadm 以前 )




● 基本 ●
1 ( 内蔵ストレージに ) OS 「 Ubuntu 」 + アプリ 「 mdadm 」 をインストしたPC ( = USB3.0以上推奨 ) に、対象のRAID 1ディスク ( × 1個 ) を外付け接続
 マウント後、別の外付けストレージに データをコピーする
2 持ち歩くノートを ストレージ交換しやすいものにし、Ubuntuをインストした別の内蔵ストレージを持ち歩けば ( 出先で ) 障害対応しやすい
3 Windows 用アプリ 「 復旧天使 Standard RAID 」 ( = RAID 0 のデータを抜くには 強力なツール ) でも、RAID 1 のデータ抜きは可能
   ↑ ただし、DISK 1 + DISK 2 の両方が正常動作している必要があるため、障害対応に向かない
   ↑ DISK 1 + DISK 2 が無傷であり、筐体だけが死亡するなんてケース 逆にレアだ
   ↓ くわえて 復旧天使で 以下のケースもあった
 現場 = PO光学 様 : TB市
 状況 = 赤ランプがついているし、アクセスも不安定
 症状 = 外づけに2台を接続して 普通にデータは抜けたが、データが 1か月以上 古い
 原因 = DISK 1 が 1か月以上 前に止まっていて、復旧天使が抜いたのは DISK 1 のデータだった
     ↑ 逆に ユーザが ( 無意識に ) アクセスしてデータ更新していたのは、DISK 2 だった
 処置 = DISK 2 をUbuntuで処理したら、普通に最新データが抜けた
 備考 = HDD × 2台とも Regeneでヒットなし
● 下準備 ●
0 まっ先に 対象 HDD を dd クローン し、クローン 先 で 作業する ( = SSD 推奨 )
   ↑ 対象 HDD が ( たとえ Regene で ノーヒット でも )、データ 抜き 操作を すると 微妙に 不調で、一部の データが 抜けなかった ケース あり
   ↑ その ケース では クローン 先 で 同じ処置をしたら、普通に 全 データ が 抜けた
 ちなみに dd クローン で エラー が 出たら Regene する 価値はあるが、障害 HDD に Regene ( = 書込み操作 ) を するのは リスク あり ( = 不調 HDD に、とどめを刺す 可能性 あり )
   ↑ 一部 エラー が 出ても、まずは dd クローン ストレージ を 作成する
1 USB3.0のPCに Ubuntuをインスト
   ↑ 現場では 18.04を使用
2 充分にOSアップデートしてから、アプリ 「 mdadm 」 をインストする
 ↓ 「 Ubuntuソフトウェアセンター 」 で アプリ 「 Linux MD アレイ ( ソフトウェア Raid ) 管理ツール 」 がヒットすれば、それが 「 mdadm 」 と同じものだが、( OSアップデートもふくめ ) 以下のコマンドで行ったほうが、確実
3    ↓ 以下が、OS アップデート + アプリ 「 mdadm 」 を インストする コマンド
 [1]. アプリ [ 端末 ] ( = グノーム・ターミナル ) を、起動する
    ↑ Alt + F2 → gnome-terminal
 [2]. sudo (スペース) apt (スペース) update
 [3]. sudo (スペース) apt (スペース) upgrade
 [4]. sudo (スペース) apt (スペース) install (スペース) mdadm




● データを 抜く 手順 ●
1 対象のHDD × 1個を、USB接続する ( = USB3.0以上を推奨 )
2 アプリ 「 端末 」 ( = グノーム・ターミナル ) を起動する
   ↑ Alt + F2 → gnome-terminal
3 dmesgで、対象HDDのデバイス名を予想する
   ↑ 普通は 「 sdb 」
 Shift + Ctrl + F で、窓 [ 検索 ] を開いて、「 sdb 」 を検索したほうが早い
   ↑ 容量が確認の手がかり
4   ↓ partedで、データのあるパーティション ( = 容量が最大のパーティション ) を確認する
 sudo (スペース) parted (スペース) -s (スペース) /dev/sdb (スペース) print
   ↑ ある現場では 「 6 」 ( = sdb6 ) だった
 正常HDDならほぼ一瞬で処理されるが、ある障害HDDは妙に時間がかかった
   ↑ その障害HDDは、そのまま進めても結局 データが見えなかった
   ↑ やはり前処理で 「 Regene + 別の正常ストレージへ ddクローン 」 は必須だ
5   ↓ mkdirで、一時的に使用するフォルダを作成する ( 例 = 初期からあるディレクトリ 「 media 」 の下部に )
 sudo (スペース) mkdir (スペース) /media/itiji
   ↑ 結果 「 〜 ファイルが存在します 」 が表示した場合は、以前に作成したフォルダが残っているので 「 sudo rm -rf /media/itiji 」 で削除してから
6   ↓ chmodで、一時フォルダを読み書き自由にする
 sudo (スペース) chmod (スペース) 777 (スペース) /media/itiji
7   ↓ mdadmで、すべてのRAIDアレイを停止する
 sudo (スペース) mdadm (スペース) --stop (スペース) --scan
8   ↓ mdadmで、一時的なRAIDアレイを構築する
 sudo (スペース) mdadm (スペース) --assemble (スペース) /dev/md0 (スペース) /dev/sdb6
   ↑ ここで、結果 「 /dev/md0 has been started with 1 drive ( out of 2 ). 」 が表示すれば、先に進められる
   ↑ 逆に、結果 「 /dev/md0 assembled from 1 drive - need all 2 to start it ( use --run to insist ). 」 が表示した場合、先に進められないので中断し、先に ↓ 以下の処置を行う
 → ● 結果 「 〜 need all 2 〜 」 が表示した場合 ●
9   ↓ mdadmで、RAIDアレイ ( = 一時利用の ) を有効にする
 sudo (スペース) mdadm (スペース) --run (スペース) /dev/md0
10   ↓ mountで、RAIDアレイ ( = 一時利用の ) にマウントする
 sudo (スペース) mount (スペース) /dev/md0 (スペース) /media/itiji
11 ( 成功すると、デスクトップ画面に、対象HDDが表示される )
12 別ストレージ ( = Windowsで 普通に認識されるフォーマットがされた ) をUSB接続し、データをコピーする




● 応急処置 の 例 ●
1 外付けHDDに、全データをコピー
2 現場PCに接続して、NASの共有フォルダと同じ共有設定にする
   ↑ 例 = 共有フォルダの共有名を 「 share 」 に
3 そのPCのIPをNASと同じに変更したら、他PCでは設定変更が不要だった
   ↑ 初回アクセス時のみ、30秒ほどかかったが
   ↑ NASに名前アクセスしていたら もうひと手間かかったが、IPアクセスだったのが幸いした
● 備考 ●
1 別の話だが、HDD上にOSを乗せる仕様は怖すぎる
 OSがROMに乗っているなら、連続停電もあまり怖くない
 しかしHDD上に乗っていると、連続停電ぐらいで 「 OS破損 + 起動不能 」 になっても不思議はない
   ↑ ハード故障がないのに、ソフトが破損しても不思議はない
2 「 サーバとNASぐらい、UPSから電源を取れ 」 という話ではあるが、SOHOはそこまで備えていない現場のほうが多い
3   ↓ Synology ( = シノロジー ) のNASキット ( = ストレージ別売り ) などは、OSが基板に乗っている
 その他 >さ 行 >低頻度 >Synology >




● 結果 「 〜 need all 2 〜 」 が、表示した 場合 ●
● 基本
1    ↓ コマンド 「 mdadm 」 で一時的なRAIDアレイを作成するさい、結果が2つに分かれる
 [ A ] = 「 /dev/md0 has been started with 1 drive ( out of 2 ). 」 = 先に進められる
 [ B ] = 「 /dev/md0 assembled from 1 drive - need all 2 to start it ( use --run to insist ). 」 = 先に進められない
    ↑ 結果 [ B ] の場合 --run しても、「 /dev/sdb6 is bussy - skipping 」 で 進められない
2 ちなみに、DISK 1 + DISK 2 が正常に RAID 1 動作した状態で、正常に電源を切った DISK 1 でも 結果 [ B ] になる = 進められない
 そこで DISK 2 を抜き、DISK 1 のみの状態でNAS起動すると 「 デーグレード モード 」 に切り替わり、その後は 結果 [ A ] に切り替わる = 進められる
 ( たとえば DISK 1 が死亡しているなら )、DISK 2 ( のみ ) をスロット 1に入れても ( NAS動作はするし )、結果 [ A ] になる = 進められる
   ↑ 当面は この手順 ( = 物理的な処置で デグレード モードに切り替える ) で しのぐ
3 Ubuntuのコマンドでデグレードできれば スタイリッシュなので、今後の宿題
   ↑ ( コマンドが確立しないと ) もし筐体が死亡したら、わざわざ同型筐体を入手しなければならないので 面倒
● 備考
1 「 ● 基本 ● 」 にある PO光学 様は、紛らわしかった
   ↑ DISK 1 は1か月前に止まっていて、DISK 2のみデータ更新されていた
   ↑ Ubuntu処理すると DISK 1 は結果 [ B ] で、先に進められなかった ( = データ更新されていないくせに、デグレードにも切り替わっていない )
    ↑ 逆に、最新データのあるDISK 2 は結果 [ A ] で ラッキーだったが
 一方、そのDISK 1 も 「 復旧天使 Standard RAID 」 なら、普通にデータが抜けた
   ↑ ただし、DISK 2 とセットで処置しても、抜けたデータは ( 1か月 古い ) DISK 1 のデータのみなので 用は足りなかったが




 → 技術検索のトップへ