DragonFly. Интермедия: знание через силу. Диски, слайсы, разделы

Алексей Федорчук

Нынче (и довольно давно) в DragonFly применяется система размещения данных Hammer, которая объединяет функции управления разделами, их логическими томами и собственно файловой системы. И о которой я рассчитываю рассказать со временем. Однако не потеряла актуальности и традиционная для BSD файловая система на базе FFS — таковой в DragonFly выступает UFS, унаследованная от FreeBSD 4-й ветки. В частности, и потому, что Hammer очень не рекомендуется использовать на дисках (или разделах) объёмом менее 50 ГБ. Впрочем, в обоих случаях разметка диска, являющаяся темой этой страницы, выполняется одинаково, различаясь лишь некоторыми деталями.

Правильная разметка целевого диска, то есть создание на нём разделов под файловые системы, необходимые для размещения устанавливаемой ОС, — очень важный момент при инсталляции любой системы, даже Windows (хотя её-то пользователи часто не отдают себе в этом отчёта). А в случае с BSD важность его усугубляется двумя факторами.

Первый — это значительные отличия схемы дисковой разметки BSD-систем не только от принятой в DOS/Windows, но и в Linux. Причём различия эти проявляются как в терминологии, так и в сути явления.

Второй же фактор — разметка диска в BSD-стиле — это, пожалуй, чуть ли не единственный момент во всём процессе инсталляции, который по её завершении может быть изменён с большими трудозатратами: методов переразметки разделов без потери данных, как в ряде случаем возможно для Linux, здесь не предусмотрено. Так что ошибки при создании разделов на стадии установки крайне нежелательны. Дабы уменьшить их вероятность, ниже и даётся довольно подробное описание принципов дисковой разметки в BSD-стиле.

Все, кому приходилось устанавливать какую-либо ОС собственноручно, знают, что диск принято делить на разделы — далее под словом «диск» понимаются не только традиционные HDD, но SSD, получающие и всё более широкое распространение. В принципе, система может быть установлена и на цельный, никак не размеченный, диск (так называемое raw-устройство), однако этот метод применяется очень редко, и только для специальных задач, к которым десктопное применение не относится.

В настоящее время применяется два типа базовой разметки носителей — MBR и . Последняя, хотя и существует довольно давно, последнее время вошла в моду — в частности используется во FreeBSD. Так что о ней поговорим в другой раз — когда я доберусь до FreeBSD 10. Разработчики же DragonFly сохранили верность традиционной MBR-разметке, о которой и будет говориться далее.

При разметке в стиле MBR разделов носителе может быть максимум четыре штуки — информация о большем количестве не помещается в главной загрузочной записи (MBR — Master Boot Record, откуда и название стиля разметки). Эти разделы в DOS/Windows и Linux принято называть первичными (Primary Partitions), или, не совсем точно, физическими. А в BSD для них принят термин «слайс» (slice — в данном контексте это слово можно перевести как отрезок).

Представление о первичных разделах исторически унаследовано от устройства BIOS первых IBM-совместимых компьютеров. А вот дальнейшее их дробление уже определяется операционной системой, которая предполагается для установки на эти разделы. И тут уже вступают в силу ОС-специфичные стили разметки разделов, предопределённые присвоенными им идентификаторами типа файловой системы.

Пользователи как DOS/Windows/NT, так и Linux практически сталкиваются только с одним стилем разметки, который обычно называется DOS-стилем. Он основан на том, что один из первичных разделов объявляется разделом расширенным (Extended Partition) путём присвоения ему соответствующего численного идентификатора. Помеченный таким образом раздел выступает в качестве контейнера, который может быть поделён далее на логические диски по цепочечному принципу (или принципу матрёшки). То есть внутри Extended-раздела выделяется две области, одна из которых объявляется логическим диском, пригодным для хранения данных, а другая определяется как расширенный раздел следующего уровня вложенности. Который, в свою очередь, также может содержать ещё один логический диск и расширенный раздел, и так далее. Впрочем, к BSD-разметке, о которой у нас пойдёт речь, это отношения не имеет.

Дисковый раздел, отведённый под BSD-систему, то есть слайс BSD, также может быть поделён на логические разделы, которые в терминологии этой ОС так просто и именуются разделами (BSD partitions). Принцип деления слайса тут другой — он нарезается как бы линейно на серию разделов. Максимальное число разделов, которые могут быть использованы для размещения на них файловых систем, до некоторых пор не могло превышать шести, хотя реально и это количество достижимо только на одном слайсе одного физического диска данной машины. Однако в DragonFly уже с давних пор поддерживается до 16 разделов на слайсе, правда, с той же оговоркой, о чём будет сказано ниже.

Далее, в отличие от DOS-стиля разметки, BSD-разделы могут быть созданы внутри каждого из четырёх теоретически возможных — Extended-раздел, как известно, может присутствовать на физическом диске в единственном экземпляре (хотя причины этого остаются покрыты мраком неизвестности). Правда, никто к этому не понуждает — как, впрочем, и к созданию максимально возможного количества разделов.

Более того, теоретически физический диск может вообще не делиться на слайсы — в т.н. режиме эксклюзивного использования он может быть нарезан на разделы непосредственно. Правда, в инсталляторе DragonFly штатно это не предусмотрено — такого результата можно добиться только мануально. Хотя делать это уже давно не рекомендуется.

Кроме слайсов и разделов, нам придётся иметь дело с так называемыми логическими томами (logical volumes) или пулами (pool). В них обычно объединяется по определённым правилам несколько дисковых разделов (реже слайсов или даже дисков в эксклюзивном режиме), после чего они выглядят для системы как единый накопитель, который, в свою очередь, может быть также поделен на разделы или уже непосредственно на файловые системы. Такие объединённые тома используются, например, для создания программных RAID-массивов. Подобный же механизм применяется и в файловой системе Hammer.

Предварение | Интермедия: содержание | Продолжение
Оглавление