Articulo de referencia

bioctl

El controlador de pseudodispositivo bio(4) y la utilidad bioctl(8) para implementar una interfaz genérica de administración de volúmenes RAID en OpenBSD y NetBSD . [ 1 ] [ 2 ] L...

El controlador de pseudodispositivo bio(4) y la utilidad bioctl(8) para implementar una interfaz genérica de administración de volúmenes RAID en OpenBSD y NetBSD . [ 1 ] [ 2 ] La idea detrás de este software es similar a ifconfig , donde una sola utilidad del sistema operativo puede usarse para controlar cualquier controlador RAID usando una interfaz genérica , en lugar de tener que depender de muchas utilidades de administración RAID propietarias y personalizadas específicas para cada fabricante de hardware RAID. [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] Las características incluyen monitoreo del estado de salud de las matrices, control de identificación a través del parpadeo de los LED y administración de alarmas sonoras, y especificación de discos de reserva en caliente . Además, la configuración en OpenBSD también se delega a bioctl; mientras que la creación inicial de volúmenes y configuración de RAID de hardware se deja a la BIOS de la tarjeta como no esencial después de que el sistema operativo ya se ha iniciado. [ 4 ] La interfaz entre el kernel y el espacio de usuario se realiza a través de la llamada al sistema a través del pseudodispositivo .softraidioctl/dev/bio

Descripción general

El subsistema bio/bioctl se considera una parte importante en la defensa de OpenBSD de la documentación de hardware abierta, y el título de la versión 3.8 y la canción homónima se dedicaron al tema: Hackers of the Lost RAID . [ 5 ] [ 8 ] [ 9 ] El desarrollo tuvo lugar durante un período 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 llevó a OpenBSD a deshabilitar el soporte para el controlador. [ 9 ]

In the commentary to the 3.8 release,[9] the developers express the irony of hardware RAID controllers' supposed purpose of providing reliability, through redundancy and repair, whereas in reality many vendors expect system administrators to install and depend on huge binary blobs in order to be assess volume health and service their disk arrays. Specifically, OpenBSD is making a reference to the modus operandi of FreeBSD, where the documentation of the aac(4) driver for Adaptec specifically suggests enabling Linux compatibility layer in order to use the management utilities (where the documentation even fails to explain where exactly these utilities must be obtained from, or which versions would be compatible, evidently because the proprietary tools may have expired).[10][11][12]

Likewise, OpenBSD developers intentionally chose to concentrate on supporting only the most basic features of each controller which are uniform across all the brands and variations; specifically, the fact that initial configuration of each controller must still be made through card BIOS was never kept secret from any bio/bioctl announcement.[4][5] This can be contrasted with the approach taken by FreeBSD, for example, where individual utilities exist for several independent RAID drivers, and the interface of each utility is independent of one another; specifically, as of March 2019, FreeBSD includes separate device-specific utilities called mfiutil, mptutil, mpsutil/mprutil and sesutil,[13][14][15][16], each of which provides many options with at least subtle differences in the interface for configuration and management of the controllers, contributes to code bloat, not to mention any additional drivers for which no such tool even exists as open-source software at all.[17] In OpenBSD 6.4 (2018), a dozen of drivers register with the bio framework.[1]

The drive sensors

La monitorización del estado de cada unidad lógica también se duplica en los marcos de monitorización de hardware y sus utilidades correspondientes en ambos sistemas donde bioctl está disponible: hw.sensors con sensorsd 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 se puede monitorizar automáticamente simplemente iniciando sensorsd sin necesidad de ninguna configuración específica. [ 19 ] Con cada versión, se están convirtiendo más controladores para usar los marcos bio y sensors. [ 20 ]

SES/SAF-TE

En OpenBSD, tanto SCSI Enclosure Services (SES) [ 21 ] como SAF-TE [ 22 ] son ​​compatibles desde OpenBSD 3.8 (2005), ambos con parpadeo de LED a través de bio y bioctl (mediante la implementación de BIOCBLINKioctl ), lo que ayuda a los administradores del sistema a identificar dispositivos dentro de los gabinetes para dar servicio. Además, tanto los controladores SES como SAF-TE en OpenBSD ofrecen soporte para una combinación de sensores de temperatura y ventilador, PSU , cerradura de puerta 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 2019En NetBSD , todavía se utiliza un controlador SES/SAF-TE antiguo de la NASA del año 2000, que no está integrado con bio ni envsys , pero tiene sus propios archivos de dispositivo con una interfaz ioctl única , que incluye sus propias herramientas de espacio de usuario específicas para SCSI personalizadas; [ 23 ] [ 24 ] esta implementación antigua también estuvo disponible en OpenBSD entre 2000 y 2005, y se eliminó en 2005 (junto con sus herramientas de espacio de usuario) justo antes de que se introdujeran los nuevos controladores alternativos más ligeros basados ​​en bio y hw.sensors; SES y SAF-TE ahora se mantienen como dos controladores separados en OpenBSD, pero ya no requieren ninguna utilidad de espacio de usuario personalizada separada, lo que reduce la inflación del código y el número de líneas de código fuente .

Referencias

  1. 1 2 Niklas Hallqvist (2002); Marco Peereboom (2006). "bio(4) — dispositivo pseudo-túnel ioctl de E/S de bloque" . Referencia cruzada de BSD . OpenBSD .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
    • "bio — bloque E/S túnel ioctl pseudo-dispositivo". Servidor de páginas del manual de OpenBSD .
  2. Marco Peereboom (2005). "bioctl(8) — Interfaz de administración RAID" . Referencia cruzada de BSD . OpenBSD .
    • "bioctl — Interfaz de administración RAID". Servidor de páginas del manual de OpenBSD .
  3. Federico Biancuzzi (19 de mayo de 2005). "OpenBSD 3.7: El mago de los sistemas operativos" . ONLamp . O'Reilly Media . Archivado del original el 21 de mayo de 2005. Consultado el 20 de marzo de 2019 .
  4. 1 2 3 4 5 Theo de Raadt (2005-09-09). "Soporte para administración RAID próximamente en OpenBSD 3.8" . misc@ (Lista de correo). OpenBSD .
  5. 1 2 3 Federico Biancuzzi (2005-10-20). "OpenBSD 3.8: Hackers of the Lost RAID" . ONLamp . O'Reilly Media . Archivado del original el 27-12-2005 . Recuperado el 20-03-2019 .
  6. Federico Biancuzzi (26 de octubre de 2006). "OpenBSD 4.0: Las aventuras de Pufferix" . ONLamp . O'Reilly Media . Archivado del original el 10 de marzo de 2007. Consultado el 19 de marzo de 2019 .
  7. David Gwynne; Marco Peereboom (3 de diciembre de 2006). Bio y sensores en OpenBSD (PDF) . OpenCON 2006, 2-3 de diciembre de 2006. Courtyard Venice Airport, Venecia/Tessera, Italia . Consultado el 4 de marzo de 2019 .
  8. OpenBSD 3.8 . OpenBSD . 2005-11-01. ISBN 0-9731791-6-3Recuperado el 23 de marzo de 2019. Hackers de Lost RAID
  9. 1 2 3 "3.8: "Hackers del RAID perdido"" . Canciones de lanzamiento de OpenBSD . OpenBSD . 2005-11-01 . Recuperado el 2019-03-23 ​​.
  10. Scott Long; Adaptec, Inc (2000). "aac(4) — Controlador del controlador Adaptec AdvancedRAID" . Referencia cruzada de BSD . FreeBSD . Si el kernel se compila con la opción COMPAT_LINUX, o si se cargan los módulos aac_linux.ko y linux.ko,...
    • "aac -- Controlador Adaptec AdvancedRAID". Páginas del manual de FreeBSD .
  11. "Eliminar aaccli caducado" . FreshBSD . FreeBSD . 2010-08-03. Archivado del original el 26-03-2019 . Recuperado el 26-03-2019 .{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace )
  12. Jonathan Gray (2 de diciembre de 2006). "Página 26: Solo abierto para negocios: FreeBSD" . Arquitectura e implementación de controladores en OpenBSD . OpenCON 2006, 2-3 de diciembre de 2006. Courtyard Venice Airport, Venecia/Tessera, Italia . Consultado el 27 de marzo de 2019. Controladores diseñados solo para herramientas de administración RAID de Linux binarias .
  13. "mfiutil — Utilidad para administrar controladores LSI MegaRAID SAS" . Referencia cruzada de BSD . FreeBSD . 2009.
    • "mfiutil -- Utilidad para administrar controladores LSI MegaRAID SAS". Páginas del manual de FreeBSD .
  14. "mptutil — Utilidad para gestionar controladores LSI Fusion-MPT" . Referencia cruzada de BSD . FreeBSD . 2009.
    • "mptutil -- Utilidad para administrar controladores LSI Fusion-MPT". Páginas del manual de FreeBSD .
  15. "mpsutil, mprutil — Utilidad para gestionar controladores LSI Fusion-MPT 2/3" . Referencia cruzada de BSD . FreeBSD . 2015.
    • "mpsutil, mprutil -- Utilidad para administrar controladores LSI Fusion-MPT 2/3". Páginas del manual de FreeBSD .
  16. "sesutil — Utilidad para administrar dispositivos SCSI Enclosure Services (SES)" . Referencia cruzada de BSD . FreeBSD . 2015.
    • "sesutil -- Utilidad para administrar el dispositivo SCSI Enclosure Services (SES)". Páginas del manual de FreeBSD .
  17. Theo de Raadt (3 de diciembre de 2016). "Página 10: El hardware: controladores de unidades" . Documentación abierta para hardware . OpenCON 2006, 2-3 de diciembre de 2006. Courtyard Venice Airport, Venecia/Tessera, Italia . Consultado el 27 de marzo de 2019. La gestión de RAID está casi completamente indocumentada .
  18. Constantine A. Murenin (21/05/2010). "1.1. Motivación; 4. Controladores de sensores; 7.1. NetBSD envsys / sysmon". Sensores de hardware de OpenBSD: monitorización ambiental y control de ventiladores ( tesis de MMath ). Universidad de Waterloo : UWSpace. hdl : 10012/5234 . ID del documento: ab71498b6b1a60ff817b29d56997a418.
  19. Federico Biancuzzi (1 de noviembre de 2007). "Maratón de Puffy: Novedades en OpenBSD 4.2" . ONLamp . O'Reilly Media . Archivado del original el 13 de octubre de 2011. Consultado el 3 de marzo de 2019 .
    • "Maratón de Puffy: Novedades en OpenBSD 4.2 - ONLamp.com" . Inmortal .
  20. Federico Biancuzzi (15 de junio de 2009). "PuffyTron recomienda OpenBSD 4.5" . O'Reilly Media . Archivado del original el 19 de junio de 2009. Consultado el 19 de marzo de 2019 .
  21. David Gwynne (2005). "/sys/scsi/ses.c — Servicios de gabinete SCSI" . Referencia cruzada de BSD . OpenBSD .
    • "ses — Servicios de gabinete SCSI". Servidor de página del manual de OpenBSD .
  22. David Gwynne (2005). "/sys/scsi/safte.c — SCSI Accessed Fault-Tolerant Enclosure" . Referencia cruzada de BSD . OpenBSD .
    • "safte — SCSI Accessed Fault-Tolerant Enclosure". Servidor de páginas del manual de OpenBSD .
  23. Matthew Jacob; Administración Nacional de Aeronáutica y del Espacio (2000). "dev/scsipi/ses.c — Controlador de servicios ambientales SCSI" . Referencia cruzada de BSD . NetBSD .
  24. Matthew Jacob (2000). "sesd: sesd, getencstat, setencstat, setobjstat — monitor SCSI Environmental Services Devices" . BSD Cross Reference . NetBSD .