Сергей Маликов
06.11.2019
832

RAID 6: обзор, создание и конфигурирование

В статье рассматриваются: особенности RAID 6, пошаговый процесс создания, добавление запасного диска, восстановление RAID массива при сбое дисков. Особенности RAID 6: Два диска будут использованы для хранения информации о четности, общий объем массива RAID 6  будет меньше на объем двух дисков. Отсутствие потерь данных после отказа до двух дисков. Можно восстановить информацию из блока четности […]

В статье рассматриваются: особенности RAID 6, пошаговый процесс создания, добавление запасного диска, восстановление RAID массива при сбое дисков.

Особенности RAID 6:

  • Два диска будут использованы для хранения информации о четности, общий объем массива RAID 6  будет меньше на объем двух дисков.
  • Отсутствие потерь данных после отказа до двух дисков. Можно восстановить информацию из блока четности после замены неисправного диска.
  • Чтение будет быстрее, чем в RAID 5, потому что RAID 6  выполняет операцию чтения одновременно с нескольких дисков. Скорость записи будет медленной без выделенного RAID-контроллера.
  • Для создания RAID 6 необходимо минимум 4 диска.

Применение: серверы с требованиями к отказоустойчивости – резервные копии, серверы с высокими требованиями к объему данных.

Для создания RAID 6 потребуется  установленный пакет mdadm.

Имеющиеся в системе диски для создания RAID 6
Имеющиеся в системе диски для создания RAID 6

Проверку дисков на имеющиеся метаданные RAID можно сделать с помощью одной из следующих команд:

mdadm -E /dev/sd[bcdef]
mdadm -E /dev/sd[b-f]
mdadm --examine /dev/sdb /dev/sdc /dev/sdd /dev/sde  /dev/sdf
Проверка дисков на имеющиеся метаданные RAID
Проверка дисков на имеющиеся метаданные RAID

Сообщение “No md superblock detected on” говорит об отсутствии имеющихся RAID блоков на устройстве.

fdisk /dev/sdb

В консоли fdisk нажмите

  • n – для создания нового раздела
  • p –создание раздела ‘primary’
  • 1 – номер раздела

Для установления стартового блока и конечного блока раздела в значения по умолчанию – дважды нажатьEnter

  • p – для проверки вывести на экран имеющуюся таблицу разделов
  • L – вывести на экран список доступных типов раздела
  • t – изменить системный id раздела
  • fd – для установления id раздела в raid auto
  • p – для проверки вывести на экран имеющуюся таблицу разделов
  • w – записать изменения и выйти

На остальных дисках /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf  также создаем разделы.

Создание раздела для raid 6 утилитой fdisk
Создание раздела для raid 6 утилитой fdisk

После создания разделов проверить диски на наличие суперблоков. Если суперблоки имеются, то необходимо их затереть утилитой dd(например dd if=/dev/zero of=/dev/sdb1)

mdadm -E /dev/sd[b-f]1
 Проверка разделов на имеющиеся суперблоки raid
Проверка разделов на имеющиеся суперблоки raid

Создание RAID 6 массива

mdadm --create /dev/md0 --level=6 --raid-devices=5 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
Создание RAID 6 массива
Создание RAID 6 массива

Проверка разделов, входящих в raid

mdadm -E /dev/sd[b-f]1
Проверка разделов, входящих в raid
Проверка разделов, входящих в raid

Вывод информации о raid массиве

cat /proc/mdstat
mdadm --detail /dev/md0
Вывод информации о raid массиве
Вывод информации о raid массиве

Создание файловой системы ext4 на raid устройстве md0

mkfs.ext4 /dev/md0

Создаем директорию и монтируем в нее raid массив

mkdir /mnt/raid6
mount /dev/md0 /mnt/raid6/

Добавим запись “/dev/md0 /mnt/raid6 ext4 defaults 0 0” в /etc/fstab для монтирования созданного RAID при перезагрузке

vim /etc/fstab

Проверка записей в /etc/fstab

mount –av
Проверка записей в /etc/fstab
Проверка записей в /etc/fstab

Сохранение конфигурации RAID в файл /etc/mdadm.conf и проверка состояния устройства /dev/md0

mdadm --detail --scan --verbose >> /etc/mdadm.conf
mdadm --detail /dev/md0
Сохранение конфигурации RAID в файл /etc/mdadm.conf и проверка состояния устройства /dev/md0
Сохранение конфигурации RAID в файл /etc/mdadm.conf и проверка состояния устройства /dev/md0

Управление массивом

Управление массивом осуществляется с помощью опции  –manage. Общий синтаксис:

mdadm –manage RAID-масссив опции устройства

Получить справку по доступным опциям

mdadm --manage --help
Mdadm справка
Mdadm справка

Управление массивом включает в себя следующие опции:

–add  (-a)  добавление устройств в массив
  –re-add  повторное добавление
  –remove  (-r)  удалить устройства из массива, которые не должны быть активными
  –fail   (-f)   пометить указанные устройства как неисправные
  –set-faulty   то же, что и –fail
  –replace  замена неисправного устройства на запасное
  –with указать –replace какое запасное устройство предпочтительнее использовать
  –run  (-R) старт частично построенного массива
  –stop  (-S)   деактивировать массив, освободив все ресурсы
  –readonly    -o   пометить массив как только для чтения
  –readwrite   -w пометить массив для чтения и записи

Остановка массива.

Для остановки массива необходимо вначале его отмонтировать, затем остановить с помощью mdadm –stop.

umount /dev/md0
mdadm --stop /dev/md0

Сборка существующего массива осуществляется с помощью mdadm –assemble

Расширение RAID массива.

Для расширения массива необходимо сначала добавить диск, а затем увеличить массив, опция –raid-devices=5 указывает на новое количество дисков в массиве.

mdadm /dev/md0 --add /dev/sdg1
mdadm -G /dev/md0 --raid-devices=5

Далее необходимо проверить увеличение размера

cat /proc/mdstat

И, также, записать изменения в конфигурационный файл mdadm.conf

mdadm --detail --scan >> /etc/mdadm.conf

Удаление raid массива.

Для удаления raid массива необходимо вначале его отмонтировать, затем удалить с помощью mdadm -S.

umount /dev/md0
mdadm -S /dev/md0

Также необходимо удалить метаданные на каждом из дисков, входящих в raid dd if=/dev/zero of=/dev/диск

Добавление запасного диска в RAID 6

RAID 6 сохранит данные в целостности при потере двух дисков, но для еще большей защиты от потерь данных можно добавить запасной диск, прежде чем произойдет еще один сбой.

Добавить запасной диск можно также при создании RAID.

Подключим диск и проверим его отображение (устройство /dev/sdg)

Добавление запасного диска в RAID 6
Добавление запасного диска в RAID 6

Проверка подключенного диска на отсутствие метаданных raid

Проверка подключенного диска на отсутствие метаданных raid
Проверка подключенного диска на отсутствие метаданных raid

Также размечаем запасной диск для raid.

fdisk /dev/sdb

В консоли fdisk:

n – для создания нового раздела
p –создание раздела ‘primary’
1 – номер раздела

Для установления стартового блока и конечного блока раздела в значения по умолчанию – дважды нажатьEnter

t – изменить системный id раздела
fd – для установления id раздела в raid auto
p – для проверки вывести на экран имеющуюся таблицу разделов
w – записать изменения и выйти

Разметка запасного диска для raid
Разметка запасного диска для raid

Проверка диска и добавление запасного диска в RAID 6, устройство /dev/md0

mdadm --examine /dev/sdg
mdadm --examine /dev/sdg1
mdadm --add /dev/md0 /dev/sdg1
mdadm --detail /dev/md0
Проверка диска и добавление запасного диска в RAID 6
Проверка диска и добавление запасного диска в RAID 6

Проверка восстановления при сбое одного из дисков.

В настоящее время файлов в директории /mnt/raid6/ нет:

ls -l /mnt/raid6/

Для примера по замене сбойного диска в тестовом массиве RAID 6 сгенерируем директории и текстовые файлы с каким-либо содержимым (например, имя файла и дата создания).

mkdir -p /mnt/raid6/dir--{0{1..9},10}
touch /mnt/raid6/dir--{0{1..9},10}/file-{A..J} 
#bin/bash
files=$(ls -l /mnt/raid6/dir--{0{1..9},10}/file-{A..J} | awk '{print$9}')
for file in $files
do
$(echo $file >> $file)
$(date >> $file)
done;
ls -l /mnt/raid6/
cat  /mnt/raid6/dir--01/file-A
Заполнение raid массива тестовыми файлами
Заполнение raid массива тестовыми файлами

Пометим /dev/sdс1 как сбойный диск и отобразим статус массива

mdadm --manage --fail /dev/md0 /dev/sdb1
mdadm --detail /dev/md0
Статус массива при сбое диска /dev/sdс1 и начавшемся процессе восстановления
Статус массива при сбое диска /dev/sdс1 и начавшемся процессе восстановления

При неисправном диске /dev/sdс1 статус массива станет [U_UUU])

cat /proc/mdstat
Статус массива, имеющего сбойный диск
Статус массива, имеющего сбойный диск

После того, как запасной диск /dev/sdg1 синхронизируется, статус изменится на [UUUUU]

Статус восстановленного массива, имеющего сбойный диск
Статус восстановленного массива, имеющего сбойный диск

Проверим имеющиеся на RAID массиве директории и файлы и их содержимое

Проверка данных
Проверка данных
 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices