Восстановить mdadm raid5 с XFS

673
user1016815

Я пытаюсь восстановить данные со старой Buffalo Terastation, которая не удалась. Предыдущая попытка восстановить данные кем-то другим была безуспешной, и я остался в следующей ситуации.

NB: Я не уверен, какие именно команды были выполнены ранее, надеюсь, ничего такого, что нанесло непоправимый урон!

У оригинальной Terastation было четыре диска, каждый с разделами системы, раздела подкачки и данных. Разделы данных управлялись с помощью raid5, и я считаю, что файловая система была XFS.

Три раздела данных были скопированы на другое устройство путем отдельного подключения их на внешнем жестком диске USB с помощью команды, которая выглядит примерно так:

dd if=/dev/sdd3 of=/share/disk1_data 

Использование mdadm --examine во вновь создаваемых резервных копиях дает следующее:

 Magic : a92b4efc Version : 1.2 Feature Map : 0x1 Array UUID : deb4c6d2:c2fc193c:a9599de3:a25d0d2c Name : it:0 (local to host it) Creation Time : Tue Sep 8 08:59:06 2015 Raid Level : raid5 Raid Devices : 4  Avail Dev Size : 779677543 (371.78 GiB 399.19 GB) Array Size : 1169515008 (1115.34 GiB 1197.58 GB) Used Dev Size : 779676672 (371.78 GiB 399.19 GB) Data Offset : 262144 sectors Super Offset : 8 sectors Unused Space : before=262056 sectors, after=871 sectors State : clean Device UUID : 2eed9b35:6857b6fa:00a76842:9f5ab0ae  Internal Bitmap : 8 sectors from superblock Update Time : Tue Sep 8 09:40:17 2015 Bad Block Log : 512 entries available at offset 72 sectors Checksum : 21f8a2ff - correct Events : 8  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 0 Array State : AAA. ('A' == active, '.' == missing, 'R' == replacing) 

Каждое устройство имеет свой UUID устройства, контрольную сумму (каждое правильное) и имеет роли устройства 0-2. Вся остальная информация такая же.

Изучение начала каждого из дисков показывает, что там есть данные.

head -c=128 disk1_data  XFSB nÙp  †/@@––Ny»Rû“û ° 0 € =„   head -c=128 disk2_data  INAÿ ¯A—zö:»´ FùÓ@àQqas0„P ^ ÿÿÿÿ 0share @spool   head -c=128 disk3_data  ÿØÿà JFIF e e ÿþ Created by AccuSoft Corp. ÿà ÿÄ #   ÿÚ ÿ à _æŒå9±Ü‡”î³¹v 

Из того, что я читал в другом месте, это то, что я ожидаю, если файловая система - XFS, а данные - в raid5. disk1 имеет начало файловой системы, disk2 начинается с inode, а disk3 содержит данные. disk4 отсутствует, но будет содержать контрольную сумму этих.

С этого этапа я смонтировал каждое устройство на петле.

losetup /dev/loop2 disk1_data losetup /dev/loop3 disk2_data losetup /dev/loop4 disk3_data 

На этом этапе mdadm может собирать устройства.

mdadm --assemble --scan /dev/md0 has been started with 3 drives (out of 4) 

И запуск --detail дает следующие хорошие новости:

 Version : 1.2 Creation Time : Tue Sep 8 08:59:06 2015 Raid Level : raid5 Array Size : 1169515008 (1115.34 GiB 1197.58 GB) Used Dev Size : 389838336 (371.78 GiB 399.19 GB) Raid Devices : 4 Total Devices : 3 Persistence : Superblock is persistent  Intent Bitmap : Internal  Update Time : Tue Sep 8 09:40:17 2015 State : active, degraded  Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0  Layout : left-symmetric Chunk Size : 512K  Name : it:0 (local to host it) UUID : deb4c6d2:c2fc193c:a9599de3:a25d0d2c Events : 8  Number Major Minor RaidDevice State 0 7 2 0 active sync /dev/loop2 1 7 3 1 active sync /dev/loop3 2 7 4 2 active sync /dev/loop4 6 0 0 6 removed 

cat / proc / mdstat выдает следующее

Personalities : [raid6] [raid5] [raid4]  md0 : active raid5 loop2[0] loop4[2] loop3[1] 1169515008 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_] bitmap: 2/3 pages [8KB], 65536KB chunk  unused devices: <none> 

Однако, когда я пытаюсь смонтировать только что созданный / dev / md0, я всегда получаю ошибки, касающиеся суперблоков, магических чисел и т. Д.

fdisk -l /dev/md0  Disk /dev/md0: 1197.6 GB, 1197583368192 bytes 2 heads, 4 sectors/track, 292378752 cylinders, total 2339030016 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 524288 bytes / 1572864 bytes Disk identifier: 0x00000000 

xfs_check, похоже, не нравится файловая система

xfs_check: /dev/md0 is not a valid XFS filesystem (unexpected SB magic number 0x00000000) xfs_check: WARNING - filesystem uses v1 dirs,limited functionality provided. xfs_check: read failed: Invalid argument cache_node_purge: refcount was 1, not zero (node=0x9dd5930) xfs_check: cannot read root inode (22) 

Я запустил xfs_repair, и он работал всю ночь, просто выводя ............. на экран, не в состоянии найти какие-либо вторичные суперблоки.

И это то, где я немного застрял.

Любой совет приветствуется.

С наилучшими пожеланиями

Бен

0
Вы, кажется, путаете диски, разделы и файловые системы. Не могли бы вы повторить свой вопрос и убедиться, что каждый пример команды и вывода является точным? Например, в верхней части вы делаете `dd if = / mnt / sdd3 of = / share / disk1_data`, что не имеет особого смысла, и вы, похоже, используете` / dev / md / 0` и `/ dev / md0` взаимозаменяемо во всем. Это затрудняет точное представление о том, что происходит. Кроме того, RAID 5 использует распределенную четность, и поэтому не имеет выделенного диска четности; эффект на практике остается тем же: способность пережить потерю любого диска, не более. a CVn 8 лет назад 0
Я думаю, что команда, которую я обозначил в верхней части, это `dd if = / dev / sdd3 of = / share / disk1_data`, это было взято из заметок человека, который попробовал это восстановление в первый раз. Дискретность между `md / 0` и` md0` также была исправлена. Кроме этого, я верю, что все правильно. user1016815 8 лет назад 0

0 ответов на вопрос