Создание raid массива linux

Системное администрирование Linux

2018-06-25 11:27:07 9649 2

Настройка программного RAID на Линукс

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

Рассмотрим основные виды RAID-массивов:

  • RAID 0 (Stripe) — Массив, в котором достугается максимальная производительность, но при этом минимальная отказоустойчивость. В этом режиме минимальное необходимое количество дисков — 2. Производительность повышается за счет поочередной записи или чтения с дисков, то есть при записи один блок данных пишется на один диск, а следующий блок данных пишется на другой диск и т.д., при этом при выходе из строя хотя бы одного диска в массиве, все данные будут утеряны. Пользователь получает диск с объемом, равным сумме объемов всех дисков в массиве;
  • RAID 1 (Mirror) — Массив зеркало, запись на все диски массива (обычно 2) идет синхронно, т.е. диски полностью дублируют друг друга. При этом при выходе из строя одного из дисков, информация сохраняется на другом. Пользователь получает в пользование объем самого малого диска в массиве;
  • RAID 10 — Комбинация RAID 0 и RAID 10 (RAID 0 из двух RAID 1), получаем высокую производительность и высокую отказоустойчивость, минус это дороговизна, минимум необхоодимо 4 диска, при этом полезный объем равен половине суьье всех объемов дисков в массиве;
  • RAID 5 — Массив использующий распределенное хранение данных аналогично RAID 0 + распределенное хранение кодов четности для восстановления данных при сбоях. По сути, является компромиссом между RAID0 и RAID1, обеспечивая достаточно высокую скорость работы при неплохой надежности хранения данных. При отказе одного диска из массива данные могут быть восстановлены без потерь в автоматическом режиме. Минимальное количество дисков для такого массива — 3.
  • JBOD — Последовательное объединение нескольких физических дисков в один логический, не влияет на производительность, но при этом надежность падает до отказа одного диска, возможно использование дисков разных размеров.

Существует еще много разных видов массивов дисков, но мы рассмотрели основные из них.

Теперь перейдем к настройке программного RAID на Линукс Ubuntu 16.04.

У нас в системе имеется 4 диска объемом по 10Гб, на них и будем реализовывать различные схемы массивов.

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

Для создания и управления массивами в линукс существует утилита mdadm, создадим массив RAID 0 из дисков sdb,sdc

sudo mdadm —create -v /dev/md0 —level=0 —raid-devices=2 \

Проверяем создание массива

Теперь создадим файловую систему на нашем массиве

sudo mkfs.ext4 /dev/md0

И смонтируем наш новый массив

sudo mount /dev/md0 /mnt/

Посмотрим, что получилось

Как видим у нас появилась файловая система с объемом равным объему обоих дисков.

Теперь давай те осуществим настройку, что бы после перезагрузки системы, массив был собран автоматически, для этого в файл конфигурации /etc/mdadm/mdadm.conf необходимо добавить вывод команды mdadm

sudo mdadm —detail —scan >> /etc/mdadm/mdadm.conf

После этого обновим initRAM

sudo update-initramfs -u

Ну и для того что бы наш массив автоматически был смонтирован при загрузке системы, добавим его в /etc/fstab

Если вы хотите удалить массив, то сначала его необходимо отмонтировать, а потом остановить и удалить

sudo umount /dev/md0

sudo mdadm —stop /dev/md0

sudo mdadm —remove /dev/md0

И еще можно забить их нулями, что бы стереть старую инфу

sudo mdadm —zero-superblock /dev/sdb

sudo mdadm —zero-superblock /dev/sdc

И обновляем initRAM

sudo update-initramfs -u

Создание RAID 1

Аналогично как и для RAID 0 создаем RAID 1 из двух дисков

sudo mdadm —create -v /dev/md0 —level=1 —raid-devices=2 \

Выдаст предупреждение, что если вы собираетесь использовать этот массив для хранения директории /boot, необходимо обеспечить что бы загрузчик системы мог работать с массивами.

Читайте также:  Dv7 6b53er windows 10

Проверяем созданием массива

Как видим массив создан, но еще идет процесс синхронизации дисков, подождем когда процесс завершится.

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

sudo mkfs.ext4 /dev/md0

sudo mount /dev/md0 /mnt

И как и с RAID 0 обеспечим что бы наш RAID собирался автоматически при перезагрузке системы

sudo mdadm —detail —scan >> /etc/mdadm/mdadm.conf

sudo update-initramfs -u

Теперь давай те рассмотрим ситуацию, что наш диск вышел из строя и заменим его другим диском

Создадим файл на нашем массиве

dd if=/dev/zero of=/mnt/raid1 bs=1M count=100

Теперь отключим один из дисков от компьютера

Проверяем, что файлы на нашем массиве остались в порядке и не пропали

Видим, что наш массив помечен как _U, это значит что один из дисков сбойный. Вообще если диск просто сбойный и он отображается как часть массива, но работает нестабильно, то его сначала надо пометить как сбойный, а потом убрать из массива

sudo mdadm —manage /dev/md0 —fail /dev/sdc

sudo mdadm —manage /dev/md0 —remove /dev/sdc

но в нашем случае диск просто был вынут, поэтому можно сразу заменять его новым диском sdd

После подключения нового диска, нужно на нем создать такую же разметку, как и на соседнем диске, копируем разметку командой

sudo sfdisk -d /dev/sdb | sfdisk —force /dev/sdd

Добавляем новый диск в наш массив

sudo mdadm —manage /dev/md0 —add /dev/sdd

И снова дожидаемся пока данные на дисках будут синхронизованы

После окончания синхронизации

Создание RAID 5

Для RAID 5 возьмем три диска sdb, sdc, sdd

sudo mdadm —create -v /dev/md5 —level=5 —raid-devices=3 \

Восстанавливается RAID 5 отличается от RAID 1

Как видим после отключения одного из дисков массив ушел в положение inactive

sudo mdadm —stop /dev/md5

Пробуем пересобрать его

sudo mdadm —assemble —scan —force

Массив снова в положении active

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

Создание RAID 10

Для создания RAID 10 будем использовать 4 диска sdb,sdc,sdd,sde

sudo mdadm —create -v /dev/md0 —level=10 —raid-devices=4 \

Восстановление RAID 10, после сбоя диска, по-аналогии с RAID 5.

Источник

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

Содержание

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

Небольшое вступление

Вообще говоря, существуют много способов сохранить нажитое непосильным путём. Самый ненадёжный из них, несмотря на многие заверения об обратном — это запись данных на CD или DVD диски. Если вы уж что-то хотите сохранить на дисках, то обязательно записывайте важную информацию как минимум на два диска разных производителей, кроме того, пишите на минимальной доступной скорости привода. Но всё равно вас это не спасёт, лет через 5 с большим шансом вы можете обнаружить, что оба ваших диска полностью или частично перестали читаться.

Утилита управления программными RAID массивами mdadm

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

Если у вас ещё нет нужных разделов — можете создать их с помощью gparted или cfdisk , обе эти утилиты необходимо доустанавливать отдельно.

После того, как вы поменяете тип разделов, можно приступать непосредственно к созданию массива. Правда предварительно убедитесь, что разделы не смонтированы, и если что выполните для них unmount . Массив собирается командой

Вы должны увидеть примерно такой вывод:

Если вы хотите сразу же создать массив с отсутствующим диском (degraded), просто укажите вместо имени устройства слово missing . Учтите, что в RAID -5 может быть не более одного отсутствующего диска, в RAID -6 — не более двух, а в RAID -1 должен быть хотя бы один рабочий.

To be continued…

Изменение конфигурационного файла

Если вам вдруг потребуется после создания массива производить какие-нибудь операции с его блочным устройством, которые изменят UUID, то обязательно необходимо изменить конфигурационный файл /etc/mdadm/mdadm.conf .

Например такими операциями может быть форматирование или создание группы томов LVM поверх массива. В любом случае когда вы вносите какие-нибудь правки на уровне разметки в массив лучше проверьте, что конфигурационный файл соответствует реальной конфигурации.

Читайте также:  Windows 10 ошибка оборудования livekernelevent

Для получения текущей работающей конфигурации выполните

Эта команда выведет по строчке конфигурации для каждого массива. Именно такие строчки должны быть записаны в файле /etc/mdadm/mdadm.conf за исключением того, что в строчках в файле не должно быть параметра metadata .

Если реальная конфигурация не совпадает с той, которая записана в /etc/mdadm/mdadm.conf , то обязательно приведите этот файл в соответствие с реальной конфигурацией до перезагрузки, иначе в следующий раз массив не запустится.

Работа с программным RAID с LiveCD

LiveCD диски Ubuntu по умолчанию не включают в себя утилиту mdadm, поэтому чтобы работать с RAID массивами с LiveCD вам необходимо сначала её установить:

После этого нужно запустить все ваши массивы, сделать это можно командой

Проверить статус массивов можно как всегда с помощью файла /proc/mdstat :

Устранение возникающих проблем и восстановление массивов

Массив внезапно перешёл в состояние inactive

Иногда из-за каких-то сбоев оборудования массив переходит в состояние inactive безо всяких ошибок на дисках. При этом все диски помечаются как неактивные. Выглядит это примерно так:

Ничего страшного в этом нет, вам надо всего лишь остановить массив командой

И затем пересобрать командой

Только потом не забудьте примонтировать файловую систему, при перезапуске массива это не будет сделано автоматически. Если у вас массив прописан в /etc/fstab , то для его примонтирования обычно достаточно выполнить команду

Критическая фатальная ошибка при полной работоспособности винчестеров

Если случилась такая беда, то:

В первую очередь посмотрите состояние всех компонент массива командой

Вместо sdc1 нужно поочерёдно поставить все компоненты. Обратите особое внимание на последний блок каждого вывода, вот, например, как выглядел один из выводов у меня:

Тут вроде всё нормально, а вот тут уже нет:

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

Теперь попробуйте собрать массив как описано в предыдущем параграфе. У меня не получилось:

Как видно, у меня mdadm считал, что есть только 2 рабочих компоненты массива, а изначально их было 4. И для работы необходимо иметь 3, поскольку у меня был RAID -5.

Итак, вы убедились, что возникла непоправимая ошибка mdadm, что при этом диски в порядке и в автоматическом режиме массив обратно не собрать. Что дальше?

Дальше — действовать на свой страх и риск! Собственно всё, что остаётся сделать — это заново создать массив поверх старого.

Самое главное — указать диски в той же последовательности, что и при первичном создании массива. Я эту последовательность выцепил из вывода команды

Итак, пересоздаём массив:

Если всё прошло успешно — ваш массив безо всяких ошибок запустится и вам останется только смонтировать его содержимое. Если не успешно — то увы, придётся вам нести диски в фирму восстановления данных.

Источник

Как создать программный raid в Linux

Далеко не редкость, когда производственные сервера поддаются достаточно высоким нагрузкам. Это приводит к необходимости подключать SSD и жесткие диски не по отдельности, а вместе. Для этих целей обычно используют специальные массивы. Их внутренняя информация хранится сразу на нескольких дисках. И если хотя бы один из этих дисков однажды выйдет из строя, данные не будут утеряны.

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

Если объяснить основную суть массива, то это технология, благодаря которой можно превращать настоящие HDD в единый виртуальный диск, путем объединения данных. По итогу общий диск имеет большой объем с характерной ему высокой скоростью передачи информации.

Чтобы получить raid, потребуется аппаратный контроллер. Это классический способ создания массива, однако, существуют и альтернативные варианты. Если отойти в сторону от классики жанра, то можно попытаться создать программный массив. О том, как это сделать, и пойдет речь в данном материале.

Читайте также:  Чтобы закончить работу с windows надо

Для начала разберемся, основные виды Raid, которые наиболее часто используются:

  • RAID 1 или Mirror (зеркало). В данном случае запись информации происходит в синхронном режиме. Используют как минимум два диска. Если один из используемых жестких дисков потеряет работоспособность, то все данные можно без проблем изъять со второго диска, поскольку они являются так называемыми дубликатами. Примечательно, что объем такого массива будет равен объему наименьшего жесткого диска из всех используемых.
  • RAID 0. Его также именуют Stripe. Данному виду массива характерны высокая производительность и низкая отказоустойчивость. Чтобы создать подобный массив, потребуется хотя бы 2 жестких диска. Из недостатков можно отметить по очередность записывания данных на оба диска. Кроме того, текущая информация будет храниться блоками, и если хотя бы один диск выйдет из строя, вся информация будет полностью утеряна. Объем массива будет равен сумме двух объемов используемых дисков.
  • RAID 10. Представляет собой некую комбинацию двух предыдущих видов массивов. То есть, 0 и 1. Подобный массив включает в себя минимум четыре жестких диска. Меньшее количество использоваться не может. Объем массива будет равен ½ суммы объемов всех используемых дисков. Основным недостатком такого варианта является высокая стоимость. Как минимум из-за того, что потребуется много дисков.

Существуют и другие виды RAID. Например, RAID 5,6. Мы не станем детализировать их особенности, поскольку в данной статье речь пойдет о создании наиболее простого программного массива.

Подготовка

  1. Регулирование массивов в ОС Линукс проходит легче при помощи программы mdadm. Ниже будет представлена команда для установки утилиты на компьютер.

Для Debian и Ubuntu.

# apt install mdadm

# yum install mdadm

# dnf install mdadm

ВАЖНО! Если не хватает прав, необходимо добавить sudo в начале строки.

  1. Далее пользователю потребуется подготовить выбранные HDD для их объединения в единый виртуальный диск. Чтобы ознакомиться с перечнем используемых системой жестких дисков необходимо задать:

Вместо того чтобы поспешно создавать массив на HDD (в этом вопросе есть свои подводные камни и сложности), рекомендуется создавать RAID исключительно на разделы дисков. Теперь нужно выбрать диски для объединения. В нашем примере будут приведены следующие два диска по 100 мегабайт:

Создание таблицы разделов.

Для накопителей меньше 2 Терабайт:

# parted /dev/sdb mklabel msdos

# parted /dev/sdc mklabel msdos

Для больших накопителей больше 2 терабайт или компьютеров с UEFI:

# parted /dev/sdb mklabel gpt

# parted /dev/sdc mklabel gpt

Далее необходимо заняться созданием разделов на предпочтенных HDD. Создадим раздел размером 95 мегабайт.

# parted /dev/sdb mkpart primary ext4 20 95MG

# parted /dev/sdс mkpart primary ext4 20 95MG

Исходя их указанной команды видно, что мы основали раздел объемом 95 Мегабайт. Процесс подготовки жестких дисков к добавлению массива окончен. Самое время преступить к следующему пункту.

Создание

Рассмотрим синтаксис команды для добавления RAID в Linux. Он представлен ниже:

# mdadm —create /dev/наименование_массива —level=режим_работы —raid-devices=количество_дисков список дисков

# mdadm —create /dev/md0 —level=1 —raid-devices=2 /dev/sdb /dev/sdc

# mdadm —create /dev/md0 —level=0 —raid-devices=2 /dev/sdb /dev/sdc

Сохранение конфигурации массива

Уже сейчас собранный массив работает. Однако, для стабильной работы требуется сохранить конфигурацию Рейд.

# mdadm —detail —scan —verbose | sudo tee -a /etc/mdadm/mdadm.conf

Если каталога нет.

# mdadm —detail —scan —verbose | sudo tee -a /usr/sbin/mdadm/mdadm.conf

Чтобы при загрузке ОС Линукс автоматически монтировался рейд, необходимо отредактировать файл fstab.

/dev/md0 /mnt/ ext4 defaults 0 0

Как посмотреть данные о RAID

Для этих целей есть специальная команда. Задайте в терминале следующий текст:

Основные данные о массиве в Линукс появятся на экране. Если информации недостаточно, потребуется детализировать данные. Это можно сделать следующим способом:

$ sudo mdadm —detail /dev/md0

Удаление массива (при необходимости):

$ sudo mdadm —remove /dev/md0

Принцип основания RAID 1 в Линукс осуществляется тем же способом, только значения 0 нужно заменить на 1. К примеру, названия дисков теперь будут прописаны в виде: /dev/sda1 и так далее.

Создание программного массива в Linux – вполне выполнимая задача для новичка. Разумеется, такой Рейд будет отличаться от аппаратного массива своей производительностью, но такой вариант объединения нескольких жестких дисков вполне приемлем для полноценной работы.

Источник

Оцените статью