NASに奇妙な問題があります。RAID5構成の4×2TBドライブを搭載したZyxel540です。 1台のドライブを同じサイズの新しいWDRedに交換することを決定するまで、すべてがスムーズに機能していました。誰もが予想したように、NASは、新しいディスクが挿入され、RAIDの再構築を開始することを検出しますが、データはまだ安全です...私はすでにこの操作を実行して機能したので...いいえ問題!
私の夢の中で...
ドライブを交換した後、NASはボリュームにアクセスできないと言いました。
パニックになったので、古いドライブをマウントし直しました...何も起こらず、まだ問題があります...しかし、データはNASマネージャーでアクセスできましたが、LAN経由ではなく、コピーできない場合はコピーできませんでしたターミナル経由。
PhotoRecを使用して1つのドライブで部分的な回復を試みました(念のため)。データはまだそこにあるので、問題はヘッダーなどにあるはずです。
RAIDのステータスを確認するために、sshでいくつかのコマンドを試しました。
mdadm --create etc
mdadm --examine /dev/md2
さらに、ドライブの順序がなくなったことを確認したので、次のようなすべての組み合わせを開始しました。
mdadm --create --assume-clean --level = 5 --raid-devices = 4 --metadata = 1.2 --chunk = 64K --layout = left-symmetric/dev/md2/dev/sdd3/dev/sdb3/dev/sdc3/dev/sda3
この組み合わせを送信するまで、NASは正しい組み合わせで再び機能するようにすることを期待していました:C/A/D/B
今、私は組み合わせを変更することができません、私はこのメッセージで立ち往生しています:
mdadm --stop /dev/md2
これで応答します:
mdadm: Cannot get exclusive access to /dev/md2:Perhaps a running process, mounted filesystem or active volume group?
私も試しましたcat /proc/mounts
、ボリュームがマウントされていません:(
lsof | grep /dev/md2
、何も表示されません
そして
# e2fsck -n /dev/md2
e2fsck 1.42.12 (29-Aug-2014)
Warning! /dev/md2 is in use.
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/md2
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
or
e2fsck -b 32768 <device>
LVM構成:
pvs
からの出力:
PV VG Fmt Attr PSize PFree
/dev/md2 vg_ca74d470 lvm2 a-- 5.45t 0
vgs
からの出力:
VG #PV #LV #SN Attr VSize VFree
vg_ca74d470 1 2 0 wz--n- 5.45t 0
lvs
からの出力:
LV VG Attr LSize [snip]
lv_be37a89a vg_ca74d470 -wi-a----- 5.45t
vg_info_area vg_ca74d470 -wi-a----- 100.00m
ソフトウェアRAID構成:
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md2 : active raid5 sda3[1] sdd3[3] sdb3[2]
5848150464 blocks super 1.2 level 5, 64k chunk, algorithm 2 [4/3] [_UUU]
md1 : active raid1 sdb2[4] sdd2[6] sdc2[5] sda2[7]
1998784 blocks super 1.2 [4/4] [UUUU]
md0 : active raid1 sdb1[4] sdd1[6] sdc1[5] sda1[7]
1997760 blocks super 1.2 [4/4] [UUUU]
unused devices: <none>
選択肢がありません、みんな...どうすればいいですか?
したがって、セットアップは次のようになります。
ハードドライブを交換する前に、実行コンフィギュレーションからmdadm.conf
を生成する必要があります。
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
また、既存のドライブからパーティション構造をコピーする方がおそらく簡単です。
sfdisk -d /dev/sda >> partitions
次に、ディスクを交換し、以前のパーティションを新しいドライブに適用します。
sfdisk /dev/sda << partitions
最後に、新しいディスクの各パーティションを3つのRAIDアレイに再挿入する必要があります。
mdadm --manage /dev/md0 --add /dev/sda1
mdadm --manage /dev/md1 --add /dev/sda2
mdadm --manage /dev/md2 --add /dev/sda3
LVMによるアレイのロックを停止または開始する必要がある場合は、次を使用してください。
vgchange -an # stop all LVs
vgchange -ay # start all LVs
朗報です!
ついにデータが戻ってきました!
リストされているバックアップを使用してe2fsckでスーパーブロックインデックスを回復しようとしましたが、どれも機能しませんでした:(
そこで、以前の計画に戻って、論理的な開発者の組み合わせを再試行することにしました。
私が従った手順は次のとおりです:1)vgchange -anを使用してボリュームを非アクティブ化する2)md2を停止する3)新しい組み合わせでアレイを作成する
そして、C/B/D/Aに到着して再起動すると、NASがついにデータを返します。
関係者の皆さんのおかげで、今は本当に幸せです。きっと、この場所をもっと頻繁に見るようになるでしょう。
幸運とすべての最高!
# vgs
VG #PV #LV #SN Attr VSize VFree
vg_ca74d470 1 2 0 wz--n- 5.45t 0
~ # lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_be37a89a vg_ca74d470 -wi-a----- 5.45t
vg_info_area vg_ca74d470 -wi-a----- 100.00m
~ # cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md2 : active raid5 sda3[1] sdd3[3] sdb3[2]
5848150464 blocks super 1.2 level 5, 64k chunk, algorithm 2 [4/3] [_UUU]
md1 : active raid1 sdb2[4] sdd2[6] sdc2[5] sda2[7]
1998784 blocks super 1.2 [4/4] [UUUU]
md0 : active raid1 sdb1[4] sdd1[6] sdc1[5] sda1[7]
1997760 blocks super 1.2 [4/4] [UUUU]
unused devices: <none>