пятница, 3 апреля 2009 г.
Спасение RAID5 в Linux или восстановление mdadm на другой машине
взято от сюда http://uragana.ru/2009/04/rescue-raid-lvm думаю всем бдует полезно
Сегодня на работе сдох сервер. Без признаков жизни и включения. А на нем важная информация.
Не срочная, но важная. Главня проблема в том что нужные файлы были на рэйде (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 суток.
Это уже не нормально, да и диск начал слышно стучать. Понятно. Пора ему на свалку.
Подписаться на:
Комментарии к сообщению (Atom)
2 комментария:
привет! это моя статья, мне приятно что вы разместили ее у себя, но если не сложно - исправьте ссылку на оригинал - http://uragana.ru/2009/04/rescue-raid-lvm/ (как и на опеннете в конце статьи). спасибо
статья старая, но до сих пор описанное действенно - пошло восстановление RAID5 из 4 дисков.
Отправить комментарий