У меня есть расширение Synology (DX213), подключенное к моему NAS. Он содержит 2 диска по 2 ТБ, и они находятся в конфигурации RAID0 (ужасная идея, я знаю, и мне не нужно напоминание;)). В прошлые выходные массив вышел из строя, и я больше не могу запускать массив RAID.
Я начинаю полагать, что проблема возникла на задней панели (DX213), а не на дисках, потому что они выглядят хорошо. Они точно не мертвы (пока). Я подключил их к машине Linux, и я вижу их очень хорошо:
$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 1.8 TiB, 2000396746752 bytes, 3907024896 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: dos
Disk identifier: 0x000a85dd
Device Boot Start End Sectors Size Id Type
/dev/sdb1 256 4980735 4980480 2.4G 83 Linux
/dev/sdb2 4980736 9175039 4194304 2G 82 Linux swap / Solaris
/dev/sdb3 9437184 3907024064 3897586881 1.8T 83 Linux
$ sudo fdisk -l /dev/sdc
Disk /dev/sdc: 1.8 TiB, 2000396746752 bytes, 3907024896 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: dos
Disk identifier: 0x0004dd4e
Device Boot Start End Sectors Size Id Type
/dev/sdc1 256 4980735 4980480 2.4G 83 Linux
/dev/sdc2 4980736 9175039 4194304 2G 82 Linux swap / Solaris
/dev/sdc3 9437184 3907024064 3897586881 1.8T 83 Linux
При проверке дисков mdadm
все еще может распознать массив raid, и оба диска находятся в чистом состоянии, но суперблоки на обоих дисках явно не синхронизированы.
$ sudo mdadm --examine /dev/sd[bc]3
/dev/sdb3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 1d7dd58f:dd7dd3d2:b646173b:afd51417
Name : mist-nas:2
Creation Time : Tue Nov 26 19:47:24 2013
Raid Level : raid0
Raid Devices : 2
Avail Dev Size : 3897584833 (1858.51 GiB 1995.56 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=0 sectors
State : clean
Device UUID : 46933df7:36901a5b:7a1239fe:e999c419
Update Time : Sat Aug 27 20:14:12 2016
Checksum : 42117b5b - correct
Events : 8
Chunk Size : 64K
Device Role : Active device 0
Array State : A. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 1d7dd58f:dd7dd3d2:b646173b:afd51417
Name : mist-nas:2
Creation Time : Tue Nov 26 19:47:24 2013
Raid Level : raid0
Raid Devices : 2
Avail Dev Size : 3897584833 (1858.51 GiB 1995.56 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
Unused Space : before=1968 sectors, after=0 sectors
State : clean
Device UUID : e4b60f4c:604b2e27:359cb71b:24453937
Update Time : Tue Nov 26 19:47:24 2013
Checksum : 997fa41a - correct
Events : 4
Chunk Size : 64K
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
Единственная разница - это отметка времени последнего обновления и количество событий. Я знаю, что никаких операций записи не происходило, когда массив вышел из строя, и оба диска находятся в чистом состоянии, поэтому я совершенно уверен, что все еще могу получить доступ к своим данным. Однако, чтобы восстановиться, мне придется воссоздать массив или скрипку с неисправным суперблоком, и это, по меньшей мере ...
Я клонировал оба диска с dd
на новые диски, чтобы создать резервную копию на случай, если я сделаю что-нибудь глупое. Новые диски имеют размер сектора 4096 (это диски объемом 3 и 4 ТБ), тогда как старые диски имеют размер сектора 512. Размер раздела sd [bc] 3 не кратен 4096 секторам, поэтому мне пришлось округлить размер раздела до следующего сектора. Я надеюсь, что это не проблема?
Команда, которую я собираюсь запустить:
$ sudo mdadm --create --readonly --assume-clean --level=0 -n2 /dev/md2 /dev/sdb3 /dev/sdc3
Эта команда, вероятно, перезапишет текущие суперблоки, поэтому я хочу быть абсолютно уверенным, что это не разрушит мои шансы вернуть мои данные. Что будет результатом этой команды?
Я также хотел бы проверить свою стратегию, прежде чем действовать. Я создал 2 раздела по 4 ГБ на USB-ключе, создал с ними массив RAID0, создал файловую систему EXT4 в массиве, смонтировал его и скопировал на него некоторые файлы. Вопрос в том, как я могу манипулировать суперблоком одного из разделов, чтобы воссоздать ситуацию, сложившуюся у меня с массивом 4 ТБ.
Я рассматривал возможность использования шестнадцатеричного редактора для манипулирования суперблоком вручную, но тогда мне, вероятно, также необходимо пересчитать контрольную сумму. Как мне это сделать?