Это старая версия документа.


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

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

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

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

Кроме того, есть специальный тип RAID-0, который вообще говоря не обеспечивает никакой сохранности и нужен лишь для увеличения скорости работы.

Итак, если вы решили создать RAID массив, вам понадобятся как минимум несколько винчестеров. Но кроме того вам придётся выбрать технологию управления вашим массивом. Существуют три основных возможности: аппаратный RAID-массив, аппаратно-программный RAID-массив и программный RAID-массив. Первые два способа требуют наличия достаточно дорогих RAID-контроллеров и имеют один немаловажный недостаток: если у вас сгорит не винчестер, а RAID-контроллер, то восстановить массив обычно можно будет только достав ровно такой же контроллер. А поскольку нет никаких гарантий, что лет через 5 на рынке всё ещё будет нужное железо, то иногда использование аппаратных RAID-массивов нежелательно. С другой стороны, полностью аппаратный массив никак не зависит от программной начинки компьютера.

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

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

Для создания и управления RAID массивом вам потребуется утилита mdadm, она есть в репозиториях и её можно поставить через Synaptic или командой

sudo aptitude install mdadm

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

В качестве примера будет использоваться RAID-5 массив на дисках sdb1, sdc1 и sde1. Кстати, как уже упоминалось - для создания массива вам нужны не винчестеры целиком, а лишь логические диски (желательно - одинакового объёма, в противном случае размер массива будет рассчитываться исходя из размера диска с минимальным объёмом), но использовать два диска на одном винчестере - очень плохая идея, ибо это уничтожает весь смысл применения RAID.

Итак, для начала нужно подготовить разделы, которые вы хотите включить в RAID, присвоив им тип fd (Linux RAID Autodetect) Это не обязательно, но желательно. В Ubuntu 9.10 это можно легко сделать с помощью Дисковой утилиты, которую можно найти в меню Система→Администрирование. Она же называется palimpsest. В консоли поменять тип раздела можно с помощью программы fdisk, но её использование не совсем тривиально.

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

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

mdadm --create --verbose /dev/md0 --level=5 \
  --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

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

mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: /dev/sdb1 appears to contain an ext2fs file system
    size=48160K  mtime=Sat Jan 27 23:11:39 2007
mdadm: /dev/sdc1 appears to contain an ext2fs file system
    size=48160K  mtime=Sat Jan 27 23:11:39 2007
mdadm: /dev/sde1 appears to contain an ext2fs file system
    size=48160K  mtime=Sat Jan 27 23:11:39 2007
mdadm: size set to 48064K
Continue creating array? y
mdadm: array /dev/md0 started.

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

To be continued…