Программный RAID Linux

Вступление

В этой статье объясняется использование программного RAID-массива для организации взаимодействия нескольких дисков в операционной системе Linux без использования аппаратного RAID-контроллера.

Серверы с более чем двумя дисками, которые были заказаны вместе с операционной системой или были установлены с помощью робота , уже настроены с рекомендуемым уровнем RAID (1 или 6). Более того, вы можете выполнять настраиваемые установки Linux с помощью нашего сценария Installimage в системе восстановления , который также можно использовать для настройки нескольких уровней рейда. Также программный RAID можно комбинировать с LVM.

Отображение состояния программного RAID

Поэтому просто используйте эту команду:

cat /proc/mdstat

Вывод, если нет активного RAID:

Personalities : [raid1]
unused devices: <none>

Выход для настроенного RAID1:

Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
      234405504 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

md1 : active raid1 sda2[2] sdb2[1]
      523712 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sda1[2] sdb1[1]
      33521664 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Вывод для настроенного RAID0 ( /bootраздел md0всегда должен быть настроен как RAID1, чтобы сервер мог загружаться с него):

Personalities : [raid1] [raid0]
md2 : active raid0 sda3[0] sdb3[1]
      883956736 blocks super 1.2 512k chunks

md1 : active raid0 sda2[0] sdb2[1]
      52393984 blocks super 1.2 512k chunks

md0 : active raid1 sda1[0] sdb1[1]
      523264 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Если под одним из разделов отображается индикатор выполнения, в настоящее время выполняется повторная синхронизация RAID:

md0 : active raid1 sdb1[0] sdc1[1]
     2095040 blocks super 1.2 [2/2] [UU]
     	[====>................]  resync = 32.7% (418656/2095040) finish=4.2min speed=131219K/sec

Добавить программный RAID-массив

В нашем примере сценария диски /dev/sdaи /dev/sdbуже объединены в несколько массивов RAID1, которые содержат операционную систему:

cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
      234405504 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

md1 : active raid1 sda2[2] sdb2[1]
      523712 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sda1[2] sdb1[1]
      33521664 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Но у нас есть еще два диска ( /dev/sdcи /dev/sdd), которые мы также хотели бы настроить как хранилище данных с массивом RAID1. Поэтому сначала нужно добавить RAID-массив:

mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sdc /dev/sdd

Теперь конфигурация RAID должна выглядеть следующим образом:

cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sdc1[0] sdd1[1]
     2095040 blocks super 1.2 [2/2] [UU]
     	[====>................]  resync = 32.7% (418656/2095040) finish=4.2min speed=131219K/sec

md2 : active raid1 sda3[2] sdb3[1]
      234405504 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

md1 : active raid1 sda2[2] sdb2[1]
      523712 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sda1[2] sdb1[1]
      33521664 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Теперь новый раздел можно отформатировать (здесь с помощью EXT4) и смонтировать:

mkfs.ext4 /dev/md3
mount /dev/md3 /mnt

Уведомление по электронной почте при отказе диска в программном RAID

Требование : выбранный вами почтовый сервер (например, Sendmail ) должен быть уже установлен и настроен.

Debian / Ubuntu / CentOS

Отредактируйте /etc/mdadm/mdadm.confили /etc/mdadm.conf(CentOS) и измените следующую строку:

MAILADDR holu@example.com

Здесь можно указать адрес назначения напрямую. Кроме того, все электронные письма, отправленные в root, могут быть отправлены на определенный адрес электронной почты с помощью /etc/aliases.

Вы также можете дополнительно настроить адрес электронной почты для отправки:

MAILFROM mdadm@example.com

Для Debian и Ubuntu, важно , чтобы вы установили AUTOCHECKв файле /etc/default/mdadmна true:

# grep AUTOCHECK= /etc/default/mdadm
AUTOCHECK=true

Для CentOS необходимо включить проверку в файле /etc/sysconfig/raid-check:

# grep ENABLED /etc/sysconfig/raid-check
ENABLED=yes

openSUSE

Отредактируйте /etc/sysconfig/mdadmи добавьте адрес электронной почты, на который вы будете получать уведомление, рядом с переменной MDADM_MAIL:

MDADM_MAIL="holu@example.com"

Проверить конфигурацию

Вы можете проверить свою конфигурацию, разрешив mdadmотправить тестовое письмо на указанный адрес электронной почты с помощью этой команды:

mdadm --monitor --test --oneshot /dev/md0

Кроме того, вы должны убедиться, что файл /etc/cron.daily/mdadmсодержит следующую строку, которая выполняет ежедневный мониторинг вашего RAID:

exec --monitor --scan --oneshot

Удаление программного RAID

Чтобы удалить программный RAID, вы можете использовать следующие команды. Если это необходимо сделать для системных разделов, мы рекомендуем загрузить сервер в Rescue System :

mdadm --remove /dev/md0
mdadm --remove /dev/md1
mdadm --remove /dev/md2
mdadm --stop /dev/md0
mdadm --stop /dev/md1
mdadm --stop /dev/md2

После этого диски можно снова нормально отформатировать (например, с помощью EXT4):

mkfs.ext4 /dev/sda
mkfs.ext4 /dev/sdb

Результат можно проверить с помощью команд …

cat /proc/mdstat

…а также…

fdisk -l

Программный RAID следует удалить сейчас.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *