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

Материал из ALT Linux Wiki
м (→‎Установка на RAID+LVM: викифицировал)
(не показано 15 промежуточных версий 11 участников)
Строка 1: Строка 1:
[[Category:Руководства]]
[[Категория:Руководства]]


При установки дистрибутивов ALT Linux (как серверных, так и настольных) вы можете создать [http://ru.wikipedia.org/wiki/RAID RAID-массив] и установить дистрибутив на него. Для этого вам потребуются минимум два одинаковых жёстких диска. В этом руководстве мы покажем создание программного RAID 1 (зеркало) на двух жёстких дисках на примере дистрибутива Школьный Сервер. Создание RAID на других дистрибутивах аналогично.
При установке дистрибутивов ALT Linux (как серверных, так и настольных) вы можете создать [http://ru.wikipedia.org/wiki/RAID RAID-массив] и установить дистрибутив на него. Такой массив позволит вам продолжить работу даже при выходе одного диска из строя.


== Шаг 1. Готовим Разделы для RAID ==
Для создания RAID вам потребуются минимум два одинаковых жёстких диска. В этом руководстве мы покажем создание программного RAID 1 (зеркало) на двух жёстких дисках на примере дистрибутива Школьный Сервер. Создание RAID на других дистрибутивах аналогично.


[[Изображение:Making-raid1.png]]
'''Примечание.'''
Можно создать том RAID1 из одного диска с тем, чтобы в будущем добавить второй том в зеркало. Для этого просто указывайте один раздел для массива на шаге 2. Опция «Деградированный массив» не нужна.


На этапе подготовка диска выберите пункт «Подготовить разделы вручную» и нажмите кнопку «Далее».
'''Примечание.'''
При задействовании дисков с существующими метаданными уже не нужных RAID-массивов (программных, аппаратных и FakeRAID) обратите внимание на необходимость их предварительной [[Installer/problems/MD-RAID-cleanup|зачистки]] в текущих выпусках (вплоть до 8.1).


[[Изображение:Making-raid2.png]]
== Варианты установок ==
 
=== Установка на несколько RAID-томов ===
При установке создаётся несколько разделов на каждом HDD, соответствующие разделы (одинаковые на разных дисках) объединяются в отдельные тома mdX.
 
==== Шаг 1. Готовим разделы для RAID ====
 
[[Файл:Making-raid1.png]]
 
На этапе подготовка диска выберите пункт «Подготовить разделы вручную» и нажмите кнопку «Далее».<br>
Это обязательное условие: если вы выберете другой вариант с опцией ручного изменения, скрипт установки наверняка не сможет правильно установить загрузчик.
 
[[Файл:Making-raid2.png]]


На следующем экране нам необходимо создать одинаковые разделы для RAID на обоих дисках. Для работы системы нам понадобиться два раздела на RAID: подкачка (swap) и корневая файловая система (/). Вы можете создать и другие разделы (например, для /var) способом, приведённым ниже.
На следующем экране нам необходимо создать одинаковые разделы для RAID на обоих дисках. Для работы системы нам понадобиться два раздела на RAID: подкачка (swap) и корневая файловая система (/). Вы можете создать и другие разделы (например, для /var) способом, приведённым ниже.
Строка 16: Строка 30:
Выберите первый жёсткий диск и нажмите кнопку «Создать раздел». Появится следующий диалог:
Выберите первый жёсткий диск и нажмите кнопку «Создать раздел». Появится следующий диалог:


[[Изображение:Making-raid3.png]]
[[Файл:Making-raid3.png]]


Укажите размер раздела (для начала создадим swap размером 502 Мб) и тип раздела укажем «'''Linux RAID'''». Важно указать именно такой тип.
Укажите размер раздела (для начала создадим swap размером 502 Мб) и тип раздела укажем «'''Linux RAID'''». Важно указать именно такой тип.


[[Изображение:Making-raid4.png]]
[[Файл:Making-raid4.png]]


Аналогичным образом создадим ещё три раздела на дисках. При этом разделы на разных дисках должны совпадать по размеру.  
Аналогичным образом создадим ещё три раздела на дисках. При этом разделы на разных дисках должны совпадать по размеру.


== Шаг 2. Создание разделов в массиве RAID ==
==== Шаг 2. Создание массивов RAID ====


Выберите в списке разделов пункт «RAID» и нажмите на кнопку «Создать RAID». Если такой кнопки нет, то вы не создали разделы с типом «Linux RAID».
Выберите в списке разделов пункт «RAID» и нажмите на кнопку «Создать RAID». Если такой кнопки нет, это означает, что вы ещё не создали разделы с типом «Linux RAID».


[[Изображение:Making-raid5.png]]
[[Файл:Making-raid5.png]]


В диалоге создания RAID выберите «MD-устройство уровня RAID1» и нажмите на кнопку OK.
В диалоге создания RAID выберите «MD-устройство уровня RAID1» и нажмите на кнопку OK.


[[Изображение:Making-raid6.png]]
[[Файл:Making-raid6.png]]


Появится диалог указания разделов жёстких дисков для RAID-раздела. По умолчанию выбираются все разделы, поэтому снимите флажки со всех разделов, кроме sda1 и sdb1. Нажмите на кнопку OK.
Появится диалог указания разделов жёстких дисков для RAID-раздела. По умолчанию выбираются все разделы, поэтому снимите флажки со всех разделов, кроме sda1 и sdb1. Нажмите на кнопку OK.


[[Изображение:Making-raid7.png]]
[[Файл:Making-raid7.png]]


Затем будет запрошен тип создаваемой файловой системы. Для swap выберите «Файловая система подкачки (swap) и нажмите на кнопку OK.
Затем будет запрошен тип создаваемой файловой системы. Для swap выберите "Файловая система подкачки (swap) и нажмите на кнопку OK.


[[Изображение:Making-raid8.png]]
[[Файл:Making-raid8.png]]


У нас создан один раздел в массиве RAID (md0). Теперь аналогично создадим второй раздел под корневую файловую систему. Для этого снова выберите пункт «RAID» и нажмите на кнопку «Создать RAID». В появившемся диалоге укажите «MD-устройство уровня RAID1» и нажмите на кнопку OK.
У нас создан один раздел в массиве RAID (md0). Теперь аналогично создадим второй раздел под корневую файловую систему. Для этого снова выберите пункт «RAID» и нажмите на кнопку «Создать RAID». В появившемся диалоге укажите «MD-устройство уровня RAID1» и нажмите на кнопку OK.


[[Изображение:Making-raid9.png]]
[[Файл:Making-raid9.png]]


Так как у нас осталось два необъединённых раздела, просто нажмите на кнопку OK.
Так как у нас осталось два необъединённых раздела, просто нажмите на кнопку OK.


[[Изображение:Making-raid10.png]]
[[Файл:Making-raid10.png]]


Для корневой файловой системы выберите тип «Файловая система Ext2/3» и нажмите на кнопку OK.
Для корневой файловой системы выберите тип «Файловая система Ext2/3» и нажмите на кнопку OK.


[[Изображение:Making-raid11.png]]
[[Файл:Making-raid11.png]]


Для файловой системы Ext2/3 необходимо дополнительно указать точку монтирования. Для корневой файловой системы это «/» (предлагается по умолчанию). Нажмите на кнопку OK.
Для файловой системы Ext2/3 необходимо дополнительно указать точку монтирования. Для корневой файловой системы это «/» (предлагается по умолчанию). Нажмите на кнопку OK.


[[Изображение:Making-raid12.png]]
[[Файл:Making-raid12.png]]


Поздравляем! Вы создали RAID! Теперь для продолжения установки нажмите кнопку «Далее». Будет запрошено подтверждение изменений. Нажмите на кнопку OK.
Поздравляем! Вы создали RAID! Теперь для продолжения установки нажмите кнопку «Далее». Будет запрошено подтверждение изменений. Нажмите на кнопку OK.


== Шаг 3. Установка загрузчика ==
==== Шаг 3. Установка загрузчика ====


[[Изображение:Making-raid13.png]]
[[Файл:Making-raid13.png]]


Далее при установке будет ещё один момент, который необходимо учесть. Речь идёт про установку загрузчика операционной системы. Выберите «Раздел Linux (md1)» (это созданный нами на RAID раздел корневой файловой системы). После этого нажмите кнопку «Далее» и продолжайте установку как обычно.
Далее при установке будет ещё один момент, который необходимо учесть. Речь идёт про установку загрузчика операционной системы. Выберите «Раздел Linux (md1)» (это созданный нами на RAID раздел корневой файловой системы). После этого нажмите кнопку «Далее» и продолжайте установку как обычно.
=== Установка на разделы одного тома RAID (не поддерживается) ===
При желании иметь отдельные разделы для /, /home, /var и т. д. создавать несколько томов может оказаться неудобно. В Linux возможно создать один большой том md0 и разбить его на разделы, как обычный hdd. Такой вариант, к сожалению, установщиком в ALT Linux не поддерживается в настоящее время ({{altbug|11572}}). Как замену, можно использовать установку на RAID+LVM.
=== Установка на RAID+LVM ===
[http://lists.altlinux.org/pipermail/community/2013-May/679355.html Цитата из сообщения в рассылке community]:
''Как можно установить LVM поверх md? Я в инсталяторе создаю md, но нет возможности указать это md0 для создания группы томов.''
# Создаёте разделы типа Linux RAID (и не забудьте /boot вынести на отдельный обычный или RAID-раздел, с LVM не грузилось).
# В разделе RAID создаёте RAID из этих разделов.
# В разделе LVM создаёте группу томов. Эта группа будет сделана на основе RAID-раздела (я проверял на единственном созданном, без разделов типа Linux LVM.
# В группе томов LVM создаёте раздел(ы), присваиваете точки монтирования.
# Дальше устанавливаете как обычно.


== После установки ==
== После установки ==
Строка 71: Строка 101:


<pre>cat /proc/mdstat</pre>
<pre>cat /proc/mdstat</pre>
== Действия при выходе одного жёсткого диска из строя ==
Если один жёсткий диск вышел из строя, то загрузите операционную систему (она будет работать и на одном диске), зайдите под пользователем '''root''' и проделайте следующее:
1. Посмотрите, что сломалось:
<pre>[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[0]
      4723008 blocks [2/1] [U_]
     
md0 : active (auto-read-only) raid1 sda1[0]
      513984 blocks [2/1] [U_]</pre>
Из вывода видно, что диск sdb недоступен: U_ показывает отсутствие второго раздела под RAID.
2. Подключаем диск и копируем таблицу разделов с диска sda на диск sdb. Также перечитаем скопированную таблицу разделов для ядра. Пример для таблицы разделов MBR:
<pre>[root@localhost ~]# dd if=/dev/sda of=/dev/sdb bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00682677 s, 75.0 kB/s
[root@localhost ~]# hdparm -z /dev/sdb
/dev/sdb:
re-reading partition table</pre>
Вместо hdparm можно использовать команду <tt>partprobe</tt> без параметров.
В случае GPT нужно копировать 2048 байт в начале диска (bs=2048), следом нужно запустить parted и подтвердить "починку" второй копии GPT, и уже тогда перечитывать ядром таблицу томов.
3. Добавляем разделы со второго диска к RAID-массиву:
<pre>[root@localhost ~]# mdadm /dev/md0 -a /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm /dev/md1 -a /dev/sdb2
mdadm: added /dev/sdb2</pre>
4. Смотрим, что получилось:
<pre>[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[2] sda2[0]
      4723008 blocks [2/1] [U_]
      [>....................]  recovery =  0.6% (32064/4723008) finish=9.7min speed=8016K/sec
     
md0 : active raid1 sdb1[1] sda1[0]
      513984 blocks [2/2] [UU]
     
unused devices: <none></pre>
Всё нормально: md0 уже засинхронизировался, md1 в процессе синхронизации.
5. Через некоторое время (точнее — 10 минут, смотрите значение '''finish''' на этапе 4) смотрим ещё раз:
<pre>[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[1] sda2[0]
      4723008 blocks [2/2] [UU]
     
md0 : active raid1 sdb1[1] sda1[0]
      513984 blocks [2/2] [UU]
     
unused devices: <none></pre>
Теперь RAID полностью восстановлен.
6. Обязательно восстанавливаем загрузчик, для lilo:
<pre>[root@localhost ~]# lilo
Added ALTLinux *
Added failsafe
The Master boot record of  /dev/sda  has been updated.
Warning: /dev/sdb is not on the first disk
The Master boot record of  /dev/sdb  has been updated.
One warning was issued.</pre>
или для grub2:
<pre>[root@localhost ~]# grub-autoupdate
Updating grub on /dev/sdb
Installation finished. No error reported.
Updating grub on /dev/sda
Installation finished. No error reported.</pre>
и или для grub2:
<pre>[root@localhost ~]# grub-install /dev/sda
Установка завершена. Ошибок нет.
[root@localhost ~]# grub-install /dev/sdb
Установка завершена. Ошибок нет.
[root@localhost ~]# update-grub</pre>
[[Категория:RAID]]
{{Category navigation|title=RAID|category=RAID|sortkey={{SUBPAGENAME}}}}

Версия от 09:48, 1 марта 2017


При установке дистрибутивов ALT Linux (как серверных, так и настольных) вы можете создать RAID-массив и установить дистрибутив на него. Такой массив позволит вам продолжить работу даже при выходе одного диска из строя.

Для создания RAID вам потребуются минимум два одинаковых жёстких диска. В этом руководстве мы покажем создание программного RAID 1 (зеркало) на двух жёстких дисках на примере дистрибутива Школьный Сервер. Создание RAID на других дистрибутивах аналогично.

Примечание. Можно создать том RAID1 из одного диска с тем, чтобы в будущем добавить второй том в зеркало. Для этого просто указывайте один раздел для массива на шаге 2. Опция «Деградированный массив» не нужна.

Примечание. При задействовании дисков с существующими метаданными уже не нужных RAID-массивов (программных, аппаратных и FakeRAID) обратите внимание на необходимость их предварительной зачистки в текущих выпусках (вплоть до 8.1).

Варианты установок

Установка на несколько RAID-томов

При установке создаётся несколько разделов на каждом HDD, соответствующие разделы (одинаковые на разных дисках) объединяются в отдельные тома mdX.

Шаг 1. Готовим разделы для RAID

Making-raid1.png

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

Making-raid2.png

На следующем экране нам необходимо создать одинаковые разделы для RAID на обоих дисках. Для работы системы нам понадобиться два раздела на RAID: подкачка (swap) и корневая файловая система (/). Вы можете создать и другие разделы (например, для /var) способом, приведённым ниже. Примечание: если у вас на каждом диске есть один общий раздел, выберите диск и нажмите кнопку «Удалить».

Выберите первый жёсткий диск и нажмите кнопку «Создать раздел». Появится следующий диалог:

Making-raid3.png

Укажите размер раздела (для начала создадим swap размером 502 Мб) и тип раздела укажем «Linux RAID». Важно указать именно такой тип.

Making-raid4.png

Аналогичным образом создадим ещё три раздела на дисках. При этом разделы на разных дисках должны совпадать по размеру.

Шаг 2. Создание массивов RAID

Выберите в списке разделов пункт «RAID» и нажмите на кнопку «Создать RAID». Если такой кнопки нет, это означает, что вы ещё не создали разделы с типом «Linux RAID».

Making-raid5.png

В диалоге создания RAID выберите «MD-устройство уровня RAID1» и нажмите на кнопку OK.

Making-raid6.png

Появится диалог указания разделов жёстких дисков для RAID-раздела. По умолчанию выбираются все разделы, поэтому снимите флажки со всех разделов, кроме sda1 и sdb1. Нажмите на кнопку OK.

Making-raid7.png

Затем будет запрошен тип создаваемой файловой системы. Для swap выберите "Файловая система подкачки (swap) и нажмите на кнопку OK.

Making-raid8.png

У нас создан один раздел в массиве RAID (md0). Теперь аналогично создадим второй раздел под корневую файловую систему. Для этого снова выберите пункт «RAID» и нажмите на кнопку «Создать RAID». В появившемся диалоге укажите «MD-устройство уровня RAID1» и нажмите на кнопку OK.

Making-raid9.png

Так как у нас осталось два необъединённых раздела, просто нажмите на кнопку OK.

Making-raid10.png

Для корневой файловой системы выберите тип «Файловая система Ext2/3» и нажмите на кнопку OK.

Making-raid11.png

Для файловой системы Ext2/3 необходимо дополнительно указать точку монтирования. Для корневой файловой системы это «/» (предлагается по умолчанию). Нажмите на кнопку OK.

Making-raid12.png

Поздравляем! Вы создали RAID! Теперь для продолжения установки нажмите кнопку «Далее». Будет запрошено подтверждение изменений. Нажмите на кнопку OK.

Шаг 3. Установка загрузчика

Making-raid13.png

Далее при установке будет ещё один момент, который необходимо учесть. Речь идёт про установку загрузчика операционной системы. Выберите «Раздел Linux (md1)» (это созданный нами на RAID раздел корневой файловой системы). После этого нажмите кнопку «Далее» и продолжайте установку как обычно.

Установка на разделы одного тома RAID (не поддерживается)

При желании иметь отдельные разделы для /, /home, /var и т. д. создавать несколько томов может оказаться неудобно. В Linux возможно создать один большой том md0 и разбить его на разделы, как обычный hdd. Такой вариант, к сожалению, установщиком в ALT Linux не поддерживается в настоящее время (altbug #11572). Как замену, можно использовать установку на RAID+LVM.

Установка на RAID+LVM

Цитата из сообщения в рассылке community:

Как можно установить LVM поверх md? Я в инсталяторе создаю md, но нет возможности указать это md0 для создания группы томов.

  1. Создаёте разделы типа Linux RAID (и не забудьте /boot вынести на отдельный обычный или RAID-раздел, с LVM не грузилось).
  2. В разделе RAID создаёте RAID из этих разделов.
  3. В разделе LVM создаёте группу томов. Эта группа будет сделана на основе RAID-раздела (я проверял на единственном созданном, без разделов типа Linux LVM.
  4. В группе томов LVM создаёте раздел(ы), присваиваете точки монтирования.
  5. Дальше устанавливаете как обычно.

После установки

После того, как операционная система будет установлена и загружена, можно посмотреть, в каком состоянии находится ваш RAID. Для этого войдите под пользователем и введите команду

cat /proc/mdstat

Действия при выходе одного жёсткого диска из строя

Если один жёсткий диск вышел из строя, то загрузите операционную систему (она будет работать и на одном диске), зайдите под пользователем root и проделайте следующее:

1. Посмотрите, что сломалось:

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sda2[0]
      4723008 blocks [2/1] [U_]
      
md0 : active (auto-read-only) raid1 sda1[0]
      513984 blocks [2/1] [U_]

Из вывода видно, что диск sdb недоступен: U_ показывает отсутствие второго раздела под RAID.

2. Подключаем диск и копируем таблицу разделов с диска sda на диск sdb. Также перечитаем скопированную таблицу разделов для ядра. Пример для таблицы разделов MBR:

[root@localhost ~]# dd if=/dev/sda of=/dev/sdb bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00682677 s, 75.0 kB/s
[root@localhost ~]# hdparm -z /dev/sdb

/dev/sdb:
 re-reading partition table

Вместо hdparm можно использовать команду partprobe без параметров.

В случае GPT нужно копировать 2048 байт в начале диска (bs=2048), следом нужно запустить parted и подтвердить "починку" второй копии GPT, и уже тогда перечитывать ядром таблицу томов.


3. Добавляем разделы со второго диска к RAID-массиву:

[root@localhost ~]# mdadm /dev/md0 -a /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost ~]# mdadm /dev/md1 -a /dev/sdb2
mdadm: added /dev/sdb2

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

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sdb2[2] sda2[0]
      4723008 blocks [2/1] [U_]
      [>....................]  recovery =  0.6% (32064/4723008) finish=9.7min speed=8016K/sec
      
md0 : active raid1 sdb1[1] sda1[0]
      513984 blocks [2/2] [UU]
      
unused devices: <none>

Всё нормально: md0 уже засинхронизировался, md1 в процессе синхронизации.

5. Через некоторое время (точнее — 10 минут, смотрите значение finish на этапе 4) смотрим ещё раз:

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] 
md1 : active raid1 sdb2[1] sda2[0]
      4723008 blocks [2/2] [UU]
      
md0 : active raid1 sdb1[1] sda1[0]
      513984 blocks [2/2] [UU]
      
unused devices: <none>

Теперь RAID полностью восстановлен.

6. Обязательно восстанавливаем загрузчик, для lilo:

[root@localhost ~]# lilo
Added ALTLinux *
Added failsafe
The Master boot record of  /dev/sda  has been updated.
Warning: /dev/sdb is not on the first disk
The Master boot record of  /dev/sdb  has been updated.
One warning was issued.

или для grub2:

[root@localhost ~]# grub-autoupdate
Updating grub on /dev/sdb
Installation finished. No error reported.
Updating grub on /dev/sda
Installation finished. No error reported.

и или для grub2:

[root@localhost ~]# grub-install /dev/sda
Установка завершена. Ошибок нет.
[root@localhost ~]# grub-install /dev/sdb
Установка завершена. Ошибок нет.
[root@localhost ~]# update-grub