El controlador de pseudodispositivo bio(4) y la utilidad bioctl(8) implementan una interfaz genérica de gestión de volúmenes RAID en OpenBSD y NetBSD . [1] [2] La idea detrás de este software es similar a ifconfig , donde se puede usar una única utilidad del sistema operativo para controlar cualquier controlador RAID usando una interfaz genérica , en lugar de tener que depender de muchas utilidades de administración RAID patentadas y personalizadas. específico para cada fabricante de RAID de hardware determinado. [3] [4] [5] [6] [7] Las características incluyen el monitoreo del estado de los arreglos, el control de la identificación mediante el parpadeo de los LED y la gestión de alarmas sonoras, y la especificación de discos de repuesto dinámicos . Además, la configuración en OpenBSD también se delega a bioctl; mientras que la creación inicial de volúmenes y la configuración del RAID de hardware se deja en manos del BIOS de la tarjeta como no esencial una vez que el sistema operativo ya se ha iniciado. [4] La interfaz entre el kernel y el usuario se realiza a través de la llamada al sistema a través del pseudodispositivo .softraid
ioctl
/dev/bio
El subsistema bio/bioctl se considera una parte importante en la defensa de OpenBSD de la documentación de hardware abierto, y el título de la versión 3.8 y la canción principal se dedicaron al tema: Hackers of the Lost RAID . [5] [8] [9] El desarrollo tuvo lugar durante un momento de controversia en el que Adaptec se negó a publicar la documentación de hardware adecuada que era necesaria para que el controlador aac(4) funcionara de manera confiable, lo que siguió con OpenBSD deshabilitando el soporte para el conductor. [9]
En el comentario a la versión 3.8, [9] los desarrolladores expresan la ironía del supuesto propósito de los controladores RAID de hardware de proporcionar confiabilidad, a través de redundancia y reparación, mientras que en realidad muchos proveedores esperan que los administradores de sistemas instalen y dependan de enormes bloques binarios para poder para evaluar el estado del volumen y dar servicio a sus matrices de discos . Específicamente, OpenBSD está haciendo una referencia al modus operandi de FreeBSD , donde la documentación del controlador aac(4) para Adaptec sugiere específicamente habilitar la capa de compatibilidad de Linux para poder utilizar las utilidades de administración (donde la documentación ni siquiera explica dónde están exactamente estas (de dónde se deben obtener las utilidades o qué versiones serían compatibles, evidentemente porque las herramientas propietarias pueden haber caducado). [10] [11] [12]
Del mismo modo, los desarrolladores de OpenBSD optaron intencionadamente por concentrarse en admitir sólo las funciones más básicas de cada controlador, que son uniformes en todas las marcas y variaciones; Específicamente, el hecho de que la configuración inicial de cada controlador aún debe realizarse a través del BIOS de la tarjeta nunca se mantuvo en secreto en ningún anuncio de bio/bioctl. [4] [5]
Esto puede contrastarse con el enfoque adoptado por FreeBSD, por ejemplo, donde existen utilidades individuales para varios controladores RAID independientes y la interfaz de cada utilidad es independiente entre sí; Específicamente, a partir de marzo de 2019 [árbitro], FreeBSD incluye utilidades separadas específicas del dispositivo llamadas mfiutil
,, / y , [13] [14] [15] [16]mptutil
, cada una de las cuales proporciona muchas opciones con diferencias al menos sutiles en la interfaz para la configuración y La gestión de los controladores contribuye a la hinchazón del código , sin mencionar los controladores adicionales para los cuales ni siquiera existe ninguna herramienta como software de código abierto . [17]
En OpenBSD 6.4 (2018), una docena de controladores se registran en el marco biológico. [1]mpsutil
mprutil
sesutil
El monitoreo del estado de cada unidad lógica también se duplica en los marcos de monitoreo de hardware y sus utilidades correspondientes en ambos sistemas donde está disponible bioctl: hw.sensors con sensoresd en OpenBSD [4] y sysmon envsys con envstat y powerd en NetBSD . [18] Por ejemplo, en OpenBSD desde la versión 4.2, el estado de los sensores de la unidad podría monitorearse automáticamente simplemente iniciando sensorsd sin que se requiera ninguna configuración específica. [19] Se están convirtiendo más controladores para utilizar los marcos biológicos y de sensores con cada lanzamiento. [20]
En OpenBSD, tanto SCSI Enclosure Services (SES) [21] como SAF-TE [22] también son compatibles desde OpenBSD 3.8 (2005), los cuales cuentan con LED parpadeando a través de bio y bioctl (mediante la implementación de BIOCBLINK
ioctl ), sistema de ayuda. Los administradores identifican los dispositivos dentro de los gabinetes para dar servicio. Además, los controladores SES y SAF-TE en OpenBSD son compatibles con una combinación de sensores de temperatura y ventilador, fuente de alimentación , cerraduras de puertas e indicadores de alarma; Todos estos datos de sensores auxiliares se exportan al marco hw.sensors en OpenBSD, [4] y se pueden monitorear a través de herramientas familiares como sysctl , SNMP y sensorsd .
A partir de 2019 [actualizar], en NetBSD , todavía existe un controlador SES/SAF-TE más antiguo de la NASA de 2000, que no está integrado con bio o envsys , pero tiene sus propios archivos de dispositivo con una interfaz ioctl única , con su propio SCSI personalizado. -herramientas específicas del usuario; [23] [24] esta implementación anterior también estuvo disponible en OpenBSD entre 2000 y 2005, y se eliminó en 2005 (junto con sus herramientas de usuario) justo antes de que se introdujeran los nuevos controladores alternativos más eficientes basados en biosensores y hw.sensors; SES y SAF-TE ahora se mantienen como dos controladores separados en OpenBSD, pero ya no requieren ninguna utilidad de usuario personalizada por separado, lo que reduce la sobrecarga de código y la cantidad de líneas de código fuente .
{{cite web}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace )Hackers del RAID perdido
Si el kernel está compilado con la opción COMPAT_LINUX, o están cargados los módulos aac_linux.ko y linux.ko,...
{{cite web}}
: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )controladores diseñados para herramientas de administración RAID de Linux únicamente binarias
La gestión RAID está casi completamente indocumentada