Био (4) псевдо-устройства водитель и bioctl (8) утилита реализовать общий RAID - интерфейс управления громкости в OpenBSD и NetBSD . [1] [2] Идея, лежащая в основе этого программного обеспечения, аналогична ifconfig , где одна утилита из операционной системы может использоваться для управления любым RAID-контроллером с использованием общего интерфейса , вместо того, чтобы полагаться на множество проприетарных и настраиваемых функций управления RAID. утилиты, специфичные для каждого производителя оборудования RAID. [3] [4] [5] [6] [7]Функции включают в себя мониторинг состояния массивов, управление идентификацией посредством мигания светодиодов и управление звуковыми сигналами, а также указание дисков горячего резерва . Кроме того, softraid
конфигурация в OpenBSD также делегирована bioctl; тогда как первоначальное создание томов и конфигурация аппаратного RAID оставляется на усмотрение BIOS карты как несущественное после того, как операционная система уже была загружена. [4] Взаимодействие между ядром и пользовательской средой осуществляется посредством ioctl
системного вызова через псевдоустройство ./dev/bio
Автор (ы) оригинала | Марко Перебум (2005) |
---|---|
Разработчики) | OpenBSD Project |
Первый выпуск | 23 августа 2005 г . |
Репозиторий | / sbin / bioctl |
Написано в | C |
Операционная система | OpenBSD с версии 3.8 (2005); NetBSD с 4.0 (2007) |
Тип | Управление RAID и мониторинг системы |
Лицензия | Лицензия BSD |
Веб-сайт | биоктл (8) |
Обзор
Подсистема bio / bioctl считается важной частью в защите OpenBSD открытой документации оборудования, и название версии 3.8 и песня были посвящены теме - Hackers of the Lost RAID . [5] [8] [9] Разработка проходила во время споров, когда Adaptec отказалась выпустить соответствующую документацию по аппаратному обеспечению, которая была необходима для обеспечения надежной работы драйвера aac (4), после чего OpenBSD отключил поддержку для водитель. [9]
В комментарии к выпуску 3.8 [9] разработчики выражают иронию предполагаемой цели аппаратных RAID-контроллеров по обеспечению надежности за счет резервирования и восстановления, тогда как на самом деле многие поставщики ожидают, что системные администраторы установят огромные двоичные объекты и полагаются на них, для оценки работоспособности томов и обслуживания их дисковых массивов . В частности, OpenBSD делает ссылку на методы работы с FreeBSD , где документация водителя ААС (4) для Adaptec специально предлагает включить слой совместимости Linux для того , чтобы использовать утилиты управления (где документация даже не в состоянии объяснить , где именно эти должны быть получены утилиты или версии, которые будут совместимы, очевидно, потому что у проприетарных инструментов, возможно, истек срок действия). [10] [11] [12]
Точно так же разработчики OpenBSD намеренно решили сосредоточиться на поддержке только самых основных функций каждого контроллера, которые одинаковы для всех брендов и вариаций; в частности, тот факт, что первоначальная конфигурация каждого контроллера все еще должна производиться через BIOS карты, никогда не скрывался от каких-либо объявлений bio / bioctl. [4] [5] Это можно сравнить с подходом, принятым FreeBSD, например, где отдельные утилиты существуют для нескольких независимых драйверов RAID, и интерфейс каждой утилиты независим друг от друга; в частности, по состоянию на март 2019 г.[ref], FreeBSD включает в себя отдельные устройствах-специфические утилит называемых mfiutil
, mptutil
, mpsutil
/ mprutil
и sesutil
, [13] [14] [15] [16] , каждый из которых предоставляет множество вариантов, по крайней мере тонкие различия в интерфейсе для конфигурации и управления контроллерами, вносит свой вклад чтобы раздуть код , не говоря уже о каких-либо дополнительных драйверах, для которых вообще не существует такого инструмента в качестве программного обеспечения с открытым исходным кодом . [17] В OpenBSD 6.4 (2018) дюжина драйверов регистрируется во фреймворке bio. [1]
В drive
датчиках
Мониторинг состояния каждого логического диска также дублируется в инфраструктурах аппаратного мониторинга и их соответствующих утилитах в обеих системах, где доступен bioctl - hw.sensors с сенсорами в OpenBSD [4] и sysmon envsys с envstat и powerd в NetBSD . [18] Например, в OpenBSD, начиная с выпуска 4.2, состояние датчиков привода можно было автоматически контролировать, просто запустив sensord без какой-либо специальной настройки. [19] С каждым выпуском конвертируется больше драйверов для использования фреймворков bio и сенсоров. [20]
SES / SAF-TE
В OpenBSD, начиная с OpenBSD 3.8 (2005), поддерживаются как SCSI Enclosure Services (SES) [21], так и SAF-TE [22] , оба из которых имеют мигание светодиода через bio и bioctl (путем реализации BIOCBLINK
ioctl ), помогая системе администраторы идентифицируют устройства в корпусах для обслуживания. Кроме того, драйверы SES и SAF-TE в OpenBSD поддерживают комбинацию датчиков температуры и вентилятора, блока питания , дверных замков и индикаторов тревоги; все эти данные дополнительных датчиков экспортируются в структуру hw.sensors в OpenBSD, [4] и могут контролироваться с помощью знакомых инструментов, таких как sysctl , SNMP и sensord .
По состоянию на 2019 год[Обновить]в NetBSD по- прежнему используется более старый драйвер SES / SAF-TE от NASA 2000 года, который не интегрирован с bio или envsys , но имеет собственные файлы устройств с уникальным интерфейсом ioctl , имеющий собственное пользовательское пространство, специфичное для SCSI. оснастка; [23] [24] эта более старая реализация была также доступна в OpenBSD в период с 2000 по 2005 год и была удалена в 2005 году (вместе с ее пользовательскими инструментами) незадолго до того, как были введены новые более компактные альтернативные драйверы на основе биодатчиков и датчиков; SES и SAF-TE теперь хранятся как два отдельных драйвера в OpenBSD, но больше не требуют каких-либо отдельных пользовательских утилит, что снижает раздувание кода и количество строк исходного кода .
Рекомендации
- ^ a b Никлас Халлквист (2002); Марко Перебум (2006). "bio (4) - псевдоустройство туннеля блочного ввода / вывода ioctl" . Перекрестная ссылка BSD . OpenBSD . Выложите резюме .
- ^ Марко Перебум (2005). «bioctl (8) - интерфейс управления RAID» . Перекрестная ссылка BSD . OpenBSD . Выложите резюме .
- ^ Федерико Бьянкуцци (19 мая 2005 г.). «OpenBSD 3.7: Мастер ОС» . ONLamp . O'Reilly Media . Архивировано из оригинала на 2005-05-21 . Проверено 20 марта 2019 . CS1 maint: обескураженный параметр ( ссылка )
- ^ а б в г д Тео де Раадт (2005-09-09). «Поддержка управления RAID появится в OpenBSD 3.8» . misc @ (Список рассылки). OpenBSD .
- ^ а б в Федерико Бьянкуцци (2005-10-20). «OpenBSD 3.8: Хакеры утерянного RAID» . ONLamp . O'Reilly Media . Архивировано из оригинала на 2005-12-27 . Проверено 20 марта 2019 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Федерико Бьянкуцци (26.10.2006). «OpenBSD 4.0: Приключения Пафферикса» . ONLamp . O'Reilly Media . Архивировано из оригинала на 2007-03-10 . Проверено 19 марта 2019 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Дэвид Гвинн; Марко Перебум (2006-12-03). bio и сенсоры в OpenBSD (PDF) . OpenCON 2006, 2-3 декабря 2006 . Courtyard Venice Airport, Венеция / Тессера, Италия . Проверено 4 марта 2019 . CS1 maint: обескураженный параметр ( ссылка )
- ^ OpenBSD 3.8 . OpenBSD . 2005-11-01. ISBN 0-9731791-6-3. Проверено 23 марта 2019 .
Хакеры утерянного рейда
- ^ а б в «3.8:« Хакеры утерянного рейда » » . Релизные песни OpenBSD . OpenBSD . 2005-11-01 . Проверено 23 марта 2019 .
- ^ Скотт Лонг; Adaptec, Inc (2000). «aac (4) - драйвер контроллера Adaptec AdvancedRAID» . Перекрестная ссылка BSD . FreeBSD . Выложите резюме .
Если ядро скомпилировано с опцией COMPAT_LINUX или загружены модули aac_linux.ko и linux.ko,…
- ^ «Удалить просроченные аакли» . FreshBSD . FreeBSD . 2010-08-03. Архивировано 03 августа 2010 года.
- ^ Джонатан Грей (2 декабря 2006 г.). «Стр. 26: Открыто только для бизнеса: FreeBSD» . Архитектура и реализация драйвера в OpenBSD . OpenCON 2006, 2-3 декабря 2006 . Courtyard Venice Airport, Венеция / Тессера, Италия . Проверено 27 марта 2019 .
драйверы, предназначенные только для двоичных средств управления Linux RAID
CS1 maint: обескураженный параметр ( ссылка ) - ^ «mfiutil - Утилита для управления контроллерами LSI MegaRAID SAS» . Перекрестная ссылка BSD . FreeBSD . 2009. Краткое содержание .
- ^ «mptutil - Утилита для управления контроллерами LSI Fusion-MPT» . Перекрестная ссылка BSD . FreeBSD . 2009. Краткое содержание .
- ^ «mpsutil, mprutil - Утилита для управления контроллерами LSI Fusion-MPT 2/3» . Перекрестная ссылка BSD . FreeBSD . 2015. Краткое содержание .
- ^ «sesutil - Утилита для управления устройством SCSI Enclosure Services (SES)» . Перекрестная ссылка BSD . FreeBSD . 2015. Краткое содержание .
- ^ Тео де Раадт (2016-12-03). «Страница 10: Оборудование: контроллеры приводов» . Открытая документация по оборудованию . OpenCON 2006, 2-3 декабря 2006 . Courtyard Venice Airport, Венеция / Тессера, Италия . Проверено 27 марта 2019 .
Управление RAID почти полностью недокументировано
CS1 maint: обескураженный параметр ( ссылка ) - ^ Константин Александрович Муренин (21.05.2010). «1.1. Мотивация; 4. Драйверы датчиков; 7.1. NetBSD envsys / sysmon». Аппаратные датчики OpenBSD - мониторинг окружающей среды и управление вентиляторами ( тезис MMath ). Университет Ватерлоо : UWSpace. ЛВП : 10012/5234 . Идентификатор документа: ab71498b6b1a60 ff817 b29d56997a418.
- ^ Федерико Бьянкуцци (01.11.2007). «Марафон Паффи: что нового в OpenBSD 4.2» . ONLamp . O'Reilly Media . Архивировано из оригинала на 2011-10-13 . Проверено 3 марта 2019 . Выложите резюме . CS1 maint: обескураженный параметр ( ссылка )
- ^ Федерико Бьянкуцци (15.06.2009). «PuffyTron рекомендует OpenBSD 4.5» . O'Reilly Media . Архивировано из оригинала на 2009-06-19 . Проверено 19 марта 2019 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Дэвид Гвинн (2005). «/sys/scsi/ses.c - Службы SCSI Enclosure» . Перекрестная ссылка BSD . OpenBSD . Выложите резюме .
- ^ Дэвид Гвинн (2005). «/sys/scsi/safte.c - Отказоустойчивый корпус с доступом по SCSI» . Перекрестная ссылка BSD . OpenBSD . Выложите резюме .
- ^ Мэтью Джейкоб; Национальное управление по аэронавтике и исследованию космического пространства (2000 г.). «dev / scsipi / ses.c - драйвер экологических служб SCSI» . Перекрестная ссылка BSD . NetBSD . Выложите резюме .
- ^ Мэтью Джейкоб (2000). «sesd: sesd, getencstat, setencstat, setobjstat - монитор SCSI Environmental Services Devices» . Перекрестная ссылка BSD . NetBSD . Выложите резюме .