GEOM и трюки с дисками

Операционная система FreeBSD обладает чрезвычайно гибкой системой управления дисками, которая называется GEOM. GEOM – это инфраструктура, позволяющая разработчикам ядра достаточно просто создавать модули, которые называются классами GEOM, для обеспечения функционирования дисков различных типов. Операционная система FreeBSD использует GEOM для обеспечения поддержки шифрования, журналирования, разнообразных программных RAID-мас- сивов и экспортирования дисковых устройств по сети. Инструментальные средства GEOM обеспечивают гибкость, избыточность и простоту реализации как для разработчиков, так и для системных администраторов. В этой главе мы сначала рассмотрим способы разбиения дисков в операционной системе FreeBSD, а затем обратимся к некоторым классам GEOM.

На протяжении всей главы мы будем экспериментировать с дисковыми устройствами. Затрагивая разбиение или формат диска, вы всякий раз рискуете лишиться хранящихся на нем данных. Даже в процессе обучения, работая с неиспользуемой частью диска и не касаясь разделов с данными, помните, что риск все равно есть. Создайте резервную копию всех своих данных. Но лучше найти неиспользуемый диск и экспериментировать с ним! (С другой стороны, если вы станете тренироваться на диске, где хранятся ваши драгоценные данные, это заставит вас тщательнее сосредоточиться на выполняемых действиях.)

В частности, мы рассмотрим форматы дисков, используемые в системах i386 и amd64. На других платформах используются несколько отличающиеся системы управления дисками. На платформе SPARC метка диска находится в начале диска, а таблица участков отсутствует. На платформе ia64 используются участки, основанные на GPT, тогда как разбиение дисков ARM – самая простая часть работы по запуску FreeBSD на этой платформе.

Суть GEOM

GEOM – это универсальная платформа, позволяющая производить многоуровневую обработку устройств хранения данных. Различные модули GEOM выполняют представление носителей информации разными способами. Кроме того, эти модули являются наращиваемыми; вывод одного модуля может быть использован как ввод другого. Требуется зеркалировать жесткие диски? Запросто. А как насчет зеркали- рования по сети? Нет проблем. А что если необходимо зашифровать диск при зеркалировании по сети? Разбудите меня, когда вам понадобится что-то посложнее, ребята. Замечу, что операционная система FreeBSD не обещает высокую производительность при использовании слишком большого числа уровней GEOM, но дело будет сделано.

Инфраструктура GEOM делит устройства хранения на потребителей и провайдеров. Потребитель (consumer) лежит ниже уровня модуля, тогда как провайдер (provider) предоставляет свои услуги следующему, более высокому уровню. Предположим, что мы используем класс GEOM для зеркалирования жестких дисков /dev/daO и /dev/dal на виртуальный диск /dev/mirror/mirrorO. Физические дисковые устройства потребляются виртуальным зеркальным диском, при этом комбинированное дисковое устройство /dev/mirror/mirrorO является провайдером, предоставляющим услуги следующему уровню.

С точки зрения FreeBSD все провайдеры одинаковы. Физический жесткий диск – это лишь один из провайдеров. Вполне возможно поместить файловую систему на провайдер или превратить /dev/mirror/ mirrorO в потребителя модуля шифрования. В любом случае, чтобы использовать какую-то из расширенных возможностей системы управления дисками, вы должны знать чуть больше.

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий