Skip to content

Задание №2: Файловое хранилище RAID 0 на сервере HQ-SRV ​

В данном задании на сервере центрального офиса (HQ-SRV) на базе двух дополнительных виртуальных дисков размером по 1 Гб настраивается программный дисковый массив уровня RAID 0 (stripe).

Массив форматируется в файловую систему ext4, сохраняется в конфигурации /etc/mdadm.conf и настраивается на постоянное автоматическое монтирование в точку /raid при загрузке операционной системы.

Место выполнения

Все действия выполняются под пользователем root на сервере HQ-SRV (hq-srv.au-team.irpo).


1. Теоретическая справка: программный RAID в Linux ​

Что такое RAID 0 (Stripe / Чередование)? ​

RAID 0 — метод объединения двух и более дисков в один логический том, при котором данные разбиваются на блоки одинакового размера и записываются на диски параллельно (поочередно).

  • Преимущества:
    • Суммирование дискового пространства: 1 Гб + 1 Гб ≈ 2 Гб доступного объема.
    • Увеличение скорости чтения и записи практически в 2 раза за счет одновременного обращения к нескольким накопителям.
  • Недостатки:
    • Полное отсутствие избыточности (отказоустойчивости). При выходе из строя хотя бы одного диска теряются все данные массива!

Ключевые утилиты: ​

  1. parted — мощный редактор разделов дисков, поддерживающий как MBR (msdos), так и GPT. В задании используется интерактивный режим для быстрой разметки дисков /dev/sdb и /dev/sdc и установки на разделы флага raid.
  2. mdadm (Multiple Devices Admin) — стандартная системная утилита Linux для создания, сборки, управления и мониторинга программных RAID-массивов ядра.
  3. /etc/mdadm.conf — конфигурационный файл, хранящий метаданные и уникальные UUID массивов. Гарантирует, что массив будет собран под именем /dev/md0 при загрузке системы независимо от порядка инициализации шин дисков.
  4. /etc/fstab — таблица статического монтирования файловых систем.

2. Пошаговая настройка на сервере HQ-SRV ​

Шаг 1. Проверка обнаруженных накопителей ​

Перед разметкой убедитесь, что гипервизор передал виртуальной машине два дополнительных диска (обычно /dev/sdb и /dev/sdc объёмом по 1G):

bash
lsblk

Пример корректного вывода:

text
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  20G  0 disk 
├─sda1   8:1    0   1G  0 part /boot
└─sda2   8:2    0  19G  0 part /
sdb      8:16   0   1G  0 disk 
sdc      8:32   0   1G  0 disk

Шаг 2. Разметка дисков через parted ​

Для работы в массиве на каждом диске создаётся таблица разделов msdos (MBR), раздел на весь объем диска с выравниванием 1MiB и флагом raid on.

Запускаем интерактивную утилиту parted для первого диска:

bash
parted /dev/sdb

В консоли (parted) последовательно вводим команды:

text
mklabel msdos
mkpart primary 1MiB 100%
set 1 raid on
print
select /dev/sdc
mklabel msdos
mkpart primary 1MiB 100%
set 1 raid on
print
quit

Разбор команд parted:

  • mklabel msdos — создает классическую таблицу разделов MBR.
  • mkpart primary 1MiB 100% — создает основной раздел (primary), начиная с отступа в 1 мегабайт (для правильного выравнивания секторов) и занимающий 100% объема диска.
  • set 1 raid on — выставляет на раздел №1 специальный флаг raid (тип раздела 0xfd Linux RAID autodetect).
  • print — отображает текущую таблицу разделов для визуального контроля.
  • select /dev/sdc — переключает контекст утилиты parted на второй накопитель /dev/sdc без необходимости выхода.
  • quit — сохраняет изменения в таблицу разделов и завершает работу утилиты.

После завершения повторно выполните lsblk: под дисками sdb и sdc появятся разделы sdb1 и sdc1 типа part.


Шаг 3. Создание RAID-массива уровня 0 ​

Объединяем созданные разделы /dev/sdb1 и /dev/sdc1 в единое устройство /dev/md0:

bash
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1

Что делают параметры:

  • --create /dev/md0 — команда на создание нового логического RAID-устройства с именем /dev/md0.
  • --level=0 — уровень массива (RAID 0, чередование полос / stripe).
  • --raid-devices=2 — количество активных дисков/разделов в массиве.
  • /dev/sdb1 /dev/sdc1 — перечень входящих физических разделов.

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

Если утилита выведет предупреждение о том, что разделы могут содержать остаточные метаданные или файловые системы, подтвердите операцию, введя y и нажав Enter.


Шаг 4. Фиксация конфигурации массива в /etc/mdadm.conf ​

Чтобы массив корректно и однозначно определялся при перезагрузке ОС, сканируем его метаданные (включая уникальный UUID) и сохраняем в файл конфигурации:

bash
# Дописываем информацию о массиве в конфигурационный файл
mdadm --detail --scan >> /etc/mdadm.conf

# Проверяем сформированную запись
mdadm --detail --scan

Пример корректного вывода:

text
ARRAY /dev/md0 metadata=1.2 name=hq-srv:0 UUID=3a1b2c3d:4e5f6a7b:8c9d0e1f:2a3b4c5d

Шаг 5. Форматирование в файловую систему ext4 ​

Создаём современную файловую систему ext4 на логическом блочном устройстве /dev/md0:

bash
mkfs.ext4 /dev/md0

Утилита выделит блоки, создаст иноды и запишет журнал файловой системы.


Шаг 6. Настройка точки монтирования и автомонтирования в /etc/fstab ​

bash
# 1. Создаём точку монтирования в корневой файловой системе
mkdir /raid

# 2. Делаем резервную копию системного файла монтирования
cp /etc/fstab /etc/fstab.back

# 3. Добавляем запись автомонтирования в fstab
echo "/dev/md0 /raid ext4 defaults 0 0" >> /etc/fstab

Разбор параметров строки fstab:

  • /dev/md0 — блочное устройство массива.
  • /raid — точка монтирования (каталог, куда монтируется накопитель).
  • ext4 — тип используемой файловой системы.
  • defaults — стандартный набор опций монтирования ядра (rw, suid, dev, exec, auto, nouser, async).
  • 0 — отключение создания резервной копии утилитой dump.
  • 0 — порядок проверки файловой системы утилитой fsck при загрузке (для некорневых томов допускается 0 или 2).

Шаг 7. Проверка монтирования и свободного пространства ​

Никогда не перезагружайте сервер вслепую после правки /etc/fstab! Всегда проверяйте применение файла командой mount -av:

bash
# Монтируем все файловые системы, описанные в /etc/fstab
mount -av

Флаг -a указывает примонтировать все файловые системы, а флаг -v (verbose) подробно выведет результат. В выводе должна появиться строка:

text
/raid                    : successfully mounted

Проверяем фактический размер и тип смонтированного тома:

bash
df -T /raid

Пример вывода:

text
Filesystem     Type  1K-blocks  Used Available Use% Mounted on
/dev/md0       ext4    2030488    48   1909856   1% /raid

Общий полезный объём тома составляет около 2 Гб (~2030488 KB), что подтверждает успешное объединение двух дисков по 1 Гб в режиме RAID 0.


3. Дополнительные команды для диагностики на экзамене ​

Для проверки состояния массива ядра в любой момент можно выполнить:

bash
# Просмотр детальной информации о массиве
mdadm --detail /dev/md0

# Просмотр статуса RAID ядра Linux
cat /proc/mdstat

Вывод cat /proc/mdstat:

text
Personalities : [raid0] 
md0 : active raid0 sdc1[1] sdb1[0]
      2095104 blocks super 1.2 512k chunks

Итог выполнения Задания №2

Массив /dev/md0 уровня RAID 0 успешно создан, сконфигурирован в /etc/mdadm.conf, отформатирован в ext4 и готов для размещения общего каталога NFS в /raid/nfs (Задание №3).

Работает на VitePress • Быстрый и удобный движок для документации