The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Спасение RAID5 в Linux или восстановление mdadm на другой машине
Сегодня на работе сдох сервер. Без признаков жизни и включения. А на нем важная информация. 
Не срочная, но важная. Главня проблема в том что нужные файлы были на рэйде
(mdadm), да еще и на LVM.
Расскажу, как спасал информацию...

Отключаю диски, достаю, кладу на стол. Сервер отвожу в ремонт. И начинаю реанимировать диски. 
А схема там такая - из 3-х 400 гигабайтных дисков собран RAID5 в mdadm, 
поверх рэйда - LVM, на LVM - файловая система XFS.

Подключаю все диски к рабочему компьютеру, пытаюсь загрузиться со своего
рабочего диска - не грузится.
Некогда разбираться - пробую грузится с live-cd с Ubuntu. Загрузилось! 

Начинается самое интересное:

N.B. - все операции проводились под root, поэтому нужно в консоли сделать sudo su

1) Поскольку диски sata - открываем консоль и смотрим, что нашлось (ненужные строчки пропущены):

   root@ubuntu:/home/ubuntu# dmesg | grep sd
   [ 40.566532] sd 2:0:0:0: [sda] 488397168 512-byte hardware sectors (250059 MB)
   [ 40.592220] sd 2:0:1:0: [sdb] 781422768 512-byte hardware sectors (400088 MB)
   [ 40.611879] sd 3:0:0:0: [sdc] 781422768 512-byte hardware sectors (400088 MB)
   [ 40.635162] sd 3:0:1:0: [sdd] 781422768 512-byte hardware sectors (400088 MB)
   root@ubuntu:/home/ubuntu#

ага. есть 4 диска - 1 диск sda-250GB - это рабочий, остальные (sdb,sdc,sdd) - части рэйда.

2) В live-cd Ubuntu нет ни mdadm, ни lvm. Исправим это. Настраиваем сеть, и выполняем в терминале:

   root@ubuntu:/home/ubuntu# apt-get update && apt-get install mdadm lvm2

Установилось. Хорошо, едем дальше.

3) Пытаемся пересобрать RAID в автоматическом режиме:

   root@ubuntu:/home/ubuntu# mdadm --assemble --scan
   mdadm: /dev/md0 has been started with 2 drives (out of 3) and 1 spare.

   root@ubuntu:/home/ubuntu# cat /proc/mdstat
   Personalities : [raid6] [raid5] [raid4]
   md0 : active raid5 sdc1[0] sdd1[1]
   781417472 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
   unused devices:

Видим что массив нашелся, но сломанный - один диск отвалился.
Игнорируем, потому что рэйд пятого уровня - позволяет сохранить данные при поломке одного диска. 
Массив нашелся, поднялся. Двигаемся дальше.

4) Поднимаем LVM:

Загружаем модуль

   root@ubuntu:/home/ubuntu# modprobe dm-mod

Активируем LVM:

   root@ubuntu:/home/ubuntu# vgchange -a y
   1 logical volume(s) in volume group "files" now active

Проверяем какие logical volumes у нас есть:

   root@ubuntu:/home/ubuntu# lvscan
   ACTIVE '/dev/files/filesrv' [700,00 GB] inherit

видим один раздел - /dev/files/filesrv на 700 гигов.

Создаем точку монтирования и монтируем раздел:

   root@ubuntu:/home/ubuntu# mkdir /files
   root@ubuntu:/home/ubuntu# mount /dev/files/filesrv /files

Смотрим что получилось:

   root@ubuntu:/home/ubuntu# ls -lh /files/
   total 20K
   drwxrwxrwx 79 root root 8,0K 2009-03-30 06:24 other
   drwxrwxrwx 15 root root 4,0K 2008-12-08 05:55 public
   drwxrwxrwt 7 1000 1000 76 2009-04-02 10:33 vmdata
   drwxrwxrwx 5 1000 1000 47 2009-02-20 10:22 webfiles

Ура! Все файлы видны и доступны!
Теперь можно скопировать их на рабочий диск:

   root@ubuntu:/home/ubuntu# mkdir /workhdd
   root@ubuntu:/home/ubuntu# mount /dev/sda4 /workhdd
   root@ubuntu:/home/ubuntu# cp -r /files/vmdata /workhdd/

или через ssh на другой сервер:

   root@ubuntu:/home/ubuntu# scp -r /files/vmdata root@192.168.1.6:/files/

После того как все скопировалось - можно заняться восстановлением RAID. Проверяем еще раз статус:

   root@ubuntu:/home/ubuntu# cp -r /files/vmdata/
   root@ubuntu:/home/ubuntu# cat /proc/mdstat
   Personalities : [raid6] [raid5] [raid4]
   md0 : active raid5 sdc1[0] sdd1[1]
   781417472 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
   unused devices:

видим что в RAID сейчас два диска - sdc и sdd. Недостающий диск - sdb.
Добавим его:

   root@ubuntu:/home/ubuntu# mdadm /dev/md0 --re-add /dev/sdb1
   mdadm: re-added /dev/sdb1

Диск добавился. Следим за его пересборкой:

   root@ubuntu:/home/ubuntu# cat /proc/mdstat
   Personalities : [raid6] [raid5] [raid4]
   md0 : active raid5 sdb1[3] sdc1[0] sdd1[1]
   781417472 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
   [>....................] recovery = 0.0% (95748/390708736) finish=3261.8min speed=1994K/sec

Прогрессбар движется, до окончания пересборки осталось 3261 минута, то есть больше 2 суток. 
Это уже не нормально, да и диск начал слышно стучать. Понятно. Пора ему на свалку.

Дополнение: чтобы ребилд быстрее проходил, убираем лимит скорости фонового перестроения:

echo 200000 > /proc/sys/dev/raid/speed_limit_min
echo 200000 > /proc/sys/dev/raid/speed_limit_max

200000 - это пропускная спосбность в Кб, по умолчанию speed_limit_min = 1000
 
02.04.2009 , Автор: petrov.pash
Ключи: linux, repair, crash, raid, lvm, mdadm, raid5, disk / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Диски и файлы / RAID массивы

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, vitek, 18:12, 02/04/2009 [ответить] [смотреть все]
  • +/
    всё нормально... вот вместо sudo su лучше sudo -s
    просто коробит слегка. :-)
     
     
  • 2.10, aim, 01:38, 03/04/2009 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    либо sudo -i
     
  • 1.2, Анонимус, 19:05, 02/04/2009 [ответить] [смотреть все]
  • +/
    Да, нормальнеее не бывает, не брать же настоящий дистрибутив в котором все есть для восстановления (Fedora например), а то пацаны не поймут. Особенно если и сетевуха подгорела, никак не обновиться а время капает, миллионы из за потери работоспособности сервера утекают. Убунта - все лучшее рядом! А если не все - ну и пофиг, она по любому лучшая. Потому что.
     
     
  • 2.5, petrov.pash, 20:43, 02/04/2009 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    ну это когда дистрибутив под рукой есть - то можно и взять специализированный, а... весь текст скрыт [показать] [показать ветку]
     
  • 2.6, User294, 20:49, 02/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А что, федора где-то позиционируется как крутая энтерпрайзная ось на которой мож... весь текст скрыт [показать] [показать ветку]
     
  • 2.9, vitek, 23:55, 02/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Fedora миллионы из за потери настоящий дистрибутив ну-ну уволить... весь текст скрыт [показать] [показать ветку]
     
  • 2.16, Аноним, 11:36, 03/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ох уже эти молодые линуксойды :)
     
     
  • 3.17, ozzman, 12:01, 03/04/2009 [^] [ответить] [смотреть все]  
  • +/
    помню как восстанавливали RAID на винде после сбоя Винда не подключает винты ... весь текст скрыт [показать]
     
  • 1.3, iZEN, 20:20, 02/04/2009 [ответить] [смотреть все]  
  • +/
    А из-за чего сервер сдох?
     
     
  • 2.4, petrov.pash, 20:41, 02/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    да кто его знает тупо не включается кнопка питания результата не дает некогда... весь текст скрыт [показать] [показать ветку]
     
  • 1.7, bill, 21:51, 02/04/2009 [ответить] [смотреть все]  
  • +/
    > А что, федора где-то позиционируется как крутая энтерпрайзная ось на которой можно делать что-то ответственное?Ох уж эти фанаты :)

    В федоре mdadm lvm2 и прочее есть изначально. Ничего скачивать и доставлять не надо.
      

     
     
  • 2.8, docent, 22:54, 02/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    я рад за федору кому что нравится, тот то и использует в статье описывается, как... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.11, 6APuH, 08:18, 03/04/2009 [^] [ответить] [смотреть все]  
  • +/
    в статье описывается, как восстанавливать RAID, а не какой дстр круче вот вот... весь текст скрыт [показать]
     
  • 3.12, bill, 09:32, 03/04/2009 [^] [ответить] [смотреть все]  
  • +/
    Про крутость дистров рассуждать начали вы. Я про это не говорил.
     
  • 1.13, rm, 11:01, 03/04/2009 [ответить] [смотреть все]  
  • +/
    вопрос зачем копировать инфу на рабочий винт а потом повторно восстанавливать рейд? не проще сразу вставить винт и восстанавливать? не совсем понял ...
     
  • 1.14, Ivan, 11:19, 03/04/2009 [ответить] [смотреть все]  
  • +/
    Наверное, не
    cp -r /source /destination,

    а
    cp -rp /source /destination, чтоб права на файлы и прочие атрибуты сохранить ?

     
     
  • 2.15, Аноним, 11:35, 03/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    лучше cp -a  /source /destination
     
     
  • 3.31, thealexis, 18:21, 06/04/2009 [^] [ответить] [смотреть все]  
  • +/
    или tar cvf - source | ( cd /destination && tar xvf - )


     
  • 1.18, rm, 12:15, 03/04/2009 [ответить] [смотреть все]  
  • +/
    да не в этом вопрос нафига вообще копировать? на то он и рейд вставил винт в массив он все восстановил? разве нет?
     
     
  • 2.19, bogus, 13:28, 03/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    и пока он востанавливался накрылся еще один винт, и... ?
     
     
  • 3.20, rm, 15:06, 03/04/2009 [^] [ответить] [смотреть все]  
  • +/
    а почему он вдруг должен накрыться нет если копировать ради бекапа на совесем ... весь текст скрыт [показать]
     
     
  • 4.22, vitek, 19:24, 03/04/2009 [^] [ответить] [смотреть все]  
  • +/
    а почему вдруг должен появиться под рукой новый винт его ещё купить надо да ещ... весь текст скрыт [показать]
     
  • 1.21, Аноним, 15:54, 03/04/2009 [ответить] [смотреть все]  
  • +/
    а чтобы ребилд быстрее проходил, добовляем в sysctl conf dev raid speed_limit_mi... весь текст скрыт [показать]
     
  • 1.23, не скажу, 21:03, 03/04/2009 [ответить] [смотреть все]  
  • +/
    Кто-то реально использует такой (программный) рейд для хранения важных данных? Жаль, очень жаль...
     
     
  • 2.25, vitek, 12:42, 04/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    и чего жаль Вы так уверены в аппаратных рейдах вот это действительно жаль соф... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.26, docent, 18:22, 04/04/2009 [^] [ответить] [смотреть все]  
  • +/
    не просто отлично, а суперски у меня на софтовых рейдах кластер собран с помощью... весь текст скрыт [показать]
     
     
  • 4.27, rstone, 21:16, 04/04/2009 [^] [ответить] [смотреть все]  
  • +/
    HP EVA 4200 стоит где то 40-50 килобаков
    И , кстати , не фонтан .


     
  • 2.28, анонимус, 15:08, 05/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    вы видимо не работали с несколькмими тысячами серверов в нескольких территориаль... весь текст скрыт [показать] [показать ветку]
     
  • 2.32, User294, 00:03, 07/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >Кто-то реально использует такой (программный) рейд для хранения важных данных? Жаль, очень
    >жаль...

    Вспомнив про придуманные фидошниками аксиомы насчет CD-ROM (дисков и приводов) захотелось сказать то же самое про RAID :)

    Аксиома 1 - "дисковая": дохнут любые диски.Даже крутые и дорогие.
    Аксиома 2 - "рэйдовая": глючат и гробят данные любые рэйды.Даже очень крутые и дорогие.

    Следствие: сколько бы вы ни заплатили за железо, спокойный сон возможен только при наличии свежих работоспособных бэкапов :P

     
  • 2.36, alexxx, 22:37, 08/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не поверите, но в случае проблем линуксовый рейд восстановить плевое дело, часто... весь текст скрыт [показать] [показать ветку]
     
  • 1.24, Alive, 22:07, 03/04/2009 [ответить] [смотреть все]  
  • +/
    Даже не знаю, что лучше в плане страха за сохранность данных - вот такой софтовый, или аппаратный, но со сгоревшим контроллером, и новый такой где взять - не известно.
     
     
  • 2.29, zettich, 10:33, 06/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Было один раз, Adaptec SATA RAID 21610SA слетел на очень важной машинке, машинка... весь текст скрыт [показать] [показать ветку]
     
  • 2.30, zettich, 10:37, 06/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Либо иметь запасной контроллер! Хотя это начинают понимать только тогда, когда с этим столкнутся, да и с потерей данных (соотв. потерей денег). Обычно после этого и деньги на контроллеры появляются, и на серверы для бэкапов.

    P.S: После таких вот случаев имею в парке 2 машинки, которые каждую ночь копируют на себя 1 Тб бэкапов с инкрементами, машинки в пике пишут данные со скоростью 250 Мб/сек и при этом на логическом устройстве наблюдается до 3000 TPS-ов.

     
  • 1.33, Аноним, 12:39, 08/04/2009 [ответить] [смотреть все]  
  • +/
    Автор, у меня RAID, 2 диска по 80 гигабайта видны как 1 Работает, но я повредил... весь текст скрыт [показать]
     
     
  • 2.34, Аноним, 12:51, 08/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В смысле, два по 80 гигабайт и видны как 1 в 160 гигаьайт, не помню как называет... весь текст скрыт [показать] [показать ветку]
     
  • 2.35, alexxx, 15:13, 08/04/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >Автор, у меня RAID, 2 диска по 80 гигабайта видны как 1.
    >Работает, но я повредил файловую систему. Восстанавливать буду из Linux, Windows
    >только будет повреждать и портить данные, а пофиксить надо лишь таблицу
    >разделов. Для Linux 2.6 драйвера ITE Raid нет, только для 2.4.
    >Сразу после последнего байта первого диска идёт первый байт второго. Вопрос:
    >как сделать dd этих устройств в 1 файл, одной командой, объединить?
    >Чтобы dd продолжал писАть в тот же файл со второго устройства.
    >Тогда стану восстанавливать...

    как то так:
    dd if=/dev/mdx of=<кудато>

     
     
  • 3.37, andyS, 12:52, 01/07/2009 [^] [ответить] [смотреть все]  
  • +/
    Не пробовал под Линуксом, но когда надо было востановить виндозовский РАИД-5 пришлось лететь в Москву!

    А то наши рижские "спецы" из фирмы Jet взяли деньги за восстановление 3-го умершего винта, который все равно не восстановился как надо.

    А специальные программки для восстановление РАЙДА почемуто не собирали РАЙД по живым двум винтам как надо.

    Статья очень полезная, громадное спасибо автору.

     
     
  • 4.38, ktulhu, 14:56, 04/09/2009 [^] [ответить] [смотреть все]  
  • +1 +/
    вообще-то поломка у автора пустяковая, а если бы разрушилась структура raid? если есть возможность, ВСЕГДА нужно делать посекторные копии дисков и уже с копиями ставить опыты.


     
  • 1.39, Нубос, 17:16, 12/09/2011 [ответить] [смотреть все]  
  • +/
    +1 к последнему высказыванию. Статья ни о чем.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor