LINUX.ORG.RU

Удалил суперблок. Всё?

 , ,


0

1

К ПК под Debian 10 подключен SATAIII HDD, извлеченный из NAS Synology. Видится как:

blkid
/dev/sdd1: UUID="..." TYPE="linux_raid_member" PARTUUID="..."
/dev/sdd2: UUID="..." TYPE="linux_raid_member" PARTUUID="..."
/dev/sdd3: UUID="..." UUID_SUB="..." LABEL="NAME:3" TYPE="linux_raid_member" PARTUUID="..."
/dev/md127: LABEL="..." UUID="..." TYPE="ext4"

Всё отлично работало и т.п. Но затем, в суете ошибся буквой и удалил: mdadm --zero-superblock /dev/sdd3

Теперь диск не собирается:

blkid
/dev/sdd1: UUID="..." TYPE="linux_raid_member" PARTUUID="..."
/dev/sdd2: UUID="..." TYPE="linux_raid_member" PARTUUID="..."
/dev/sdd3: PTTYPE="dos" PARTUUID="..."

Посмотрел копии суперблока:

mkfs -t ext4 -n /dev/sdd3
mke2fs 1.44.5 (15-Dec-2018)
Found a dos partition table in /dev/sde3
Proceed anyway? (y,N) y
Creating filesystem with 487173396 4k blocks and 121798656 inodes
Filesystem UUID: ...
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848

Попытался восстановить:

fsck -b 32768 /dev/sdd3
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdd3

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>
Found a dos partition table in /dev/sdd3

Подскажите, что ещё попробовать? Или всё? Данные в целом то скопировал (до ошибки с удалением), но там настройки кое-какие остались. Не критично, но вдруг какой-то простой путь есть?



Последнее исправление: mexx (всего исправлений: 2)

/dev/sdd3

/dev/sde3

Как ты с таким радиусом кривизны рук вообще функционируешь? Пользуйся /dev/disk/by-id/ вместо /dev/sd?, накосячить будет несколько труднее.

anonymous
()
Ответ на: комментарий от anonymous

Функционирую с трудом, жара.

Поправил, я ж сюда не онлайн из консоли копирую.

mexx
() автор топика
Ответ на: комментарий от anonymous

Он не спрашивает твое мнение про его руки, он спрашивает чому бекапные суперблоки не работают.

Мне тоже интересно, т.к. опыта нет.

anonymous
()

e2fsck -b номер_бэкапного_суперблока

тебе же белым по чёрному написано что делать, прям в выхлопе fsck. Перебери все что видишь, может какой сработает.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 2)
Ответ на: комментарий от mexx

Ну да. Если повезёт, то сработает. Бывало почти все перебирать приходилось. Если не повезёт - значит ты затёр не только суперблок, или затёр все суперблоки.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)

mdadm –zero-superblock /dev/sdd3

mkfs -t ext4 -n /dev/sdd3

Ты понимаешь разницу между суперблоком mdadm и суперблоком файловой системы на RAID массиве?

anonymous
()
Ответ на: комментарий от anonymous

Ты понимаешь разницу между суперблоком mdadm и суперблоком файловой системы на RAID массиве?

Здесь соглашусь - не совсем понимаю. Подскажешь?

mexx
() автор топика
Ответ на: комментарий от mexx

Суперблок - это служебная область, в которой расположена информация о параметрах контейнера (структуры) которую описывает суперблок.

Ты выполнил команду

mdadm –zero-superblock

--zero-superblock
If the device contains a valid md superblock, the block is over-written with zeros. With --force the block where the superblock would be is over-written even if it doesn't appear to be valid.

Которая стирает служебную информацию mdadm с параметрами принадлежности диска к RAID массиву.

RAID массив - это контейнер на котором ты уже создаёшь другой контейнер - файловую систему.

Т.е. в начале на основе суперблоков MDADM на диске ты собираешь контейнер RAID массива, а потом в RAID массиве создаёшь новый контейнер - файловую систему.

Суперблок файловой системы ты не трогал.

А лишь удалил информацию с диска о том как его подключать к RAID массиву, точнее какой частью RAID массива он является.

mkfs -n тебе не поможет.

Точнее поможет только в случае, если диск с которого ты стёр суперблок mdadm являлся частью RAID 1.

Тогда можно поискать начало файловой системы и попытаться её смонтировать,

anonymous
()
Ответ на: комментарий от mexx

В RAID массиве какого уровня состоял /dev/sdd3?

Если это не RAID0 и остальные диски массива целы, то ты можешь попробовать собрать RAID массив принудительно:

mdadm --verbose --assemble --force /dev/mdX ...

С указанием далее оставшихся дисков RAID массива.

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

Но я тебе не гарантирую, что этим ты не повредишь данные RAID массива на оставшихся дисках.

Но попробовать собрать RAID массив из оставшихся дисков тебе видимо всё же придётся.

Потренируйся на кошках, собери хоть из файлов такую же конфигурацию RAID массива, создай файловую систему, потом удали суперблок на такой же части массива и попробуй собрать его без этой части.

Если файловая система будет монтировать - сделай так же на твоих реальных дисках.

anonymous
()
Ответ на: комментарий от anonymous

В RAID массиве какого уровня состоял /dev/sdd3?

Сам диск в NAS ни в каком RAID не состоял. Но synology каждый отдельный (basic) диск пилят на 3 раздела и объединяют их в RAID linear, насколько я понимаю. Система, подкачка, данные.

mexx
() автор топика
Последнее исправление: mexx (всего исправлений: 1)
Ответ на: комментарий от mexx

Отлично. Есть предложения? )

Суперблок нашёлся? Если нет - то разве что тяжёлой артиллерией типа binwalk пройтись.

Stanson ★★★★★
()
Ответ на: комментарий от mexx

Сам диск в NAS ни в каком RAID не состоял. Но synology каждый отдельный (basic) диск пилят на 3 раздела и объединяют их в RAID linear, насколько я понимаю.

Ты хоть сам понимаешь что сейчас казал?

… ни в каком RAID не состоял … пилят на 3 раздела … объединяют их в RAID linear …

Так всё же сам диск был разбит на разделы и потом эти разделы были частью RAID linear, что является RAID0 походу.

В общем, сколько дисков, именно устройств жёстких дисков в NAS и какая из них собрана конфигурация?

Без этого понимая ответ на вопрос что тебе делать дальше невозможен.

Если там всего один диск, то делить его на разделы допустим можно, но зачем из разделов одного диска создавать RAID Linear (RAID 0) не понятно.

Если там два и более жёстких диска и на каждом создано 3 раздела, а потом эти разделы объединены в RAID Lenear (RAID0) - это уже другое.

Я имею в виду:

  • disk0 partition 1 и disk1 partition 1 - это один RAID массив
  • disk0 partition 2 и disk1 partition 2 - это другой RAID массив
  • disk0 partition 3 и disk3 partition 1 - это третий RAID массив

Так какая у тебя исходная ситуация.

Пока ты это не напишешь что делать - не понятно.

anonymous
()
Ответ на: комментарий от mexx

Если у тебя на дисках в NAS были созданы разделы и попарно разделы на дисках объединены в RAID 0, то дело труба.

Тебе нужно пробовать собирать RAID руками через команду force.

anonymous
()
Ответ на: комментарий от anonymous

Ты хоть сам понимаешь что сейчас казал?

В целом да. Что смущает? В NAS несколько дисков (физических устройств). DSM (ОС) допускает создание нескольких типов RAID для этих устройств. Или использование каждого устройства отдельно как basic. И на NAS RAID из устройств пользователь НЕ создавал. Что, однако, совершенно не мешает системе самостоятельно разбить каждое basic-устройство на 3 раздела и создать RAID в системных целях. Почитал - там зеркало для всех системных разделов КАЖДОГО диска и, насколько я понимаю, аналогично для разделов подкачки. А вот разделы с данными (если ты сам не создавал какой-то RAID) живут каждый сам по себе. Там своя synology-схема, смесь RAID и LVM, похоже. Правильная схема или нет - смысл с ней спорить?

Закончилось чем. Добрался до NAS, вставил проблемный диск, система его нашла, но сказала, что он не инициализирован. От инициализации я конечно отказался и диск вытащил. Но, очевидно, система с ним что-то сделала, так как после повторного подключения к ПК (хотел попробовать совет с force) диск внезапно определился как:

blkid
/dev/sdd1: UUID="..." TYPE="LVM2_member" PARTUUID="..."

И стал доступен для монтирования )

За подсказку о разнице между суперблоком mdadm и суперблоком файловой системы на RAID массиве - спасибо.

mexx
() автор топика

To repair the filesystem using alternate superblock, run

fsck.ext4 -p -b superblock -B blocksize device

не давно потер супеблоки забыл записать какой командой искать суперблоки

  ext4                     0   0  1 60801  47 46  976771072 [BpiR1]
superblock 32768, blocksize=4096 [BpiR1]
superblock 98304, blocksize=4096 [BpiR1]
superblock 163840, blocksize=4096 [BpiR1]
superblock 229376, blocksize=4096 [BpiR1]
superblock 294912, blocksize=4096 [BpiR1]
superblock 819200, blocksize=4096 [BpiR1]
superblock 884736, blocksize=4096 [BpiR1]
superblock 1605632, blocksize=4096 [BpiR1]
superblock 2654208, blocksize=4096 [BpiR1]
superblock 4096000, blocksize=4096 [BpiR1]

>fsck.ext4 -p -b 163840 -B 4096 /dev/sda1

супер блок восстановился правда, автоматом командой
mount /mnt/sda1 /dev/sda1
перестал монтироваться, все равно не мог определить тип файловой системы, хотя GParted и встроенная программа gnome-disks прекрасно определяет файловую систему так работает:
mount /mnt/sda1 /dev/sda1 -t ext4

sap78
()
Последнее исправление: sap78 (всего исправлений: 1)
Ответ на: комментарий от sap78

на btrfs переходи, одна команда и все починил

btrfs rescue super-recover -v /dev/sdb1
sap78
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.