ここからが本題です。実際にサルベージする手順とコマンドを説明します。
この記事で扱われるシステム構成
NAS Synology DS418 SHR(RAID1構成)
+ Drive1 4T TOSHIBA DT02ABA400 ←故障 ここからの取り出しを試みる
+ Drive2 4T HGST HDN724040ALE640
PC CentOS Linux release 7.5.1804 (Core)
2ドライブモデルのSynology NASもRAID1のミラーリングで動作していると思われるので同じ操作でデータのサルベージが可能だと思われます。
NASからTOSHIBA DT02ABA400を取り出し、CentOSのインストールされたPCに接続します。以下すべてRootログインしてからの操作です。 自分の環境に合わせて適宜読み替えてください。
ドライブの確認
#dmesg
ハードディスクTOSHIBA 4Tバイト関連のメッセージ
TOSHIBA DT02ABA400はsdb
[ 2.681029] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 2.682649] ata6.00: ATA-10: TOSHIBA DT02ABA400, KQ000A, max UDMA/100
[ 2.682652] ata6.00: 7814037168 sectors, multi 1: LBA48 NCQ (depth 31/32), AA
[ 2.682656] ata6.00: SB600 AHCI: limiting to 255 sectors per cmd
[ 2.683989] ata6.00: configured for UDMA/100
[ 2.842624] scsi 5:0:0:0: Direct-Access ATA TOSHIBA DT02ABA4 0A PQ: 0 ANSI: 5
[ 2.892896] sd 5:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[ 2.892901] sd 5:0:0:0: [sdb] 4096-byte physical blocks
[ 2.892973] sd 5:0:0:0: [sdb] Write Protect is off
[ 2.892976] sd 5:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 2.894221] sd 5:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.902172] sda: sda1 sda2
[ 2.902744] sd 2:0:0:0: [sda] Attached SCSI disk
[ 2.958311] sdb: sdb1 sdb2 sdb5
[ 2.958893] sd 5:0:0:0: [sdb] Attached SCSI disk
認識されているドライブの確認
データをサルベージするパーティーションはsdb5
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 1.8T 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 3.8G 0 lvm [SWAP]
└─centos-home 253:2 0 1.8T 0 lvm /home
sdb 8:16 0 3.7T 0 disk
├─sdb1 8:17 0 2.4G 0 part
├─sdb2 8:18 0 2G 0 part
└─sdb5 8:21 0 3.6T 0 part
1 つまたは複数のデバイスの md スーパブロックの内容を表示する
#mdadm -E /dev/sdb5
/dev/sdb5:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 2e890fa3:4c304fc5:3f648e73:80b4b820
Name : DiskStation:2
Creation Time : Sat Jul 11 20:56:29 2020
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 7804374912 (3721.42 GiB 3995.84 GB)
Array Size : 3902187456 (3721.42 GiB 3995.84 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=0 sectors
State : clean
Device UUID : 591f71ad:4e2d6d10:980b782b:a9ad48eb
Update Time : Fri Jul 17 19:30:12 2020
Checksum : f4eb4723 - correct
Events : 1245
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
すべてのRAID関連のサービスを停止する
これをしないと次のRAIDの構成に失敗するので必ず行います
# mdadm --stop --scan
RAIDの再構成を行いRAIDサービスを開始する
RAIDのボリュームは/dev/md0に割り当てる
# mdadm --assemble --verbose /dev/md0 /dev/sdb5 --run
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdb5 is identified as a member of /dev/md0, slot 0.
mdadm: no uptodate device for slot 1 of /dev/md0
mdadm: added /dev/sdb5 to /dev/md0 as 0
mdadm: /dev/md0 has been started with 1 drive (out of 2).
再構成されたRAIDの動作状態を確認する
# cat /proc/mdstat
Personalities : [raid1
md0 : active raid1 sdb5[0]
3902187456 blocks super 1.2 [2/1] [U_]
再構成されたRAIDのボリュームの状態を表示する
# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Jul 11 20:56:29 2020
Raid Level : raid1
Array Size : 3902187456 (3721.42 GiB 3995.84 GB)
Used Dev Size : 3902187456 (3721.42 GiB 3995.84 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Fri Jul 17 19:30:12 2020
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : DiskStation:2
UUID : 2e890fa3:4c304fc5:3f648e73:80b4b820
Events : 1245
Number Major Minor RaidDevice State
0 8 21 0 active sync /dev/sdb5
- 0 0 1 removed
存在するVolumeGroupを有効にする
# vgchange -ay
1 logical volume(s) in volume group "vg1000" now active
3 logical volume(s) in volume group "centos" now active
ボリュームをマウントする
# mount /dev/vg1000/lv /mnt/md0 -o ro
/mnt/md0は存在していなければ
md /mnt/md0 で作成しておく
マウント作業はここで完了
/mnt/md0からNASのハードディスク内に保存されていたファイルが見えるようになります。以降データバックアップも可能です。
■再構成したRAIDデータの確認と取り出し
RAIDのマウント位置に移動
# cd /mnt/md0
# ll
合計 316
drwxr-xr-x. 1 root root 24 7月 11 20:56 @S2S
drwx------. 1 root users 12 7月 11 21:30 @SynoDrive
drwxr-xr-x. 1 root root 122 7月 16 11:28 @SynoFinder-log
drwxr-xr-x. 1 root root 24 7月 11 21:28 @SynologyApplicationService
drwxr-xr-x. 1 root root 32 7月 11 21:29 @SynologyDriveShareSync
drwxr-xr-x. 1 root root 256 7月 12 20:27 @appstore
drwxr-xr-x. 1 1024 users 76 7月 11 20:56 @database
drwxrwxrwx. 1 root root 92 7月 12 20:32 @eaDir
-rw-------. 1 root root 191356 7月 17 15:05 @synocrond.core.gz
-rw-------. 1 root root 128626 7月 16 10:19 @synologrotated.core.gz
drwxr-xr-x. 1 root root 62 7月 11 21:33 @synologydrive
drwxrwxrwt. 1 root root 90 7月 17 18:16 @tmp
drwxr-xr-x. 1 root root 52 7月 12 03:02 homes
drwxr-xr-x. 1 root root 12 7月 11 21:33 music
drwxr-xr-x. 1 root root 12 7月 12 20:24 photo
drwxr-xr-x. 1 root root 28 7月 17 16:16 pictures
drwxr-xr-x. 1 root root 50 7月 17 18:38 public
drwxr-xr-x. 1 root root 12 7月 12 20:25 video
homesフォルダを覗いてみる
# cd homes
# ll
合計 0
drwxrwxrwx. 1 root root 42 7月 17 15:06 @eaDir
drwxr-xr-x. 1 1024 users 0 7月 11 21:26 admin
drwxr-xr-x. 1 1026 users 10 7月 11 21:28 owner
drwxr-xr-x. 1 1027 users 18 7月 12 03:34 david
:
■NAS用HDDのおすすめ
NASに使うハードディスクは何がいいのか。目的によりハードディスクを選定する必要があります。高速性を望むのか、安定性を望むのか、データの永続性を望むのか。
高速性重視
同一メーカー同一機種2台でストライピングを構成すると非常に高速になります。しかし、ストライピングはハードディスク一台が故障するとすべてのデータが消えてしまいます。しかも、故障確率はその2乗になります。3台のストライピングなら3乗。データの損失を防ぐためにミラーリングのような構成が必要になりますが非常に高価なものになります。高速性を重視したときにここで疑問が湧きます。そんなに高速性が必要ならネットワーク越しに使わなくてもいいのじゃないかと。少人数利用で、そんなにデータの移動を伴わなければ、ローカルのSSDに置けば遥かに高速になりますし、SSDの方が対故障性が良くなります。編集が終わった時点でNASに戻せば十分でしょう。たしかに、動画編集をチームで行うような使い方や高負荷なサーバー用途なら高速性能が問題になるのでしょうが、高速性が本当に必要なのかよく考えてみましょう。ハードディスクは必ず壊れます。より高性能より高安定なハードディスクを使用しましょう。
NAS用HDDといえば定番はこちらになるでしょう。ストレージメーカーはWesternDigitaが吸収合併してほぼ1社独占状態です。コスパ最高の容量がコレです。