Murz 12.12.2011 01:10
Есть проблема! — Восстановление raid1 после перезаписи superblock
На компе успешно работал mdadm-диск raid1 /dev/md1 с дисками /dev/sda5 и /dev/sdb5 (фс - ext3).Второй раздел /dev/sdb5 я временно удалил по производственным нуждам, т.е. диск остался успешно работать с одним диском /dev/sda5. Но при каждой загрузке /dev/md1 стал ругаться что нехватает диска, поэтому мои длинные ручёнки полезли это чинить ;(
Я пытался сгоряча это починить - сделать второй диск как failed, но второпях не подумав накосячил — остановил /dev/md1 (mdadm -S /dev/md1) и вместо --assemble сделал --create, т.е. создал поверх старого /dev/md1 новый диск, в надеждах что увижу там старую файловую систему, но это не помогло.
Теперь стоит задача вытащить данные со старого /dev/md1, т.к. там лежат очень важные данные. Подскажите плиз каким образом это можно сделать?
По-идее должно что-то сработать вот такой командой:
Ещё заметил момент - по-дефалту на старом был видимо 0.90 суперблок, а на новом 1.2. Я попробовал очистить суперблок --zero-superblock в надеждах что он очистит 1.2 версию и увидит старую 0.90, но финт ушами не прошёл и я совсем расстроился ;(
Ситуация сейчас, как я вижу, такая:
1. Что-то живое осталось только на /dev/sda5, потому что /dev/sdb5 уже перезаписывался другими данными, поэтому возиться остаётся только с ним, но учитывая что это было зеркало, все данные должны остаться.
2. После пересоздания раздела никакую fs я не создавал поверх (просто попытался подмонтировать), поэтому по-идее старая fs должна быть там ещё жива.
3. mdadm после --create скорее всего потёр старый 0.90 суперблок, а после --zero-superblock ещё и новый 1.2 суперблок, поэтому инфы о старом raid1 видимо вообще никакой не осталось.
4. Данные ext3 должны где-то на диске быть в живом виде, если только 1.2 суперблок их не потёр.
Вопрос в следующем: что сейчас можно предпринять для восстановления данных с /dev/sda5?
Варианты:
1. Создать поверх заново raid1 с супеблоком 0.90 и попробовать восстановить файловую систему через fsck, dump2fs или ещё какие тулзы.
2. Создать поверх заново raid1 с супеблоком 1.2 и попробовать восстановить систему через testdisk или какие другие тулзы по восстановлению.
3. Попробовать через testdisk или другие тулзы по восстановлению откопать файловую систему на raid1-разделе /dev/sda5 без создания нового raid1.
4. Ещё какие-то варианты?
Подскажите каким путём мне пойти чтобы окончательно не запороть данные и как их всё же лучше попытаться восстановить?
UPD: Решено:
Вобщем из огромного количества вариантов решения, предложенных в комментариях было сложно выбрать, поэтому пришлось проявлять творчество самому:
Попробовал подмонтировать раздел без md-рейда - не прокатило, при монтировании говорит что нет файловой системы. Вомзожно из-за того что суперблок у mdraid metadata 0.90 версии находится в конце, а у 1.2 - в начале, а я как раз перезаписал 1.2 версии.
Затем собрал рейд через команду
- монтироваться тоже отказалась.
Но я запустил fsck /dev/md1, она долго сканила, нашла довольно много ошибок, но всё же восстановила вроде как всё - все файлы живы, хотя может часть и посыпалась.
Так что проблема решена, надеюсь этот пост поможет ещё кому-нибудь её решить.
NickNill 14.12.2011 21:09 #
+ 0 -
как вижу тут не много мнений) самое главное - сделать dd на другой диск, а там можно играться как угодно) удачи!