пятница, октября 03, 2008

Строим raid-0 или ускоряем диски в Linux

Иногда хочется чтобы диски работали быстрее, особенно в играх. Для того чтобы ускорить быстродействие дисковой подсистемы, можно построить на базе двух дисковых разделов разных винчестеров raid-0 c чередованием. Такой способ должен дать существенный прирост скорости дисковых операций, однако с т.з. надежности это плохой вариант, и об этом следует помнить. Однако где можно применить raid-0 ? На домашней системе это конечно же игры. Если же раздел raid-0 сломается из-за сбоя одного из дисков, то это совсем не страшно, игру можно в конце концов и переустановить. Кроме того raid-0 особенно может подойти при размещении на нем тестовых виртуальных машин, поскольку такие системы и так не очень быстрые, то raid-0 поможет ускорить работу с виртуальными машинами.

Не следует использовать raid-0 для хранения важных документов, фотографий и подобной информации, которая представляет ценность для ее владельца, по причине низкой надежности raid-0.

Итак, приступим. Для построения raid-0 воспользуемся инструментом mdadm. Вначале следует выделить на каждом из винчестеров по одному разделу одинакового размера, сделать это можно с помощью команды fdisk или графического интерфейса, смотря что удобнее. Как сделать раздел с помощью fdisk можно почитать в документации к этой команде. Пусть теперь скажем имеется два раздела на разных винчестерах: /dev/hdb1 и /dev/sdb1 оба одинакового размера например 80Gb.
Создание массива c чередованием (именно он даст выигрыш в скорости) будет выглядеть так:

mdadm --create /dev/md0 --level=stripe --raid-devices=2 /dev/hdb1 /dev/sdb1

Запуск команды следует делать от имени пользователя root.
В результате мы будем иметь устройство /dev/md0 данные в котором на самом деле поочередно находятся в указанных выше устройствах.

Далее, надо создать файловую систему на новом устройстве. Например создадим reiserfs:

mkreiserfs /dev/md0
(из других фс можно порекомендовать например ext3)

Теперь создаем точку монтирования (назовем ее raidfs) в /mnt:

mkdir /mnt/raidfs

И монтируем туда устройство:

mount /dev/md0 /mnt/raidfs

Не забываем записать новую ФС в файл /etc/fstab чтобы она автоматически монтировалась при каждой загрузке:

/dev/md0 /mnt/raidfs reiserfs defaults 0 0

Быстродействие полученной ФС будет больше, чем такой же ФС но на обычном разделе, однако важные данные хранить на ней не стоит.