Создание программного RAID массива в Ubuntu Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:программный_raid [2010/01/31 13:32]
wiki:программный_raid [2014/12/03 16:42] (текущий)
Строка 50: Строка 50:
 </​file>​ </​file>​
  
-Если вы хотите сразу же создать массив с отсутствующим диском (degrated), просто укажите вместо имени устройства слово ''​missing''​. Учтите,​ что в RAID-5 может быть не более одного отсутствующего диска, в RAID-6 - не более двух, а в RAID-1 должен быть хотя бы один рабочий.+Если вы хотите сразу же создать массив с отсутствующим диском (degraded), просто укажите вместо имени устройства слово ''​missing''​. Учтите,​ что в RAID-5 может быть не более одного отсутствующего диска, в RAID-6 - не более двух, а в RAID-1 должен быть хотя бы один рабочий.
  
-//To be continued...//​+//To be continued...// ​FIXME
  
-===== Устранение возникающих проблем =====+===== Изменение конфигурационного файла ===== 
 + 
 +Если вам вдруг потребуется после создания массива производить какие-нибудь операции с его блочным устройством,​ которые изменят UUID, то обязательно необходимо изменить конфигурационный файл ''/​etc/​mdadm/​mdadm.conf''​. 
 + 
 +Например такими операциями может быть форматирование или создание группы томов LVM поверх массива. В любом случае когда вы вносите какие-нибудь правки на уровне разметки в массив лучше проверьте,​ что конфигурационный файл соответствует реальной конфигурации. 
 + 
 +Для получения текущей работающей конфигурации выполните 
 + 
 +  sudo mdadm --detail --scan 
 + 
 +Эта команда выведет по строчке конфигурации для каждого массива. Именно такие строчки должны быть записаны в файле ''/​etc/​mdadm/​mdadm.conf''​ за исключением того, что в строчках в файле не должно быть параметра ''​metadata''​. 
 + 
 +Если реальная конфигурация не совпадает с той, которая записана в ''/​etc/​mdadm/​mdadm.conf'',​ то обязательно приведите этот файл в соответствие с реальной конфигурацией до перезагрузки,​ иначе в следующий раз массив не запустится.  
 + 
 +===== Работа с программным RAID с LiveCD ===== 
 + 
 +LiveCD диски Ubuntu по умолчанию не включают в себя утилиту mdadm, поэтому чтобы работать с RAID массивами с LiveCD вам необходимо сначала её установить:​ 
 + 
 +  sudo apt-get install mdadm 
 + 
 +После этого нужно запустить все ваши массивы,​ сделать это можно командой 
 + 
 +  sudo mdadm --assemble --scan 
 +  
 +Проверить статус массивов можно как всегда с помощью файла ''/​proc/​mdstat'':​ 
 + 
 +  cat /​proc/​mdstat ​  
 + 
 +===== Устранение возникающих проблем ​и восстановление массивов ​=====
  
 ==== Массив внезапно перешёл в состояние inactive ==== ==== Массив внезапно перешёл в состояние inactive ====
Строка 82: Строка 110:
  
   sudo mount -a   sudo mount -a
 +
 +==== Критическая фатальная ошибка при полной работоспособности винчестеров ====
 +
 +Как бы мы не надеялись на технологию RAID, 100% гарантии она, увы, не даёт. Иногда случаются критические невосстановимые сбои. Например,​ когда //​одновременно//​ вылетают 2 винчестера из RAID-5 массива. Это приводит к полной неработоспособности массива и с первого взгляда к невозможности его восстановить.
 +
 +Если случилась такая беда, то:
 +
 +  -- В первую очередь посмотрите состояние **всех** компонент массива командой
 +  .. <​code>​sudo mdadm -E /​dev/​sdc1</​code>​
 +  .. Вместо ''​sdc1''​ нужно поочерёдно поставить все компоненты. Обратите особое внимание на последний блок каждого вывода,​ вот, например,​ как выглядел один из выводов у меня:
 +  .. <​file>​
 +# mdadm -E /dev/sdc1
 +/dev/sdc1:
 +          Magic : a92b4efc
 +        Version : 00.90.00
 +           UUID : 22de433d:​78efb608:​be909337:​4a7ae5f9 (local to host malamut-desktop)
 +  Creation Time : Tue Jan  5 21:26:49 2010
 +     Raid Level : raid5
 +  Used Dev Size : 732571904 (698.64 GiB 750.15 GB)
 +     Array Size : 2197715712 (2095.91 GiB 2250.46 GB)
 +   Raid Devices : 4
 +  Total Devices : 4
 +Preferred Minor : 0
 +
 +    Update Time : Mon May 17 23:07:51 2010
 +          State : clean
 + ​Active Devices : 4
 +Working Devices : 4
 + ​Failed Devices : 0
 +  Spare Devices : 0
 +       ​Checksum : 10e9baf9 - correct
 +         ​Events : 154438
 +
 +         ​Layout : left-symmetric
 +     Chunk Size : 64K
 +
 +      Number ​  ​Major ​  ​Minor ​  ​RaidDevice State
 +this     ​0 ​      ​8 ​      ​33 ​       0      active sync   /​dev/​sdc1
 +
 +   ​0 ​    ​0 ​      ​8 ​      ​33 ​       0      active sync   /​dev/​sdc1
 +   ​1 ​    ​1 ​      ​8 ​      ​17 ​       1      active sync   /​dev/​sdb1
 +   ​2 ​    ​2 ​      ​8 ​      ​49 ​       2      active sync   /​dev/​sdd1
 +   ​3 ​    ​3 ​      ​8 ​      ​65 ​       3      active sync   /​dev/​sde1
 +</​file>​
 +  .. Тут вроде всё нормально,​ а вот тут уже нет:
 +  .. <​file>​
 +# mdadm -E /dev/sde1
 +/dev/sde1:
 +          Magic : a92b4efc
 +        Version : 00.90.00
 +           UUID : 22de433d:​78efb608:​be909337:​4a7ae5f9 (local to host malamut-desktop)
 +  Creation Time : Tue Jan  5 21:26:49 2010
 +     Raid Level : raid5
 +  Used Dev Size : 732571904 (698.64 GiB 750.15 GB)
 +     Array Size : 2197715712 (2095.91 GiB 2250.46 GB)
 +   Raid Devices : 4
 +  Total Devices : 4
 +Preferred Minor : 0
 +
 +    Update Time : Mon May 17 23:26:35 2010
 +          State : clean
 + ​Active Devices : 2
 +Working Devices : 2
 + ​Failed Devices : 1
 +  Spare Devices : 0
 +       ​Checksum : 10e9bfab - correct
 +         ​Events : 154447
 +
 +         ​Layout : left-symmetric
 +     Chunk Size : 64K
 +
 +      Number ​  ​Major ​  ​Minor ​  ​RaidDevice State
 +this     ​3 ​      ​8 ​      ​65 ​       3      active sync   /​dev/​sde1
 +
 +   ​0 ​    ​0 ​      ​0 ​       0        0      removed
 +   ​1 ​    ​1 ​      ​8 ​      ​17 ​       1      active sync   /​dev/​sdb1
 +   ​2 ​    ​2 ​      ​0 ​       0        2      faulty removed
 +   ​3 ​    ​3 ​      ​8 ​      ​65 ​       3      active sync   /​dev/​sde1
 +</​file>​
 +  .. Собственно тут вас должен интересовать порядок следования компонент. В моём случае его можно "​выцепить"​ из первого вывода и он выглядит так:
 +  .. <​code>​sdc1 sdb1 sdd1 sde1</​code>​
 +  - Во вторую проверьте состояние SMART винчестеров и прогоните тесты поверхности. Важно убедиться,​ что физически винчестеры живы и нет никаких ошибок чтения. Если это не так, то дело дрянь. Протестировать винчестеры можно с помощью Дисковой утилиты,​ доступной в Ubuntu. ​  
 +  -- Теперь попробуйте собрать массив как описано в предыдущем параграфе. У меня не получилось:​
 +  .. <​file>​
 +# mdadm --assemble --scan
 +mdadm: /dev/md0 assembled from 2 drives - not enough to start the array
 +</​file>​
 +  .. Как видно, у меня mdadm считал,​ что есть только 2 рабочих компоненты массива,​ а изначально их было 4. И для работы необходимо иметь 3, поскольку у меня был RAID-5.
 + 
 +Итак, вы убедились,​ что возникла непоправимая ошибка mdadm, что при этом диски в порядке и в автоматическом режиме массив обратно не собрать. Что дальше?​
 +
 +Дальше - действовать на свой страх и риск! Собственно всё, что остаётся сделать - это заново создать массив поверх старого.
 +
 +<note warning>​Важно не перепутать никаких опций и не изменять порядок дисков!</​note>​
 +
 +Самое главное - указать диски в той же последовательности,​ что и при первичном создании массива. Я эту последовательность выцепил из вывода команды
 +
 +  mdadm -E /dev/sdc1
 + 
 +Итак, пересоздаём массив:​
 +
 +<​file>​
 +# mdadm --create --verbose /dev/md0 --assume-clean --level=raid5 --raid-devices=4 --spare-devices=0 /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1
 +mdadm: layout defaults to left-symmetric
 +mdadm: chunk size defaults to 64K
 +mdadm: /dev/sdc1 appears to contain an ext2fs file system
 +    size=-2097251584K ​ mtime=Mon May 17 19:33:06 2010
 +mdadm: /dev/sdc1 appears to be part of a raid array:
 +    level=raid5 devices=4 ctime=Tue Jan  5 21:26:49 2010
 +mdadm: /dev/sdb1 appears to be part of a raid array:
 +    level=raid5 devices=4 ctime=Tue Jan  5 21:26:49 2010
 +mdadm: /dev/sdd1 appears to be part of a raid array:
 +    level=raid5 devices=4 ctime=Tue Jan  5 21:26:49 2010
 +mdadm: /dev/sde1 appears to contain an ext2fs file system
 +    size=-1828816128K ​ mtime=Mon May 17 19:33:03 2010
 +mdadm: /dev/sde1 appears to be part of a raid array:
 +    level=raid5 devices=4 ctime=Tue Jan  5 21:26:49 2010
 +mdadm: size set to 732571904K
 +Continue creating array? ​
 +Continue creating array? (y/n) y
 +mdadm: array /dev/md0 started.
 +</​file>​
 +
 +Если всё прошло успешно - ваш массив безо всяких ошибок запустится и вам останется только смонтировать его содержимое. Если не успешно - то увы, придётся вам нести диски в фирму восстановления данных.
 +
 +
 +==== Смотрите также ====
 +
 +  * [[migrate-to-raid|Перевод системного раздела на RAID.]]
 +
  
  
-{{tag>​FIXME mdadm RAID HOWTO}}+{{tag>​FIXME mdadm RAID HOWTO Администрирование Server Linux_на_предприятии}}