FreeBSD: номенклатура дисков
Номенклатура носителей информации во FreeBSD подчиняется более простым правилам, нежели в Linux, и за всю историю этой ОС менялась всего один раз -- при смене подсистемы ядра, отвечающей за работу с IDE-накопителями: с древних времён и по версию 3 включительно файлы этих устройств именовались /dev/wd#
, с версии 4 и по настоящее время зовутся /dev/ad#
. Диски же с интерфейсом SCSI испокон веков носят имена вида /dev/da#
, как и USB-флэшки и подобные им накопители (карты цифровых камер и так далее).
В отличие от Linux, SATA-диски во FreeBSD унаследовали номенклатуру своих PATA-предшественников. Зато собственные имена получили диски, подсоединённые к дополнительным контроллерам ATA-RAID. Независимо от того, включены ли они в аппаратные RAID-массивы или используются просто в режиме обычных IDE, имена таких дисков будут иметь вид /dev/ar#
.
Также надо сказать: CD/DVD-приводы во FreeBSD исстари и поныне имеют собственные имена, причём разные для разных интерфейсов: /dev/acd
для ATAPI и /dev/cd
для SCSI.
Интересно, что (опять же в отличие от Linux), что переход, начиная 5-й ветки, на файловую систему devfs не повлёк за собой смены номенклатуры. Единственное новшество, которая она принесла в систему именования накопителей, связан с теми же дополнительными контроллерами ATA-RAID. Как только что говорилось, в любом из двух возможных режимов их работы файлы подсоединённых к ним устройств называются /dev/ar#
. Однако с внедрением devfs при работе этих контроллеров в режиме обычных IDE для тех же самых дисков возникают параллельно и имена вида /dev/ad#
, причём те и другие абсолютно равноправны, и обращаться к ним можно, используя любое имя.
И вообще реализация devfs во FreeBSD оказалась вполне удачной, почему и применяется в этой ОС по сей день.
Индивидуальные накопители во FreeBSD, в отличие от Linux, маркируются не литерами, а цифрами, причём нумеруются они с нуля: /dev/ad0
, /dev/ad1
и так далее.
Как и в Linux'е, именование устройств во FreeBSD по умолчанию статическое, то есть диску, подключённому как Slave на втором IDE-канале, всегда будет соответствовать файл /dev/ad3
, вне зависимости от наличия или отсутствия в машине других носителей информации. И, скажем, подключение диска на первый IDE-канал имени ранее подключённого винчестера не изменит.
Однако это правило можно изменить, пересобрав ядро с опцией динамического именования. В этом случае тот же самый Slave на втором канале, будучи в единственном экземпляре, воспримется системой как /dev/ad0
, а подключение любого "впереди идущего" диска изменит его имя на /dev/ad1
. Во времена исключительного использования интерфейса PATA это было неудобно, почему по умолчанию и принят (по сей день) обратный, статический, порядок. Однако с внедрением дисков SATA такая пересборка может иметь смысл, и сейчас я расскажу, почему.
Во FreeBSD первые четыре номера дисков, от 0 до 3, зарезервированы за накопителями, подсоединёнными к PATA-контроллеру, который некогда был основным, и мог нести до четырёх устройств. Однако нынче он давно превратился в дополнительный, и имеет обычно только один разъём на два устройства, а то и вовсе отсутствует.
Поэтому SATA диск, подсоединённый к первому из соответствующих разъёмов,получает следующий номер, то есть 4. А накопитель, подсоединённый ко второму разъёму, будет маркирован как? правильно, номером 6-м. Потому что система по прежнему предполагает, что на одном разъёме может сидеть два устройства, хотя в случае с SATA этого не может быть, потому что этого не может быть никогда. И при задействовании остальных STA-разъёмов будет продолжаться та же самая чересполосица номеров.
Само по себе это не страшно, но требует привычки. Так что, возможно, кому-то покажется целесообразным изменить нумерацию устройств на динамическую. Тем более что для SATA-дисков порядок подключения не имеет такого сакрального смысла, как это было во времена господства интерфейса PATA.
В заключение просуммируем всё сказанное выше для конфигурации, описанной на предыдущей странице, сведя имена возможных накопителей в таблице:
Имя файла | Устройство | ||
/dev/ad0 |
Master на 1-м PATA-разъёме | ||
/dev/ad1 |
Slave на 1-м PATA-разъёме | ||
/dev/ad2 |
Зарезервировано под Master на 2-м PATA-разъёме (отсутствующем) | ||
/dev/ad3 |
Зарезервировано под Slave на 2-м PATA-разъёме (отсутствующем) | ||
/dev/ad4 |
Диск на 1-м SATA-разъёме | ||
/dev/ad5 |
Не используется | ||
/dev/ad6 |
Диск на 2-м SATA-разъёме | ||
/dev/ad7 |
Не используется | ||
/dev/ad8 |
Диск на 3-м SATA-разъёме | ||
/dev/ad9 |
Не используется |
Однако разобраться с именованием дисков и первичных разделов во FreeBSD -- только полдела. Впереди нас ожидает рассмотрение логической разметки физических дисков.
- Разметка дисков: общее введение
- Введение в “геометрию”
- MBR: ключ к дисковой разметке
- Таблица идентификаторов типа файловой системы
- Разметка в стиле DOS
- Использование разметки DOS-стиля в Linux
- BSD-стиль разметки
- Особенности разметки в стиле Sun/Solaris
- Общие вопросы номенклатуры накопителей
- Linux: история номенклатуры накопителей
- Linux: современная номенклатура накопителей
- FreeBSD: номенклатура дисков
- FreeBSD: номенклатура разделов
- DragonFlyBSD: особенности номенклатуры дисков и разделов
Теги: freebsd, имена устройств