fbpx
Wikipedia

bioctl

The bio(4) pseudo-device driver and the bioctl(8) utility implement a generic RAID volume management interface in OpenBSD and NetBSD.[1][2] The idea behind this software is similar to ifconfig, where a single utility from the operating system can be used to control any RAID controller using a generic interface, instead of having to rely on many proprietary and custom RAID management utilities specific for each given hardware RAID manufacturer.[3][4][5][6][7] Features include monitoring of the health status of the arrays, controlling identification through blinking the LEDs and managing of sound alarms, and specifying hot spare disks. Additionally, the softraid configuration in OpenBSD is delegated to bioctl as well; whereas the initial creation of volumes and configuration of hardware RAID is left to card BIOS as non-essential after the operating system has already been booted.[4] Interfacing between the kernel and userland is performed through the ioctl system call through the /dev/bio pseudo-device.

bioctl
Original author(s)Marco Peereboom (2005)
Developer(s)The OpenBSD Project
Initial release23 August 2005; 18 years ago (2005-08-23)
Repository/sbin/bioctl
Written inC
Operating systemOpenBSD since 3.8 (2005); NetBSD since 4.0 (2007)
TypeRAID management and system monitoring
LicenceBSD licence
Websitebioctl(8)

Overview edit

The bio/bioctl subsystem is deemed to be an important part in OpenBSD's advocacy for open hardware documentation, and the 3.8 release title and the titular song were dedicated to the topic — Hackers of the Lost RAID.[5][8][9] The development took place during a time of controversy where Adaptec refused to release appropriate hardware documentation that was necessary in order for the make the aac(4) driver work reliably, which followed with OpenBSD disabling support for the driver.[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 edit

Monitoring of the state of each logical drive is also duplicated into the hardware monitoring frameworks and their corresponding utilities on both systems where bioctl is available — hw.sensors with sensorsd in OpenBSD[4] and sysmon envsys with envstat and powerd in NetBSD.[18] For example, on OpenBSD since 4.2 release, the status of the drive sensors could be automatically monitored simply by starting sensorsd without any specific configuration being required.[19] More drivers are being converted to use the bio and sensors frameworks with each release.[20]

SES/SAF-TE edit

In OpenBSD, both SCSI Enclosure Services (SES)[21] and SAF-TE[22] are supported since OpenBSD 3.8 (2005) as well, both of which feature LED blinking through bio and bioctl (by implementing the BIOCBLINK ioctl), helping system administrators identify devices within the enclosures to service. Additionally, both the SES and SAF-TE drivers in OpenBSD feature support for a combination of temperature and fan sensors, PSU, doorlock and alarm indicators; all of this auxiliary sensor data is exported into the hw.sensors framework in OpenBSD,[4] and can be monitored through familiar tools like sysctl, SNMP and sensorsd.

As of 2019, in NetBSD, an older SES/SAF-TE driver from NASA from 2000 is still in place, which is not integrated with bio or envsys, but has its own device files with a unique ioctl interface, featuring its own custom SCSI-specific userland tooling;[23][24] this older implementation was also available in OpenBSD between 2000 and 2005, and was removed 2005 (together with its userland tools) just before the new leaner bio- and hw.sensors-based alternative drivers were introduced; SES and SAF-TE are now kept as two separate drivers in OpenBSD, but don't require any separate custom userland utilities anymore, reducing the code bloat and the number of source lines of code.

References edit

  1. ^ a b Niklas Hallqvist (2002); Marco Peereboom (2006). "bio(4) — block I/O ioctl tunnel pseudo-device". BSD Cross Reference. OpenBSD.{{cite web}}: CS1 maint: numeric names: authors list (link)
    • "bio — block I/O ioctl tunnel pseudo-device". OpenBSD manual page server.
  2. ^ Marco Peereboom (2005). "bioctl(8) — RAID management interface". BSD Cross Reference. OpenBSD.
    • "bioctl — RAID management interface". OpenBSD manual page server.
  3. ^ Federico Biancuzzi (2005-05-19). . ONLamp. O'Reilly Media. Archived from the original on 2005-05-21. Retrieved 2019-03-20.
  4. ^ a b c d e Theo de Raadt (2005-09-09). "RAID management support coming in OpenBSD 3.8". misc@ (Mailing list). OpenBSD.
  5. ^ a b c Federico Biancuzzi (2005-10-20). . ONLamp. O'Reilly Media. Archived from the original on 2005-12-27. Retrieved 2019-03-20.
  6. ^ Federico Biancuzzi (2006-10-26). . ONLamp. O'Reilly Media. Archived from the original on 2007-03-10. Retrieved 2019-03-19.
  7. ^ David Gwynne; Marco Peereboom (2006-12-03). bio and sensors in OpenBSD (PDF). . Courtyard Venice Airport, Venice/Tessera, Italy. Retrieved 2019-03-04.
  8. ^ OpenBSD 3.8. OpenBSD. 2005-11-01. ISBN 0-9731791-6-3. Retrieved 2019-03-23. Hackers of the Lost RAID
  9. ^ a b c "3.8: "Hackers of the Lost RAID"". OpenBSD Release Songs. OpenBSD. 2005-11-01. Retrieved 2019-03-23.
  10. ^ Scott Long; Adaptec, Inc (2000). "aac(4) — Adaptec AdvancedRAID Controller driver". BSD Cross Reference. FreeBSD. If the kernel is compiled with the COMPAT_LINUX option, or the aac_linux.ko and linux.ko modules are loaded,...
    • "aac -- Adaptec AdvancedRAID Controller driver". FreeBSD Manual Pages.
  11. ^ . FreshBSD. FreeBSD. 2010-08-03. Archived from the original on 2019-03-26. Retrieved 2019-03-26.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  12. ^ Jonathan Gray (2006-12-02). "Page 26: Only open for business: FreeBSD". Driver Architecture and Implementation in OpenBSD. . Courtyard Venice Airport, Venice/Tessera, Italy. Retrieved 2019-03-27. drivers designed for binary only Linux RAID management tools
  13. ^ "mfiutil — Utility for managing LSI MegaRAID SAS controllers". BSD Cross Reference. FreeBSD. 2009.
    • "mfiutil -- Utility for managing LSI MegaRAID SAS controllers". FreeBSD Manual Pages.
  14. ^ "mptutil — Utility for managing LSI Fusion-MPT controllers". BSD Cross Reference. FreeBSD. 2009.
    • "mptutil -- Utility for managing LSI Fusion-MPT controllers". FreeBSD Manual Pages.
  15. ^ "mpsutil, mprutil — Utility for managing LSI Fusion-MPT 2/3 controllers". BSD Cross Reference. FreeBSD. 2015.
    • "mpsutil, mprutil -- Utility for managing LSI Fusion-MPT 2/3 controllers". FreeBSD Manual Pages.
  16. ^ "sesutil — Utility for managing SCSI Enclosure Services (SES) device". BSD Cross Reference. FreeBSD. 2015.
    • "sesutil -- Utility for managing SCSI Enclosure Services (SES) device". FreeBSD Manual Pages.
  17. ^ Theo de Raadt (2016-12-03). "Page 10: The hardware: drive controllers". Open Documentation for Hardware. . Courtyard Venice Airport, Venice/Tessera, Italy. Retrieved 2019-03-27. RAID management is almost completely undocumented
  18. ^ Constantine A. Murenin (2010-05-21). "1.1. Motivation; 4. Sensor Drivers; 7.1. NetBSD envsys / sysmon". OpenBSD Hardware Sensors — Environmental Monitoring and Fan Control (MMath thesis). University of Waterloo: UWSpace. hdl:10012/5234. Document ID: ab71498b6b1a60ff817b29d56997a418.
  19. ^ Federico Biancuzzi (2007-11-01). . ONLamp. O'Reilly Media. Archived from the original on 2011-10-13. Retrieved 2019-03-03.
    • "Puffy's Marathon: What's New in OpenBSD 4.2 - ONLamp.com". Undeadly.
  20. ^ Federico Biancuzzi (2009-06-15). . O'Reilly Media. Archived from the original on 2009-06-19. Retrieved 2019-03-19.
  21. ^ David Gwynne (2005). "/sys/scsi/ses.c — SCSI Enclosure Services". BSD Cross Reference. OpenBSD.
    • "ses — SCSI Enclosure Services". OpenBSD manual page server.
  22. ^ David Gwynne (2005). "/sys/scsi/safte.c — SCSI Accessed Fault-Tolerant Enclosure". BSD Cross Reference. OpenBSD.
    • "safte — SCSI Accessed Fault-Tolerant Enclosure". OpenBSD manual page server.
  23. ^ Matthew Jacob; National Aeronautics & Space Administration (2000). "dev/scsipi/ses.c — SCSI Environmental Services Driver". BSD Cross Reference. NetBSD.
  24. ^ Matthew Jacob (2000). "sesd: sesd, getencstat, setencstat, setobjstat — monitor SCSI Environmental Services Devices". BSD Cross Reference. NetBSD.

bioctl, pseudo, device, driver, utility, implement, generic, raid, volume, management, interface, openbsd, netbsd, idea, behind, this, software, similar, ifconfig, where, single, utility, from, operating, system, used, control, raid, controller, using, generic. The bio 4 pseudo device driver and the bioctl 8 utility implement a generic RAID volume management interface in OpenBSD and NetBSD 1 2 The idea behind this software is similar to ifconfig where a single utility from the operating system can be used to control any RAID controller using a generic interface instead of having to rely on many proprietary and custom RAID management utilities specific for each given hardware RAID manufacturer 3 4 5 6 7 Features include monitoring of the health status of the arrays controlling identification through blinking the LEDs and managing of sound alarms and specifying hot spare disks Additionally the softraid configuration in OpenBSD is delegated to bioctl as well whereas the initial creation of volumes and configuration of hardware RAID is left to card BIOS as non essential after the operating system has already been booted 4 Interfacing between the kernel and userland is performed through the a href Ioctl html title Ioctl ioctl a system call through the dev bio pseudo device bioctlOriginal author s Marco Peereboom 2005 Developer s The OpenBSD ProjectInitial release23 August 2005 18 years ago 2005 08 23 Repository sbin bioctlWritten inCOperating systemOpenBSD since 3 8 2005 NetBSD since 4 0 2007 TypeRAID management and system monitoringLicenceBSD licenceWebsitebioctl 8 Contents 1 Overview 2 The drive sensors 3 SES SAF TE 4 ReferencesOverview editThe bio bioctl subsystem is deemed to be an important part in OpenBSD s advocacy for open hardware documentation and the 3 8 release title and the titular song were dedicated to the topic Hackers of the Lost RAID 5 8 9 The development took place during a time of controversy where Adaptec refused to release appropriate hardware documentation that was necessary in order for the make the aac 4 driver work reliably which followed with OpenBSD disabling support for the driver 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 ref 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 editSee also hw sensors drive and envsys Monitoring of the state of each logical drive is also duplicated into the hardware monitoring frameworks and their corresponding utilities on both systems where bioctl is available hw sensors with sensorsd in OpenBSD 4 and sysmon envsys with envstat and powerd in NetBSD 18 For example on OpenBSD since 4 2 release the status of the drive sensors could be automatically monitored simply by starting sensorsd without any specific configuration being required 19 More drivers are being converted to use the bio and sensors frameworks with each release 20 SES SAF TE editSee also SCSI Enclosure Services and SAF TE In OpenBSD both SCSI Enclosure Services SES 21 and SAF TE 22 are supported since OpenBSD 3 8 2005 as well both of which feature LED blinking through bio and bioctl by implementing the BIOCBLINK ioctl helping system administrators identify devices within the enclosures to service Additionally both the SES and SAF TE drivers in OpenBSD feature support for a combination of temperature and fan sensors PSU doorlock and alarm indicators all of this auxiliary sensor data is exported into the hw sensors framework in OpenBSD 4 and can be monitored through familiar tools like sysctl SNMP and sensorsd As of 2019 update in NetBSD an older SES SAF TE driver from NASA from 2000 is still in place which is not integrated with bio or envsys but has its own device files with a unique ioctl interface featuring its own custom SCSI specific userland tooling 23 24 this older implementation was also available in OpenBSD between 2000 and 2005 and was removed 2005 together with its userland tools just before the new leaner bio and hw sensors based alternative drivers were introduced SES and SAF TE are now kept as two separate drivers in OpenBSD but don t require any separate custom userland utilities anymore reducing the code bloat and the number of source lines of code References edit a b Niklas Hallqvist 2002 Marco Peereboom 2006 bio 4 block I O ioctl tunnel pseudo device BSD Cross Reference OpenBSD a href Template Cite web html title Template Cite web cite web a CS1 maint numeric names authors list link bio block I O ioctl tunnel pseudo device OpenBSD manual page server Marco Peereboom 2005 bioctl 8 RAID management interface BSD Cross Reference OpenBSD bioctl RAID management interface OpenBSD manual page server Federico Biancuzzi 2005 05 19 OpenBSD 3 7 The Wizard of OS ONLamp O Reilly Media Archived from the original on 2005 05 21 Retrieved 2019 03 20 a b c d e Theo de Raadt 2005 09 09 RAID management support coming in OpenBSD 3 8 misc Mailing list OpenBSD a b c Federico Biancuzzi 2005 10 20 OpenBSD 3 8 Hackers of the Lost RAID ONLamp O Reilly Media Archived from the original on 2005 12 27 Retrieved 2019 03 20 Federico Biancuzzi 2006 10 26 OpenBSD 4 0 Pufferix s Adventures ONLamp O Reilly Media Archived from the original on 2007 03 10 Retrieved 2019 03 19 David Gwynne Marco Peereboom 2006 12 03 bio and sensors in OpenBSD PDF OpenCON 2006 2 3 December 2006 Courtyard Venice Airport Venice Tessera Italy Retrieved 2019 03 04 OpenBSD 3 8 OpenBSD 2005 11 01 ISBN 0 9731791 6 3 Retrieved 2019 03 23 Hackers of the Lost RAID a b c 3 8 Hackers of the Lost RAID OpenBSD Release Songs OpenBSD 2005 11 01 Retrieved 2019 03 23 Scott Long Adaptec Inc 2000 aac 4 Adaptec AdvancedRAID Controller driver BSD Cross Reference FreeBSD If the kernel is compiled with the COMPAT LINUX option or the aac linux ko and linux ko modules are loaded aac Adaptec AdvancedRAID Controller driver FreeBSD Manual Pages Remove expired aaccli FreshBSD FreeBSD 2010 08 03 Archived from the original on 2019 03 26 Retrieved 2019 03 26 a href Template Cite web html title Template Cite web cite web a CS1 maint bot original URL status unknown link Jonathan Gray 2006 12 02 Page 26 Only open for business FreeBSD Driver Architecture and Implementation in OpenBSD OpenCON 2006 2 3 December 2006 Courtyard Venice Airport Venice Tessera Italy Retrieved 2019 03 27 drivers designed for binary only Linux RAID management tools mfiutil Utility for managing LSI MegaRAID SAS controllers BSD Cross Reference FreeBSD 2009 mfiutil Utility for managing LSI MegaRAID SAS controllers FreeBSD Manual Pages mptutil Utility for managing LSI Fusion MPT controllers BSD Cross Reference FreeBSD 2009 mptutil Utility for managing LSI Fusion MPT controllers FreeBSD Manual Pages mpsutil mprutil Utility for managing LSI Fusion MPT 2 3 controllers BSD Cross Reference FreeBSD 2015 mpsutil mprutil Utility for managing LSI Fusion MPT 2 3 controllers FreeBSD Manual Pages sesutil Utility for managing SCSI Enclosure Services SES device BSD Cross Reference FreeBSD 2015 sesutil Utility for managing SCSI Enclosure Services SES device FreeBSD Manual Pages Theo de Raadt 2016 12 03 Page 10 The hardware drive controllers Open Documentation for Hardware OpenCON 2006 2 3 December 2006 Courtyard Venice Airport Venice Tessera Italy Retrieved 2019 03 27 RAID management is almost completely undocumented Constantine A Murenin 2010 05 21 1 1 Motivation 4 Sensor Drivers 7 1 NetBSD envsys sysmon OpenBSD Hardware Sensors Environmental Monitoring and Fan Control MMath thesis University of Waterloo UWSpace hdl 10012 5234 Document ID ab71498b6b1a60ff817b29d56997a418 Federico Biancuzzi 2007 11 01 Puffy s Marathon What s New in OpenBSD 4 2 ONLamp O Reilly Media Archived from the original on 2011 10 13 Retrieved 2019 03 03 Puffy s Marathon What s New in OpenBSD 4 2 ONLamp com Undeadly Federico Biancuzzi 2009 06 15 PuffyTron recommends OpenBSD 4 5 O Reilly Media Archived from the original on 2009 06 19 Retrieved 2019 03 19 David Gwynne 2005 sys scsi ses c SCSI Enclosure Services BSD Cross Reference OpenBSD ses SCSI Enclosure Services OpenBSD manual page server David Gwynne 2005 sys scsi safte c SCSI Accessed Fault Tolerant Enclosure BSD Cross Reference OpenBSD safte SCSI Accessed Fault Tolerant Enclosure OpenBSD manual page server Matthew Jacob National Aeronautics amp Space Administration 2000 dev scsipi ses c SCSI Environmental Services Driver BSD Cross Reference NetBSD Matthew Jacob 2000 sesd sesd getencstat setencstat setobjstat monitor SCSI Environmental Services Devices BSD Cross Reference NetBSD Portal nbsp Free and open source software Retrieved from https en wikipedia org w index php title Bioctl amp oldid 1177128567, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.