Linux софтуер RAID, използващ mdadm

mdadm - помощна програма за работа със софтуер RAID-масиви на Linux. В статията ще разгледаме как да работите с помощната програма mdadm (множество дискове администратор) за създаване на масив, добавяне на дискове, управление на дискове, добавяне на гореща резервна и много по-полезна информация.

Съдържание:

  • Инсталирайте софтуерна програма за управление на RAID - mdadm
  • Създаване на RAID от 2 диска
  • Създаване на файлова система на RAID, монтиране
  • Преглед на състоянието, проверете целостта на RAID масива
  • Възстановяване на RAID при неуспех, подмяна на диска
  • Добавяне и премахване на дискове в RAID масив на Linux
  • Добавяне на Hot-Spare диск към RAID масив
  • Изтриване на масив
  • Mdmonitor: Мониторинг на RAID състоянието и имейл сигналите
  • RAID масивът е неактивен

Инсталирайте софтуерна програма за управление на RAID - mdadm

За да инсталирате помощната програма mdadm, изпълнете командата за инсталиране:

  • За Centos / Red Hat се използва yum / dnf: yum инсталирате mdadm
  • За Ubuntu / Debian: apt-get инсталирайте mdadm

В резултат на това на системата ще бъде инсталирана помощната програма mdadm и необходимите библиотеки:

Текуща транзакция Инсталиране: libreport-file system-2.1.11-43.el7.centos.x86_64 1/2 Инсталиране: mdadm-4.1-1.el7.x86_64 2/2 Проверка: mdadm-4.1-1.el7.x86_64 1/2 Проверка: libreport-file system-2.1.11-43.el7.centos.x86_64 2/2 Инсталиран: mdadm.x86_64 0: 4.1-1.el7 Инсталирана зависимост: libreport-filesystem.x86_64 0: 2.1.11-43.el7. centos Complete!

Създаване на RAID от 2 диска

Имам два допълнителни диска, инсталирани на сървъра и искам да понижа софтуерно огледало (RAID1). Дисковете са празни, данните не са им писани. За да започнете, трябва да нулирате всички суперблокове на дисковете, които ще добавим към масива RAID:

# mdadm --zero-superblock --force / dev / vd b, c

Имам два има два празни диска VDB и VDC.

mdadm: Неразпознато md компонентно устройство - / dev / vdb mdadm: Неразпознато md компонентно устройство - / dev / vdc

Този списък означава, че никой от дисковете не е добавен към масива преди..

За сглобяване на софтуера RAID1 от два диска в устройството / dev / md0, използвайте командата:

# mdadm --create --verbose / dev / md0 -l 1 -n 2 / dev / vd b, c

Къде "-l 1„Тип масив, в нашия случай RAID1

A "-n 2„Броят на дисковете, добавени към масива.

Ако трябва да създадете RAID0 в лентов режим, за да увеличите скоростта на четене / запис на данни чрез паралелизиране на команди между няколко физически диска, използвайте командата:

# mdadm --create --verbose / dev / md0 --level = 0 --raid-devices = 2 / dev / vdb / dev / vdc

RAID 5 от три или повече дискове:

# mdadm --create --verbose / dev / md0 --level = 5 --raid-устройства = 3 / dev / vdb / dev / vdc / dev / vdd

След като изпълните командата, трябва да потвърдите действията и масивът ще бъде създаден:

Сега, когато преглеждаме информацията за диска, виждаме нашия масив:

# lsblk

ИМЕ МАЙ: МИН RM РАЗМЕР RO TYPE MOUNTPOINT vda 253: 0 0 20G 0 диск ├─vda1 253: 1 0 512M 0 част / зареждане └─vda2 253: 2 0 19.5G 0 част / vdb 253: 16 0 20G 0 диск └ ─md0 9: 0 0 20G 0 raid1 vdc 253: 32 0 20G 0 диск └─md0 9: 0 0 20G 0 raid1

Създаване на файлова система на RAID, монтиране

За да създадете файлова система ext4 в нашия масив от два диска RAID1, използвайте командата:

# mkfs.ext4 / dev / md0

Създайте резервната директория и монтирайте RAID устройството върху нея:

# mkdir / архивиране
# mount / dev / md0 / архивиране /

# df -h

Използвана размер на файловата система Наличност Използва се% Монтиран на devtmpfs 485M 0 485M 0% / dev tmpfs 496M 0 496M 0% / dev / shm tmpfs 496M 44M 452M 9% / run tmpfs 496M 0 496M 0% / sys / fs / cgroup / dev / vda2 20G 1.4G 19G 7% / / dev / vda1 488M 100M 353M 23% / зареждане tmpfs 100M 0 100M 0% / run / user / 0 / dev / md0 20G 45M 19G 1% / резервно копие 

Масивът беше монтиран без грешки. За да не монтираме устройството всеки път ръчно, ще направим промени в fstab:

# nano / etc / fstab

/ dev / md0 / архивиране ext4 по подразбиране 1 2

Преглед на състоянието, проверете целостта на RAID масива

За да проверите целостта на данните в масива, използвайте командата:

#echo 'check'> / sys / block / md0 / md / синхронизиране

След което трябва да погледнете изхода на файла:

#cat / sys / block / md0 / md / mismatch_cnt

Ако получите 0 в резултат, всичко е наред с вашия масив:

За да спрете валидирането, използвайте командата:

#echo 'idle'> / sys / block / md0 / md / синхронизиране

За да проверите състоянието на всички RAID масиви, налични на сървъра, използвайте командата:

# cat / proc / mdstat

Личности: [raid1] md0: активен raid1 vdc [1] vdb [0] 20954112 блокира супер 1.2 [2/2] [UU]

В списъка на екипите виждаме информация за предишно създадения ни рейд.

За повече информация относно конкретен масив от рейд вижте командата:

# mdadm -D / dev / md0

Нека анализираме основните моменти от списъка на екипа:

  • Версия - версия на метаданните;
  • Време за създаване - дата и час на създаване на рейд масива;
  • Raid Level - ниво на рейд масива;
  • Array Size - дисково пространство за raid масива;
  • Използван Dev Size - използван обем за устройства;
  • Raid Device - броят на дисковете в рейд масива;
  • Общо устройства - броят на дисковете, добавени към рейд масива;
  • Състояние - текущо състояние (чисто - всичко е наред);
  • Активни устройства - броят на активните дискове в рейд масива;
  • Working Devises - броят на работещите дискове в рейд масива;
  • Failed Devices - броят на устройствата с повреди в рейд масива;
  • Резервни устройства - броят на резервните дискове в рейд масива;
  • Политика за последователност - параметър, определящ вида на синхронизацията след неуспех в рейд масив, Rsync - пълна синхронизация след възстановяване на рейд масив (налични са bitmap, journal, ppl режими);
  • UUID - идентификатор на рейд масив

Кратката информация може да бъде разгледана с помощта на помощната програма Fdisk:

# fdisk -l / dev / md0

Диск / dev / md0: 21,5 GB, 21457010688 байта, 41908224 сектори Единици = сектори от 1 * 512 = 512 байта Размер на сектора (логически / физически): 512 байта / 512 байта Размер на I / O (минимален / оптимален): 512 байта / 512 байта

Възстановяване на RAID при неуспех, подмяна на диска

Ако сте се провалили или повредили един от дисковете в RAID масива, можете да го замените с друг. Първо, нека да определим дали дискът е повреден и кой диск трябва да променим..

# cat / proc / mdstat

Личности: [raid1] md0: active raid1 vdb [0] 20954112 блокира супер 1.2 [2/1] [U_] 

От командата за списък виждате, че е активен само един диск. Също така говори за проблема [u_]. Когато и двата диска работят, изходът ще бъде [UU].

Подробната информация за RAID показва също, че има проблеми:

# mdadm -D / dev / md0

/ dev / md0: Версия: 1.2 Време за създаване: вторник, 29 октомври 12:39:22 PM Ниво на Raid: raid1 Размер на масива: 20954112 (19,98 GiB 21,46 GB) Използван Dev Размер: 20954112 (19,98 GiB 21,46 GB) Raid Devices: 2 Общо Устройства: 2 Устойчивост: Суперблокът е постоянен Време за актуализация: Вторник Октомври 29 14:41:13 2019 Състояние: чисти, влошени Активни устройства: 1 Работни устройства: 1 Неуспешни устройства: 1 

Състояние: чист, влошен - този ред показва, че дискът в рейд масива е повреден.

В нашия случай трябва да заменим неуспешния диск / dev / vdc. За да възстановите масива, трябва да премахнете празен диск и да добавите нов.

Премахване на неозвучен диск:

# mdadm / dev / md0 --remove / dev / vdc

Добавете нов диск към масива:

# mdadm / dev / md0 --add / dev / vdd

Възстановяването на диска ще започне автоматично след добавяне на нов диск:

# mdadm -D / dev / md0

/ dev / md0: Версия: 1.2 Време за създаване: вторник, 29 октомври 12:39:22 PM Ниво на Raid: raid1 Размер на масива: 20954112 (19,98 GiB 21,46 GB) Използван Dev Размер: 20954112 (19,98 GiB 21,46 GB) Raid Devices: 2 Общо Устройства: 2 Устойчивост: Суперблокът е постоянен Време за актуализация: вторник 29 октомври 14:50:20 2019 Състояние: чист, влошен, възстановяващ Активни устройства: 1 Работни устройства: 2 Неуспешни устройства: 0 Резервни устройства: 1 Политика на консистенция: Ресинхронизиране Повторно възстановяване Състояние: 69% завършено Име: server.vpn.rucript (локален за хост сървъра.vpn.ru) UUID: 9d59b1fb: 7b0a7b6d: 15a75459: 8b1637a2 Събития: 42 Брой Основни малки RaidDevice State 0 253 16 0 активен синхронизация / dev / vdb 2 253 48 1 резервна възстановка / dev / vdd 

възстановяване състояние: 69% завършен - показва текущото състояние на възстановяване на масива.

резервно възстановяване / dev / vdd - показва кой диск е добавен към масива.

След възстановяване на масива списъкът на дисковете изглежда така:

Състояние: чисти активни устройства: 2 работни устройства: 2 повредени устройства: 0 резервни устройства: 0 

Добавяне и премахване на дискове в RAID масив на Linux

За да анализирате предварително създаден масив, трябва да го демонтирате:

# umount / архивиране

И изпълнете командата:

# mdadm -S / dev / md0

mdadm: спря / dev / md0

След анализа на масива той не трябва да бъде дефиниран като устройство:

# mdadm -S / dev / md0

mdadm: грешка при отваряне / dev / md0: Няма такъв файл или директория

За да сглобим масив, който преди това сме анализирали ръчно, изпълнете командата:

# mdadm - събрание -scan

Тази команда ще сканира дискове от разглобен или свит RAID масив и ще се опита да събере RAID от тях с помощта на метаданни.

Ако трябва да премахнете работния диск от масива и да го замените с друг, първо трябва да маркирате работния диск като неработен:

# mdadm / dev / md0 --fail / dev / vdc

Тогава дискът може да бъде изтрит с командата ::

# mdadm / dev / md0 --remove / dev / vdc

Добавя се нов диск, както е в случая с неработен диск:

# mdadm / dev / md0 --add / dev / vdd

Добавяне на Hot-Spare диск към RAID масив

Можете да добавите към масива гореща резервна устройство с възможност за гореща смяна, ако някой от активните дискове се повреди. Добавете безплатен диск към желания масив:

# mdadm / dev / md0 --add / dev / vdc

След като проверим състоянието на рейд масива, ще видим този диск като резервен:

За да проверите дали „гореща размяна " диск, маркирайте някой от устройствата като неработещ и проверете състоянието на рейд масива:

# mdadm / dev / md0 --fail / dev / vdb

След това при проверка на състоянието на масива ще се види, че възстановяването на масива е започнало:

диск / dev / vdb маркирани като неработещи и горещият резервен диск стана един от активните RAID дискове и процесът на възстановяване стартира.

За да добавите допълнителен работен диск към RAID, трябва да извършите две стъпки.

Добавете празен диск към масива:

# mdadm / dev / md0 --add / dev / vdb

Сега това устройство ще се покаже като гореща резервна, за да работи, разширете рейд масива:

# mdadm -G / dev / md0 -raid-устройства = 3

Тогава ще започне процесът на възстановяване на масива:

След възстановяването всички дискове станаха активни:

Брой Основен мален RaidDevice State 3 253 32 0 активна синхронизация / dev / vdc 2 253 48 1 активна синхронизация / dev / vdd 4 253 16 2 активно синхронизиране / dev / vdb 

Изтриване на масив

Ако искате окончателно да изтриете рейд масива, използвайте следната схема:

# umount / архивиране - демонтиране на масива от директорията

# mdadm -S / dev / md0 - спрете RAID устройството

След това изчистваме всички суперблокове на дисковете, от които е бил сглобен:

# mdadm --zero-superblock / dev / vdb
# mdadm --zero-superblock / dev / vdc

Mdmonitor: Мониторинг на RAID състоянието и имейл сигналите

Можете да използвате услугата, за да наблюдавате състоянието на RAID масив. mdmonitor. Първо трябва да създадете файл /etc/mdadm.conf с конфигурацията на текущия масив:

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

Конфигурационният файл mdadm.conf не се създава автоматично. Тя трябва да бъде създадена и актуализирана ръчно..

В края на файла /etc/mdadm.conf добавете имейл адреса на администратора, на който трябва да изпратите сигнали за проблеми с RAID:

MAILADDR [email protected]

Спря рестартирането на mdmonitor услугата чрез systemctl:

# systemctl рестартирайте mdmonitor

След това системата ще ви уведоми по имейл за грешки в mdadm и дефектни дискове.

RAID масивът е неактивен

В случай на повреда на оборудването или аварийно изключване на захранването, масивът може да премине в състояние неактивен. Всички дискове са маркирани като неактивни, но няма грешки в устройствата.

# cat / proc / mdstat

Личности: [линеен] [многопът] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0: неактивен vdc [1] vdb [0] 20954112 блокира супер неизползвани устройства:  

В този случай трябва да спрете масива с командата:

# mdadm - стоп / dev / md0

И го възстановете:

# mdadm --сглобяване --scan -force

Ако масивът е регистриран в / etc / fstab, трябва да го пренастроите с командата:

# mount -a

Има начини за създаване на софтуерен RAID на вече инсталирана ОС. В този случай ще трябва да копирате ръчно таблиците на всички дялове на новия диск и ръчно да преместите съдържанието на системния диск в RAID от един диск, да почистите първия диск и да го добавите към RAID, след това да коригирате initramfs и GRUB зареждането. Следователно, все още е по-добре, ако изберете режима, инсталирате CentOS на софтуера RAID, когато разгръщате сървъра.

полезност mdadm опростява работата с Raid масиви в Linux. В тази статия описах основните моменти на работа с тази помощна програма и засегнах най-често срещаните въпроси, които възникват при работа с нападение-масиви през помощната програма mdadm.