Задание №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 раза за счет одновременного обращения к нескольким накопителям.
- Недостатки:
- Полное отсутствие избыточности (отказоустойчивости). При выходе из строя хотя бы одного диска теряются все данные массива!
Ключевые утилиты:
parted— мощный редактор разделов дисков, поддерживающий как MBR (msdos), так и GPT. В задании используется интерактивный режим для быстрой разметки дисков/dev/sdbи/dev/sdcи установки на разделы флагаraid.mdadm(Multiple Devices Admin) — стандартная системная утилита Linux для создания, сборки, управления и мониторинга программных RAID-массивов ядра./etc/mdadm.conf— конфигурационный файл, хранящий метаданные и уникальные UUID массивов. Гарантирует, что массив будет собран под именем/dev/md0при загрузке системы независимо от порядка инициализации шин дисков./etc/fstab— таблица статического монтирования файловых систем.
2. Пошаговая настройка на сервере HQ-SRV
Шаг 1. Проверка обнаруженных накопителей
Перед разметкой убедитесь, что гипервизор передал виртуальной машине два дополнительных диска (обычно /dev/sdb и /dev/sdc объёмом по 1G):
lsblkПример корректного вывода:
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 для первого диска:
parted /dev/sdbВ консоли (parted) последовательно вводим команды:
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:
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) и сохраняем в файл конфигурации:
# Дописываем информацию о массиве в конфигурационный файл
mdadm --detail --scan >> /etc/mdadm.conf
# Проверяем сформированную запись
mdadm --detail --scanПример корректного вывода:
ARRAY /dev/md0 metadata=1.2 name=hq-srv:0 UUID=3a1b2c3d:4e5f6a7b:8c9d0e1f:2a3b4c5dШаг 5. Форматирование в файловую систему ext4
Создаём современную файловую систему ext4 на логическом блочном устройстве /dev/md0:
mkfs.ext4 /dev/md0Утилита выделит блоки, создаст иноды и запишет журнал файловой системы.
Шаг 6. Настройка точки монтирования и автомонтирования в /etc/fstab
# 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:
# Монтируем все файловые системы, описанные в /etc/fstab
mount -avФлаг -a указывает примонтировать все файловые системы, а флаг -v (verbose) подробно выведет результат. В выводе должна появиться строка:
/raid : successfully mountedПроверяем фактический размер и тип смонтированного тома:
df -T /raidПример вывода:
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/md0 ext4 2030488 48 1909856 1% /raidОбщий полезный объём тома составляет около 2 Гб (~2030488 KB), что подтверждает успешное объединение двух дисков по 1 Гб в режиме RAID 0.
3. Дополнительные команды для диагностики на экзамене
Для проверки состояния массива ядра в любой момент можно выполнить:
# Просмотр детальной информации о массиве
mdadm --detail /dev/md0
# Просмотр статуса RAID ядра Linux
cat /proc/mdstatВывод cat /proc/mdstat:
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).
