- Создание программного RAID массива в Ubuntu
- Содержание
- Небольшое вступление
- Утилита управления программными RAID массивами mdadm
- Создание массива
- Изменение конфигурационного файла
- Работа с программным RAID с LiveCD
- Устранение возникающих проблем и восстановление массивов
- Массив внезапно перешёл в состояние inactive
- Критическая фатальная ошибка при полной работоспособности винчестеров
- Системное администрирование Linux
- Настройка программного RAID на Линукс
- Программный RAID в Linux с помощью mdadm
- Установка утилиты управления программным RAID — mdadm
- Создание RAID из 2-х дисков
- Создание файловой системы на RAID, монтирование
- Просмотр состояния, проверка целостности RAID массива
- Восстановление RAID при сбое, замена диска
- Добавление и удаление дисков в RAID массив на Linux
- Добавление Hot-Spare диска в RAID массив
- Удаление массива
- Mdmonitor: Мониторинг состояния RAID и email оповещения
- RAID массив в состоянии inactive
Создание программного 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 поверх массива. В любом случае когда вы вносите какие-нибудь правки на уровне разметки в массив лучше проверьте, что конфигурационный файл соответствует реальной конфигурации.
Для получения текущей работающей конфигурации выполните
Эта команда выведет по строчке конфигурации для каждого массива. Именно такие строчки должны быть записаны в файле /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, что при этом диски в порядке и в автоматическом режиме массив обратно не собрать. Что дальше?
Дальше — действовать на свой страх и риск! Собственно всё, что остаётся сделать — это заново создать массив поверх старого.
Самое главное — указать диски в той же последовательности, что и при первичном создании массива. Я эту последовательность выцепил из вывода команды
Итак, пересоздаём массив:
Если всё прошло успешно — ваш массив безо всяких ошибок запустится и вам останется только смонтировать его содержимое. Если не успешно — то увы, придётся вам нести диски в фирму восстановления данных.
Источник
Системное администрирование Linux
2018-06-25 11:27:07 9669 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, необходимо обеспечить что бы загрузчик системы мог работать с массивами.
Проверяем созданием массива
Как видим массив создан, но еще идет процесс синхронизации дисков, подождем когда процесс завершится.
Создадим файловую систему и смонтируем диск
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 в Linux с помощью mdadm
mdadm – утилита для работы с программными RAID-массивами в Linux. В статье мы рассмотрим, как работать с утилитой mdadm (multiple disks admin) для создания массива, добавления дисков, управления дисками, добавление hot-spare и много другой полезной информации.
Установка утилиты управления программным RAID — mdadm
Чтобы установить утилиту mdadm, запустите команду установки:
- Для Centos/Red Hat используется yum/dnf: yum install mdadm
- Для Ubuntu/Debian: apt-get install mdadm
В резульатте в системе будет установлена сама утилита mdadm и необходимые библиотеки:
Создание RAID из 2-х дисков
У меня на сервере установлены два дополнительных диска и я хочу содать на низ програмное зеркало (RAID1). Диски пустые, данные на них не писались. Для начала, нужно занулить все суперблоки на дисках, которые мы будем добавлять в RAID-массив:
# mdadm —zero-superblock —force /dev/vd
У меня два есть два чистых диска vdb и vdc.
Данный листинг означает, что ни один из дисков ранее не был добавлен в массив.
Чтобы собрать программный RAID1 из двух дисков в устройстве /dev/md0, используйтк команду:
# mdadm —create —verbose /dev/md0 -l 1 -n 2 /dev/vd
Где «-l 1» — это тип массива, в нашем случае RAID1
А «-n 2«- это количество дисков, которое добавляется в массив.
# mdadm —create —verbose /dev/md0 —level=0 —raid-devices=2 /dev/vdb /dev/vdc
RAID 5 из трех или более дисков:
# mdadm —create —verbose /dev/md0 —level=5 —raid-devices=3 /dev/vdb /dev/ vdс /dev/vdd
После запуска команды, нужно подтвердить действия и массив будет создан:
Теперь при просмотре информации о дисках, мы видим наш массив:
Создание файловой системы на RAID, монтирование
Чтобы создать файловую систему ext4 на нашем RAID1 массиве из двух дисков, используйте команду:
Создадим директорию backup и примонтируем к ней RAID устройство:
# mkdir /backup
# mount /dev/md0 /backup/
Массив смонтировался без ошибок. Чтобы не монтировать устройство каждый раз вручную, внесем изменения в fstab:
Просмотр состояния, проверка целостности RAID массива
Чтобы проверить целостность данных в массиве, используйте команду:
#echo ‘check’ > /sys/block/md0/md/sync_action
После чего, нужно посмотреть вывод файла:
Если в результате вы получаете 0, то с вашим массивом все в порядке:
Чтобы остановить проверку, используйте команду:
#echo ‘idle’ > /sys/block/md0/md/sync_action
Чтобы проверить состояние всех RAID -массивов доступны на сервере, используйте команду:
В листинге команды, видим информацию о нашем ранее созданном raid.
Более подробную информацию о конкретном raid-массиве, можно посмотреть командой:
Разберем основные пункты листинга команды:
- Version – версия метаданных;
- Creation Time – дата и время создания raid-массива;
- Raid Level – уровень raid-массива;
- Array Size – объем дискового пространства для raid-массива;
- Used Dev Size – используемый объем для устройств;
- Raid Device – количество дисков в raid-массиве;
- Total Devices – количество добавленных в raid-массив дисков;
- State – текущее состояние (clean – все ОК);
- Active Devices — количество активных дисков в raid-массиве;
- Working Devises — количество рабочих дисков в raid-массиве;
- Failed Devices – количество устройств со сбоями в raid-массиве;
- Spare Devices – количество запасных дисков в raid-массиве;
- Consistency Policy — параметр задающий тип синхронизации после сбоя в raid-массиве, rsync— полная синхронизация после восстановления raid-массива (доступны режимы bitmap, journal, ppl);
- UUID – идентификатор raid-массива
Краткую информацию можно посмотреть с помощью утилиты fdisk:
Восстановление RAID при сбое, замена диска
Если у вас вышел из строя или повредился один из дисков в RAID-массиве, его можно заменить другим. Для начала определим, поврежден ли диск и какой диск нам следует менять.
Из листинга команды, вы видим, что только один диск активен. Так же о проблеме говорит [U_]. Когда оба диска рабочие, вывод будет [UU].
Подробная информация о RAID-массиве также показывает, что естт проблемы:
State : clean, degraded – данная строка указывает на то, что диск в raid-массиве поврежден.
В нашем случае нужно заменить неисправный диск /dev/vdc. Для восстановления массива, нужно удалить нерабочий диск и добавить новый.
Удаляем неиспраный диск:
# mdadm /dev/md0 —remove /dev/vdc
Добавляем в массив новый диск :
# mdadm /dev/md0 —add /dev/vdd
Восстановление диска запустится автоматически после добавления нового диска:
rebuild Status : 69% complete — показывает текущее состояние восстановления массива.
spare rebuilding /dev/vdd — показывает какой диск добавляется к массиву.
После восстановления массива, листинг по дискам выглядит так:
Добавление и удаление дисков в RAID массив на Linux
Чтобы разобрать ранее созданный массив, нужно отмонтировать его :
И выполнить команду:
После разбора массива, он не должен определяться как устройство:
Чтобы собрать массив, который мы ранее разобрали вручную, запустите команду:
# mdadm —assemble —scan
Данная команда просканирует диски из разобранного или развалившегося RAID массива и по метаданным попробует собрать из них RAID.
Если вам нужно удалить рабочий диск из массива и заменить его на другой, нужно для начала пометить рабочий диск как нерабочий:
# mdadm /dev/md0 —fail /dev/vdc
После чего диск можно будет удалить командой::
# mdadm /dev/md0 —remove /dev/vdc
Добавляется новый диск, так же как и в случае с нерабочим диском:
# mdadm /dev/md0 —add /dev/vdd
Добавление Hot-Spare диска в RAID массив
Вы можете добавит в массив hot-spare диск для горячей замены при выходе из строя одного из активных дисков. Добавьте свободный диск в нужный массив:
# mdadm /dev/md0 —add /dev/vdc
После чего проверив статус raid-массива, мы увидим данный диск как spare:
Чтобы проверить, сработает ли «горячая замена» диска, пометим любой из дисков как нерабочий и проверим статус raid-массива:
# mdadm /dev/md0 —fail /dev/vdb
После чего при проверке статуса массива, будет видно, что началась пересборка массива:
Диск /dev/vdb помечен как нерабочий, а hot-spare диск стал одним из активных дисков RAID и запустился процесс восстановления.
Чтобы добавить дополнительный рабочий диск в RAID, нужно выполнить два шага.
Добавить пустой диск массиву:
# mdadm /dev/md0 —add /dev/vdb
Теперь данный диск будет отображаться как hot-spare, чтобы сделать его рабочим, расширим raid-массив:
# mdadm -G /dev/md0 —raid-devices=3
После чего запустится процесс пересборки массива:
После выполнения пересборки, все диски стали активны:
Удаление массива
Если вы хотите безвозвратно удалить raid-массив, используйте следующую схему:
# umount /backup – отмонтируем массив от директории
# mdadm -S /dev/md0 — останавливаем RAID устройство
После чего очищаем все суперблоки на дисках, из которых он был собран:
# mdadm —zero-superblock /dev/vdb
# mdadm —zero-superblock /dev/vdc
Mdmonitor: Мониторинг состояния RAID и email оповещения
Для мониторинга состояния RAID массива можно использовать службу mdmonitor. Сначала нужно создать файл /etc/mdadm.conf с конфигурацией текущего массива:
# mdadm –detail –scan > /etc/mdadm.conf
В конце файла /etc/mdadm.conf добавьте email адрес администратора, на который нужно слать оповещения о проблемах с RAID:
Останолось перезапустить службу mdmonitor через systemctl:
# systemctl restart mdmonitor
После этого система будет оповещать вас по email об ошибках в mdadm и неисправных дисках.
RAID массив в состоянии inactive
При сбоях оборудования или аварийного выключения по питанию, массив может перейти в состояние inactive. Все диски помечаются как неактивные, но ошибок на дисках нет.
В этом случае нужно остановить массив командой:
# mdadm —stop /dev/md0
И пересобрать его:
# mdadm —assemble —scan –force
Если массив прописан в /etc/fstab, нужно перемонтировать его командой:
Утилита mdadm упрощает работу с raid-массивами в Linux. В данной статье я описал основные моменты работы с данной утилитой, а также затронул самые частые вопросы, которые возникают при работе с raid-массивами через утилиту mdadm.
Источник