stringtranslate.com

bioctl

El controlador de pseudo-dispositivo bio(4) y la utilidad bioctl(8) implementan 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 se puede usar 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 RAID de hardware. [3] [4] [5] [6] [7] Las características incluyen la monitorización del estado de salud de las matrices, 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 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 la configuración del RAID de hardware se deja al BIOS de la tarjeta como no esencial después de que el sistema operativo ya se haya iniciado. [4] La interfaz entre el núcleo y el espacio de usuario se realiza a través de la llamada al sistema a través del pseudo-dispositivo .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 titular se dedicaron al tema: Hackers of the Lost RAID . [5] [8] [9] El desarrollo tuvo lugar durante una época de controversia en la 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 controlador. [9]

En el comentario de la versión 3.8, [9] los desarrolladores expresan la ironía del supuesto propósito de los controladores RAID de hardware de proporcionar fiabilidad, 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 evaluar la salud 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 usar las utilidades de administración (donde la documentación ni siquiera explica de dónde exactamente se deben obtener estas utilidades, o qué versiones serían compatibles, evidentemente porque las herramientas propietarias pueden haber expirado). [10] [11] [12]

De la misma manera, los desarrolladores de OpenBSD eligieron intencionalmente concentrarse en soportar solo las características 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 se puede contrastar 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 , FreeBSD incluye utilidades específicas del dispositivo separadas llamadas mfiutil, mptutil, mpsutil/ mprutily sesutil, [13] [14] [15] [16] , cada una de las cuales proporciona muchas opciones con al menos diferencias sutiles en la interfaz para la configuración y administración de los controladores, contribuye a la hinchazón del código , sin mencionar los controladores adicionales para los cuales ni siquiera existe una herramienta como software de código abierto . [17] En OpenBSD 6.4 (2018), una docena de controladores se registran en el marco bio. [1]

Los drivesensores

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 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 monitorear automáticamente simplemente iniciando sensorsd sin que se requiera ninguna configuración específica. [19] Se están convirtiendo más controladores para usar los marcos bio y sensors con cada versión. [20]

SES/SAF-TE

En OpenBSD, tanto SCSI Enclosure Services (SES) [21] como SAF-TE [22] también son compatibles desde OpenBSD 3.8 (2005), ambos cuentan con parpadeo de LED a través de bio y bioctl (al implementar BIOCBLINK ioctl ), lo que ayuda a los administradores de sistemas a identificar dispositivos dentro de los gabinetes para realizar el servicio. Además, tanto los controladores SES como SAF-TE en OpenBSD cuentan con soporte para una combinación de sensores de temperatura y ventilador, PSU , indicadores de alarma y cerradura de puerta; 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 , en NetBSD , todavía está en funcionamiento 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 sus propias herramientas de usuario específicas de SCSI personalizadas; [23] [24] esta implementación más antigua también estaba 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 livianos 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 usuario personalizada por separado, lo que reduce la hinchazón del código y la cantidad de líneas de código fuente .

Referencias

  1. ^ por Niklas Hallqvist (2002); Marco Peereboom (2006). "bio(4) — pseudodispositivo de túnel ioctl de E/S de bloque". Referencia cruzada BSD . OpenBSD .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
    • "bio — pseudodispositivo de túnel ioctl de E/S de bloque". Página del manual de OpenBSD del servidor.
  2. ^ Marco Peereboom (2005). «bioctl(8) — Interfaz de gestión RAID». Referencia cruzada de BSD . OpenBSD .
    • "bioctl — Interfaz de gestión RAID". Página del manual del servidor OpenBSD.
  3. Federico Biancuzzi (19 de mayo de 2005). «OpenBSD 3.7: El mago de los sistemas operativos». ONLamp . O'Reilly Media . Archivado desde el original el 21 de mayo de 2005 . Consultado el 20 de marzo de 2019 .
  4. ^ abcde Theo de Raadt (9 de septiembre de 2005). "Soporte para administración RAID en OpenBSD 3.8". misc@ (Lista de correo). OpenBSD .
  5. ^ abc Federico Biancuzzi (2005-10-20). «OpenBSD 3.8: Hackers del RAID perdido». ONLamp . O'Reilly Media . Archivado desde el original el 2005-12-27 . Consultado el 20 de marzo de 2019 .
  6. Federico Biancuzzi (26 de octubre de 2006). «OpenBSD 4.0: Las aventuras de Pufferix». ONLamp . O'Reilly Media . Archivado desde el 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 and sensors in 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-3. Recuperado el 23 de marzo de 2019. Hackers del RAID perdido
  9. ^ abc "3.8: "Hackers of the Lost RAID"". Canciones de lanzamiento de OpenBSD . OpenBSD . 2005-11-01 . Consultado el 2019-03-23 ​​.
  10. ^ Scott Long; Adaptec, Inc (2000). "aac(4) — Controlador Adaptec AdvancedRAID". Referencia cruzada de BSD . FreeBSD . Si el núcleo se compila con la opción COMPAT_LINUX, o 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 desde el original el 2019-03-26 . Consultado el 2019-03-26 .{{cite web}}: CS1 maint: bot: estado de URL original desconocido ( enlace )
  12. ^ Jonathan Gray (2006-12-02). "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 con binarios
  13. ^ "mfiutil — Utilidad para administrar controladores SAS LSI MegaRAID". Referencia cruzada BSD . FreeBSD . 2009.
    • "mfiutil - Utilidad para administrar controladores SAS LSI MegaRAID". Páginas del manual de FreeBSD.
  14. ^ "mptutil — Utilidad para gestionar controladores LSI Fusion-MPT". Referencia cruzada BSD . FreeBSD . 2009.
    • "mptutil - Utilidad para gestionar controladores LSI Fusion-MPT". Páginas del manual de FreeBSD.
  15. ^ "mpsutil, mprutil — Utilidad para gestionar controladores LSI Fusion-MPT 2/3". Referencia cruzada BSD . FreeBSD . 2015.
    • "mpsutil, mprutil - Utilidad para gestionar controladores LSI Fusion-MPT 2/3". Páginas del manual de FreeBSD.
  16. ^ "sesutil — Utilidad para administrar dispositivos SCSI Enclosure Services (SES)". Referencia cruzada BSD . FreeBSD . 2015.
    • "sesutil - Utilidad para administrar dispositivos 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 sin documentación .
  18. ^ Constantine A. Murenin (21 de mayo de 2010). "1.1. Motivación; 4. Controladores de sensores; 7.1. NetBSD envsys / sysmon". Sensores de hardware OpenBSD: monitoreo ambiental y control de ventiladores ( tesis de maestría ). Universidad de Waterloo : UWSpace. hdl : 10012/5234. Identificador del documento: ab71498b6b1a60ff817b29d56997a418.
  19. ^ Federico Biancuzzi (1 de noviembre de 2007). "Maratón de Puffy: novedades de OpenBSD 4.2". ONLamp . O'Reilly Media . Archivado desde el 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". Undeadly .
  20. Federico Biancuzzi (15 de junio de 2009). «PuffyTron recomienda OpenBSD 4.5». O'Reilly Media . Archivado desde el 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". Página del manual del servidor OpenBSD.
  22. ^ David Gwynne (2005). "/sys/scsi/safte.c — Carcasa con tolerancia a fallos y acceso SCSI". Referencia cruzada BSD . OpenBSD .
    • "safte — Carcasa con tolerancia a fallos y acceso SCSI". Página del manual del servidor 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 BSD . NetBSD .
  24. ^ Matthew Jacob (2000). "sesd: sesd, getencstat, setencstat, setobjstat — monitoriza dispositivos de servicios ambientales SCSI". Referencia cruzada BSD . NetBSD .