私は4x4TBハードドライブを搭載したZyxxel NAS540を実行しています。数日前、NASでビープ音が鳴り始め、RAIDのパフォーマンスが低下したことを確認しました。ドライブの1つのSMART値が非常に悪かったので、NASをシャットダウンして交換用ディスクを注文した後、それを挿入してWebインターフェースを介して回復プロセスを開始しました。
数日後(週末に行った)進捗状況を確認したかったのですが、Webインターフェイスにログインできなくなりました。 NASにはディスクアクティビティも表示されません(LEDの点滅やノイズはありません)。 SSHとmdadmを介して状態を取得しようとしましたが、3つのドライブがきれいな状態で、1つが待機状態にあるとします。だから修理が成功する前と同じですか?アクセスもなく、ディスクアクセスもない状態でNASを再起動しました。
これで、Webインターフェイスは再び機能しますが、「ボリュームが小さく」と表示されます。メニューから解決する方法はありません。また、ディスクをクリックすると、ディスク 1,2,3 が「ホットスペア」と表示されます。ディスク4には状態がない。交換したディスクは3番ディスクです。
それ以来、NASへのSSHアクセスも失われていたので、ディスクを自分のPCに入れて、いくつかのコマンドを実行して状況を把握しました。出力は次のとおりです。
猫/proc/mdstat
Personalities : [raid6] [raid5] [raid4]
unused devices: <none>
sudo mdadm --check /dev/sd[abcdef]3
/dev/sda3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 73e88019:b7cf694c:8584cbaa:47f57992
Name : NAS540:2
Creation Time : Tue Nov 24 23:18:19 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 7805773824 (3722.08 GiB 3996.56 GB)
Array Size : 11708660160 (11166.25 GiB 11989.67 GB)
Used Dev Size : 7805773440 (3722.08 GiB 3996.56 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=384 sectors
State : clean
Device UUID : ac8c7cd6:a8f3d86e:cb210c2b:bcdfc2eb
Update Time : Thu Nov 14 16:31:43 2019
Checksum : 667f486f - correct
Events : 1210
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 3
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 73e88019:b7cf694c:8584cbaa:47f57992
Name : NAS540:2
Creation Time : Tue Nov 24 23:18:19 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 7805773824 (3722.08 GiB 3996.56 GB)
Array Size : 11708660160 (11166.25 GiB 11989.67 GB)
Used Dev Size : 7805773440 (3722.08 GiB 3996.56 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=384 sectors
State : active
Device UUID : 1bbec5f9:dec5a68a:d07cfdbe:e05d0cb4
Update Time : Mon Nov 11 18:02:11 2019
Checksum : 1cd3509 - correct
Events : 74
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 2
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 73e88019:b7cf694c:8584cbaa:47f57992
Name : NAS540:2
Creation Time : Tue Nov 24 23:18:19 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 7805773824 (3722.08 GiB 3996.56 GB)
Array Size : 11708660736 (11166.25 GiB 11989.67 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=0 sectors
State : clean
Device UUID : 78f30bc0:b68074ee:9a3a223c:93decfd4
Update Time : Sun Nov 17 23:41:48 2019
Checksum : c9cda273 - correct
Events : 1230
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 0
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 73e88019:b7cf694c:8584cbaa:47f57992
Name : NAS540:2
Creation Time : Tue Nov 24 23:18:19 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 7805773824 (3722.08 GiB 3996.56 GB)
Array Size : 11708660736 (11166.25 GiB 11989.67 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=0 sectors
State : clean
Device UUID : 85b74994:874b016e:609081d6:4cfcd0ee
Update Time : Sun Nov 17 23:41:48 2019
Checksum : d1f8a2d1 - correct
Events : 1230
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 1
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
sudo mdadm --examine --brief --scan --config=パーティション
ARRAY /dev/md/2 metadata=1.2 UUID=73e88019:b7cf694c:8584cbaa:47f57992 name=NAS540:2
ARRAY /dev/md/0 metadata=1.2 UUID=b705c51b:2360cd8e:6b81c03f:2072f947 name=NAS540:0
ARRAY /dev/md/1 metadata=1.2 UUID=186ed461:615007c3:ab9e4576:7b5f7084 name=NAS540:1
ARRAY /dev/md/2 metadata=1.2 UUID=73e88019:b7cf694c:8584cbaa:47f57992 name=NAS540:2
sudo mdadm --assemble --scan
mdadm: Devices UUID-73e88019:b7cf694c:8584cbaa:47f57992 and UUID-73e88019:b7cf694c:8584cbaa:47f57992 have the same name: /dev/md/2
mdadm: Duplicate MD device names in conf file were found.
今、次のステップはどのように見えるか疑問に思います。重複したエントリを削除するために/etc/mdadm.confを手動で編集したいくつかの同様の状況が見つかりました。
他の場合、RAIDは手動で組み立てられますが(例:mdadm --assemble /dev/mdX /dev/sda3 /dev/sdb3 ...)ここでは私のRAID名(mdX)がわかりません。
進行方法のアイデアはありますか?
PS:はい、重要なファイルのバックアップがありますが、他のすべてのファイルを復元することはまだ問題がありません。
私はもう少し前に進んだ。私は次のように配列を再構築しました。
mdadm --create --assume-clean --level=5 --raid-devices=4 --metadata=1.2 --chunk=64K --layout=left-symmetric /dev/md2 /dev/sdd3 /dev/sde3 missing /dev/sda3
次に、次を使用してパーティションレイアウトをコピーします。
sfdisk -d
最後に、新しいディスクを追加します。
sudo mdadm --manage /dev/md2 --add /dev/sdb3
mdadm --details の出力には、各デバイスが「clean」と表示され、raid 状態が「AAAA」と表示されます。 Raidをインストールしようとすると、次のエラーが発生します。
sudo mount /dev/md/2 /media/raid
mount: /media/raid: wrong fs type, bad option, bad superblock on /dev/md2, missing codepage or helper program, or other error.
これで、ヘッダーのビットマップから来ると疑われるデータオフセットに違いがあります。
Data Offset : 262144 sectors
Data Offset : 264192 sectors
mdadm のマニュアルページには次のように表示されます。
When creating an array on devices which are 100G or larger, mdadm automatically adds an internal bitmap as it will usually be beneficial. This can be suppressed with --bitmap=none or by selecting a different consistency policy with --consistency-policy.
では、.man--bitmap=none
ページに記載されているように実行してこの問題を解決できますか?それとも問題が発生しますか?
If the word none is given with --grow mode, then any bitmap that is present is removed.
データオフセットを手動で指定して配列を再作成しました。
sudo mdadm --create --assume-clean --level=5 --raid-devices=4 --metadata=1.2 --chunk=64K --layout=left-symmetric --data-offset=262144s /dev/md2 /dev/sdd3 /dev/sde3 /dev/sdc3 /dev/sda3
これでインストールしてデータにアクセスできます。 NASでも動作します。
答え1
編集で述べたように、mdadm --create
正しいデータオフセットでコマンドを再実行して問題を解決しました。私の攻撃隊をもう一度読むことができます。すでに新しいdisk3でリカバリを実行しているため、OPの説明に従ってコマンドを実行できましたが、エラーの最初の場所にあると仮定すると、次のようになります。
sudo mdadm --create --assume-clean --level=5 --raid-devices=4 --metadata=1.2 --chunk=64K --layout=left-symmetric --data-offset=262144s /dev/md2 /dev/sdd3 /dev/sde3 missing /dev/sda3
続いて
sudo mdadm --manage /dev/md2 --add /dev/sdb3
もちろん、代わりに独自の指定子を使用してくださいsdbX
。