21.5. Объекты Vinum
Пред. | Глава 21. Менеджер дискового пространства Vinum | След.

## 21.5. Объекты Vinum

Для обеспечения необходимой функциональности Vinum использует четырехуровневую иерархию объектов:

- "Видимая снаружи" сущность — виртуальный диск, называемый томом (volume). Тома в основном аналогичны дискам UNIX®, хотя имеются и мелкие различия. На тома нет ограничений по размеру.

- Тома образуются из наборов (plex), каждый из которых представляет полное адресное пространство тома. Данный уровень иерархии, таким образом, реализует избыточность. Наборы являются аналогами отдельных дисков в зеркалированном массиве; содержимое наборов идентично.

- Поскольку Vinum работает в среде подсистемы хранения данных UNIX®, многодисковые наборы можно было бы реализовать на базе дисковых разделов UNIX®. На практике, подобная реализация недостаточно гибка (диски UNIX® могут иметь весьма ограниченное число разделов). Вместо этого Vinum вводит еще один уровень абстракции: единый дисковый раздел UNIX® (drive в терминах Vinum) делится на непрерывные области, называемые поддисками (subdisk), которые и будут "строительным материалом" для наборов.

- Поддиски, как уже упоминалось, располагаются внутри приводов (drive) Vinum, существующих дисковых разделов UNIX®. Привод может содержать неограниченное количество поддисков. Небольшая область в начале привода зарезервирована под хранение информации о конфигурации и состоянии Vinum; все остальное пространство пригодно для хранения данных.

Сейчас мы опишем, как эта иерархия обеспечивает необходимую функциональность для Vinum.

### 21.5.1. Размер тома

Наборы могут состоять из большого количества поддисков, распределенных по разным приводам Vinum. Стало быть, размеры отдельных дисков не ограничивают размер набора, а следовательно, и тома.

### 21.5.2. Избыточность

Vinum реализует избыточность посредством связывания с томом нескольких наборов. Содержимое каждого набора является полной копией содержимого тома. Количество наборов в томе может быть от одного до восьми.

Хотя набор представляет данные тома целиком, отдельные части содержимого тома могут быть представлены не всеми наборами. Во-первых, для некоторых частей набора поддиски могут быть не определены; во-вторых, часть набора может быть потеряна из-за отказа диска. До тех пор, пока хотя бы один набор может обеспечить данные для полного адресного пространства тома, том полностью функционален.

### 21.5.3. Производительность

Vinum поддерживает как конкатенацию, так и перемежение на уровне наборов:

- Сцепленный набор использует пространство поддисков последовательно, склеивая их "встык".

- Набор с перемежением разбивает данные по поддискам в соответствии с размером страйпа. Поддисков должно быть по меньшей мере два (чтобы отличить набор от сцепленного), и все они должны быть одинакового размера.

### 21.5.4. Организация наборов: что выбрать?

Vinum, распространяемый с FreeBSD версии 9.1 поддерживает два вида организации наборов:

- Сцепленные наборы наиболее гибки в использовании: они могут содержать любое количество поддисков произвольного размера. Такой набор может быть расширен "на лету" путем добавления дополнительных поддисков. Поддержка сцепленных наборов требует меньших затрат процессорного времени, чем поддержка наборов с перемежением (хотя различие вряд ли поддается измерению). С другой стороны, они наиболее чувствительны к концентрации нагрузки в одной области тома, при которой один из дисков принимает на себя всю нагрузку, а остальные бездействуют.

- Основным преимуществом наборов с перемежением (RAID-0) является распределение "горячих точек" нагрузки; вы можете даже полностью уравнять ее, выбрав оптимальный размер страйпа (около 256 kB). Недостатки такой организации — более сложный код и ограничения на поддиски: все они должны быть строго одного размера. Кроме того, процесс добавления поддиска в набор с перемежением "на ходу" является настолько нетривиальной задачей, что в настоящее время Vinum не поддерживает эту операцию. Дополнительное (тривиальное) ограничение состоит в том, что набор с перемежением должен содержать как минимум два поддиска, иначе он будет неотличим от сцепленного.

Преимущества и недостатки различных методов организации наборов описаны в Таблица 21.1, «Методы организации наборов Vinum».

Таблица 21.1. Методы организации наборов Vinum

Тип набора | Поддисков, мин. | Расширяется "на лету" | Поддиски строго одного размера | Применение
--- | --- | --- | --- | ---
сцепленный (concatenated) | 1 | да | нет | Крупные системы хранения, требующие максимальной гибкости и умеренной производительности
с перемежением (striped) | 2 | нет | да | Высокая производительность, в том числе в случае параллельного доступа к данным

Пред. | Наверх | След.
21.4. Целостность данных | Начало | 21.6. Несколько примеров

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.