Vinum ведет базу данных конфигурации, в которой описаны все объекты Vinum в отдельной системе. Начальная конфигурация создается пользователем при помощи системной утилиты gvinum(8) из одного или нескольких конфигурационных файлов. Копия конфигурации хранится в начале каждого дискового раздела (привода) Vinum. Все копии обновляются при изменении состояния томов, поэтому после перезапуска состояние объектов Vinum восстанавливается.
Конфигурационный файл описывает объекты Vinum. Описание простого тома может быть таким:
Здесь описываются четыре объекта Vinum:
Строка drive объявляет дисковый раздел (привод) и его местоположение на физическом диске. Приводу дано символьное имя a. Разделение символьных имен и имен устройств дает возможность перемещать физические диски (например, по разным контроллерам, или менять их местами) без изменения конфигурации.
Строка volume описывает том. Единственным требуемым параметром является имя тома myvol.
Строка plex определяет набор. Единственный обязательный параметр — метод организации набора, в нашем случае concat (сцепленный). Давать набору имя в явном виде не обязательно: Vinum автоматически сгенерирует имя набора из имени тома и суффикса .px, где x — номер набора в томе. В нашем случае набор будет называться myvol.p0.
Наконец, строка sd описывает поддиск. Минимальными требованиями к его описанию являются имя привода, на котором он будет располагаться, и его размер. Как и в случае набора, имя указывать не обязательно: имя поддиска будет построено добавлением .sx к имени набора, где x будет номером поддиска в наборе. Наш поддиск получит имя myvol.p0.s0.
В результате обработки такого конфигурационного файла gvinum(8) выдаст нам следующее:
#
gvinum -> create config1
Configuration summary
Drives: 1 (4 configured)
Volumes: 1 (4 configured)
Plexes: 1 (8 configured)
Subdisks: 1 (16 configured)
D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)
V myvol State: up Plexes: 1 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MBНа этом кратком листинге показан формат вывода gvinum(8). Графически созданный нами том представлен на Рисунок 21.4, «Простой том Vinum».
Этот и последующие рисунки изображают том, содержащий один или несколько наборов, каждый из которых, в свою очередь, состоит из одного или нескольких поддисков. В первом тривиальном примере том состоит из одного набора, представленного одним поддиском.
Построенный нами только что том не имеет никаких преимуществ перед обычным дисковым разделом. Он содержит единственный набор, так что не обеспечивает избыточность; набор состоит из одного поддиска, поэтому методика распределения дисковых блоков ничем не отличается от дискового раздела. В последующих параграфах мы рассмотрим более интересные конфигурации.
Надежность тома может быть повышена при помощи зеркалирования. Планируя зеркалированный том, важно не забыть о том, чтобы поддиски каждого набора располагались на разных физических дисках, чтобы отказ одного из них не привел к выходу из строя более чем одного набора. Вот конфигурация, определяющая зеркалированный том:
Как мы видим, нет необходимости вновь описывать привод a, поскольку Vinum сохраняет состояние уже сконфигурированных объектов. После обработки этих определений конфигурация будет выглядеть так:
Рисунок 21.5, «Зеркалированный том Vinum» иллюстрирует структуру полученного тома.
В данном примере каждый набор содержит все 512 MB адресного пространства тома. Как и в предыдущем случае, каждый набор состоит из одного поддиска.
Зеркалированный том из предыдущего примера гораздо более отказоустойчив, чем обычный том, но его производительность ниже: каждый запрос на запись выливается в две операции физической записи, что вдвое увеличивает необходимую пропускную способность шины дисковой подсистемы. Увеличение производительности требует иного подхода: вместо зеркалирования данные распределяются (перемежением) по максимальному количеству физических дисков. Следующий пример конфигурации создает том с перемежением на четырех дисках:
Как и ранее, нет необходимости переопределять уже сконфигурированные приводы. Общий вид базы конфигурации Vinum после создания нового тома будет таким:
Новосозданный том представлен на Рисунок 21.6, «Том с перемежением». Плотность заштрихованных участков показывает расположение страйпов в адресном пространстве набора (от светлых к темным).
При наличии достаточного количества дисков можно создать том, сочетающий повышенную отказоустойчивость и высокую производительность по сравнению со стандартными дисковыми разделами UNIX®. Типичная конфигурация может быть такой:
Как вы можете заметить, поддиски второго набора смещены на два привода относительно поддисков первого. В результате даже при запросе на запись, пересекающем границы страйпа, не возникнет двух обращений к одному физическому диску.
Рисунок 21.7, «Зеркалированный том с перемежением» отражает структуру нового тома.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.