LINUX.ORG.RU
решено ФорумAdmin

Помогите вытащить данные из RAID5

 


0

4

Здравствуйте.

Оговорюсь сразу: до сих пор дел с софт-рейдами не имел, сервер достался в наследство от предыдущего админа.

Умер программный рейд - отвалились первые два диска из четырех... Опыта нет, начальство гневается, пришлось срочно нагугливать знания и тут же их применять... В общем, кривыми руками сделал только хуже, но восстановил массив, и тот отсинхронился. Но система грузиться не желает, поскольку указанной прямоты руками я убил grub. В итоге новоустановленный (на еще один винт) дебиан видит массив, но примонтировать его никуда не может, поскольку «На диске /dev/md0 отсутствует верная таблица разделов». Мольба о помощи: пожалуйста, помогите вытащить данные!

Ответ на: комментарий от roman77

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 когда смотрел на развалившийся массив, sdd1 был spare, теперь он active

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

Ну теперь у тебя новый чистый массив на месте старого (--create).
Отваленные диски надо было возвращать на место ключиком --re-add, если они действительно просто выпали (???) из массива.

Lavos ★★★★★
()
Ответ на: комментарий от Lavos
# fdisk -l /dev/md0

Disk /dev/md0: 1499.9 GB, 1499912994816 bytes
2 heads, 4 sectors/track, 366189696 cylinders, всего 2929517568 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 1572864 bytes
Disk identifier: 0x00000000

На диске /dev/md0 отсутствует верная таблица разделов
Mortgoroth
() автор топика
Ответ на: комментарий от Kiborg

скажем так, я не знаю, что там было изначально, может, один массив на 4 винта, а может, и два по два (на пятом рейде???), но то, что я увидел, когда умер массив - это

missed 
missed 
/dev/sdc1 active sync 
/dev/sdd2 spare

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

RAID 5 разве переживает отказ двух дисков?

Не поддерживает. ТС, суши вёсла

xorik ★★★★★
()

Что было неизвестно, что сделал непонятно. Восстановление встанет от 30 тыр, разумеется без гарантии и скорее всего восстанавливать там уже нечего.

handbrake ★★★
()

а как вобще довел систему что 2 диска вылетело? выдергивал их по очереди из sata?

у тебя крайне мало шансов всё починить.

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

Вероятно уже ничего не сделать, восстанавливай данные из бэкапа.

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

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

Вообще-то есть вероятность, что выпавшие диски можно восстановить, и восстановить данные, судя по всему, можно теперь ТОЛЬКО в этом случае. Своими силами восстановить диски можно только в случае, если это Seagate серии 7200.11 с «мухой CC», но я думал что они уже вымерли все (хотя буквально около года назад один такой диск восстановил). Если это твой случай, то тебе ОЧЕНЬ повезло, если нет, то нет и данных.

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

:\

В общем, кривыми руками сделал только хуже, но восстановил массив, и тот отсинхронился.

Но, по действиям товарища, скорее есть вероятность, что он что-то другое синкнул, соседний сервер, например.

handbrake ★★★
()
Последнее исправление: handbrake (всего исправлений: 2)
Ответ на: комментарий от handbrake
/dev/md0:
        Version : 1.2
  Creation Time : Mon Oct  6 20:10:53 2014
     Raid Level : raid5
     Array Size : 1464758784 (1396.90 GiB 1499.91 GB)
  Used Dev Size : 488252928 (465.63 GiB 499.97 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Tue Oct  7 01:19:21 2014
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : debian:0
           UUID : 651658ab:3ecac2ee:09dcfc34:10a48221
         Events : 20

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       4       8       65        3      active sync   /dev/sde1
Personalities : [raid6] [raid5] [raid4]
md0 : active (auto-read-only) raid5 sdb1[0] sde1[4] sdd1[2] sdc1[1]
      1464758784 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

unused devices: <none>
/dev/sdb1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 651658ab:3ecac2ee:09dcfc34:10a48221
           Name : debian:0
  Creation Time : Mon Oct  6 20:10:53 2014
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 976506880 (465.63 GiB 499.97 GB)
     Array Size : 1464758784 (1396.90 GiB 1499.91 GB)
  Used Dev Size : 976505856 (465.63 GiB 499.97 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 92a82c43:525ae332:e823f876:a6ef869a

    Update Time : Tue Oct  7 01:19:21 2014
       Checksum : d783ac6c - correct
         Events : 20

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAAA ('A' == active, '.' == missing)
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 651658ab:3ecac2ee:09dcfc34:10a48221
           Name : debian:0
  Creation Time : Mon Oct  6 20:10:53 2014
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 976506880 (465.63 GiB 499.97 GB)
     Array Size : 1464758784 (1396.90 GiB 1499.91 GB)
  Used Dev Size : 976505856 (465.63 GiB 499.97 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 93bd9093:c1f2e81d:ff7e0379:e590f191

    Update Time : Tue Oct  7 01:19:21 2014
       Checksum : c635634 - correct
         Events : 20

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAAA ('A' == active, '.' == missing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 651658ab:3ecac2ee:09dcfc34:10a48221
           Name : debian:0
  Creation Time : Mon Oct  6 20:10:53 2014
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 976506880 (465.63 GiB 499.97 GB)
     Array Size : 1464758784 (1396.90 GiB 1499.91 GB)
  Used Dev Size : 976505856 (465.63 GiB 499.97 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 0a584687:459e2552:812c1c00:0a3b3df0

    Update Time : Tue Oct  7 01:19:21 2014
       Checksum : 19b9f3d7 - correct
         Events : 20

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAA ('A' == active, '.' == missing)
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 651658ab:3ecac2ee:09dcfc34:10a48221
           Name : debian:0
  Creation Time : Mon Oct  6 20:10:53 2014
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 976510941 (465.64 GiB 499.97 GB)
     Array Size : 1464758784 (1396.90 GiB 1499.91 GB)
  Used Dev Size : 976505856 (465.63 GiB 499.97 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 6c044550:4f87f1d5:5a3b02fe:a87187a4

    Update Time : Tue Oct  7 01:19:21 2014
       Checksum : 18b4de9a - correct
         Events : 20

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AAAA ('A' == active, '.' == missing)
~# fdisk -l /dev/sdb

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, всего 976773168 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5c0bc65e

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1            2048   976771071   488384512   fd  Автоопределение Linux raid
~# fdisk -l /dev/sdc

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, всего 976773168 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9638f6af

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc1            2048   976771071   488384512   fd  Автоопределение Linux raid
~# fdisk -l /dev/sdd

Disk /dev/sdd: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, всего 976773168 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00015b06

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1            2048   976771071   488384512   fd  Автоопределение Linux raid
~# fdisk -l /dev/sde

WARNING: GPT (GUID Partition Table) detected on '/dev/sde'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sde: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, всего 976773168 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xfe613af3

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sde1               1   976773167   488386583+  ee  GPT
Partition 1 does not start on physical sector boundary.
Mortgoroth
() автор топика
Ответ на: комментарий от Mortgoroth

что было до этого - не знаю, не лез, пока не прижало...

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

ну тогда усё, можно церемонию прощания с данными устраивать :)

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

Восстановление встанет от 30 тыр, разумеется без гарантии и скорее всего восстанавливать там уже нечего.

Если винты детектятся и стартуют, но на них просто бэды - восстановить часть данных можно. Но вероятность столь успешного положения звезд -> 0.

no-dashi ★★★★★
()

Помогите вытащить данные из RAID5
отвалились первые два диска из четырех

уже ничего не вытащить, и не восстановить НИКАК, на двух оставшихся дисках фарш из мусора, если бы это был рейд десяточка то шансы бы были 50 на 50.

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

Опыта нет, начальство гневается
# fdisk -l /dev/md0
На диске /dev/md0 отсутствует верная таблица разделов

срочно беги увольняться, и пусть нагибают за косят того кто взял тебя без опыта.

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

второй выстрел не контрольный, это вообще кидание трупа в мясорубку.

Вряд ли программы восстановления помогут в такой каше. Если бы не было рейда, то хотя бы можно было попытаться восстановить таблицу разделов, а тут её размазало по нескольки дискам, и вдобавок часть её отвалилась и её переехали катком.

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

любопытно, как?

Собрать массив без суперблока с нужными параметрами. Некоторые блоки не будут читаться, но это «неизбежное зло». Я так вытаскивал данные с развалившегося рейда несколько лет назад. Приятного мало, но в принципе задача решаемая. Проще всего для минимизации геморроя пойти по такому алгоритму:

1. сделать образы всех устройств «блок в блок» (вместо померших блоков пишем нули, в dd есть такая опция) 2. На полученные образы натравливаем losetup 3. Из полученных блочных устройств собираем массив с --assume-clean (можно просто пересоздать с нужными параметрами, главное порядок устройств не перепутать). Нужные параметры достаются из суперблока любого живого компонента массива. И вытаскиваем всё, что достанется (монтируем ФС в read-only и вперед с песнями). Вообще, при всех серьезных проблемах с рейдами, «правило номер ноль» - сделать образы всех устройств блок-в-блок.

no-dashi ★★★★★
()
Ответ на: комментарий от darkenshvein

Я один этот тред _внимательно_ читаю ?
ТС путает create с build, он даже не знает сколько массивов у него, кто его знает, что он мог еще перепутать ? Показатель наличия данных - только редактор диска.
Некоторые особо критичные данные могут стоить затрат, даже при частичном восстановлении.
Но товарищ деятельный, сейчас вероятность успеха уже в отрицательных величинах.

handbrake ★★★
()
Ответ на: комментарий от no-dashi

Это в простом случае. Если не потребуется посекторная сборка рейда руками.

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

Скажите, это везде так? Задан вопрос на тему, в ответ - предложения от устройства церемоний прощания до увольнения и нагибания. Зачем?

Опять-таки, если внимательно почитать шапку, то там вполне по-русски написано, что

до сих пор дел с софт-рейдами не имел, сервер достался в наследство от предыдущего админа.

А если так интересует, как я устроился на работу, то в вакансии не было ничего про администрирование линуксов, и этот сервер был единственным линуховым в конторе. Остальное завёл уже я, и знаю, как оно работает, и чего от всего этого ожидать. Все существующие в конторе рейд-массивы ни разу не софтовые, все работают нормально, все бекапятся отлично.

Но я - дубль три -

до сих пор дел с софт-рейдами не имел

Далее...

ТС путает create с build

да, путаю, поскольку

до сих пор дел с софт-рейдами не имел

и

пришлось срочно нагугливать знания и тут же их применять...

уж простите, когда тебе орут в оба уха сразу, напутать немудрено.

Но товарищ деятельный

Это да, не отнять!

Итог: рейд умер, начальство успокоилось, никто не уволен. Всем ответившим по делу - спасибо!

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

рейд-массивы ни разу не софтовые

т.е. если вывалиться диск из нулевого массива или половина дисков из пятерки ты знаешь что делать

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

печально. А вот теперь представьте себе такого вот врача, к примеру хирурга:

- в вакансии не было ничего написано про то что надо резать. в итоге пациент умер. никто не уволен. здорово, да? побольше бы таких спецов во всех областях.

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

т.е. если вывалиться диск из нулевого массива или половина дисков из пятерки ты знаешь что делать

Читать мы не умеем... я зря про бэкапы написал?

А по поводу всего остального - не надо путать кислое со стеклянным... Я по должности официально «Сотрудник АХО», на деле - эникей, заменятель картриджей в принтерах/копирах и батареек в часах/пультах/полотенцевыдавателях, сисадмин, монтажник скс/видеонаблюдения, починитель шлагбаумов, администратор БД и веб-мастер. За мою зарплату я согласен на всё перечисленное, и от получения нового опыта нос не ворочу. Попробуй предложить хирургу заняться по совместительству проктологией, в перерывах ставить пациентам капельницы, а по ночам для разнообразия на скорой покататься. Какие волшебные буквы кириллицы услышишь в первую очередь? Ага, именно эти!

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

В случае с моим рейдом - начальство слишком громко топало ногами, вот и получило быстрый результат. Успокоилось оно именно после осознания того, что не стоило требовать «вернуть как было прям щас!»

И прошу еще раз! Ради <высшее_существо>, пишите по теме, не нужно лишних философствований! С моей стороны это последний оффтоп.

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

Удивительно слышать адекватного нуба на лоре. vxzvxz, вот, учится человек. Ну попросили «медбрата» сделать операцию на позвоночнике - виноваты вопрошающие.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.