Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

bioctl

From Wikipedia, the free encyclopedia
(Redirected fromBio(4))
Generic RAID volume management
bioctl
Original author(s)Marco Peereboom (2005)
Developer(s)TheOpenBSD Project
Initial release23 August 2005; 19 years ago (2005-08-23)
Repository/sbin/bioctl
Written inC
Operating systemOpenBSD since 3.8 (2005);NetBSD since 4.0 (2007)
TypeRAID management andsystem monitoring
LicenceBSD licence
Websitebioctl(8)

Thebio(4)pseudo-device driver and thebioctl(8) utility implement a genericRAID volume management interface inOpenBSD andNetBSD.[1][2] The idea behind this software is similar toifconfig, where a single utility from theoperating system can be used to control anyRAID controller using a genericinterface, instead of having to rely on manyproprietary 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 theLEDs and managing of sound alarms, and specifyinghot spare disks. Additionally, thesoftraid configuration in OpenBSD is delegated to bioctl as well; whereas the initial creation of volumes and configuration of hardware RAID is left to cardBIOS as non-essential after the operating system has already been booted.[4] Interfacing between the kernel and userland is performed through theioctl system call through the/dev/biopseudo-device.

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 whereAdaptec 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 theirony of hardwareRAID controllers' supposed purpose of providing reliability, throughredundancy and repair, whereas in reality many vendors expectsystem administrators to install and depend on hugebinary blobs in order to be assess volume health and service theirdisk arrays.Specifically, OpenBSD is making a reference to themodus operandi ofFreeBSD, where the documentation of the aac(4) driver for Adaptec specifically suggests enablingLinux 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 theproprietary 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 cardBIOS 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 calledmfiutil,mptutil,mpsutil/mprutil andsesutil,[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 tocode bloat, not to mention any additional drivers for which no such tool even exists asopen-source software at all.[17]In OpenBSD 6.4 (2018), a dozen of drivers register with the bio framework.[1]

Thedrive sensors

[edit]
See also:hw.sensors § drive, andenvsys

Monitoring of the state of each logical drive is also duplicated into thehardware monitoring frameworks and their corresponding utilities on both systems where bioctl is available —hw.sensors with sensorsd in OpenBSD[4] and sysmonenvsys with envstat and powerd inNetBSD.[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]
See also:SCSI Enclosure Services andSAF-TE

In OpenBSD, bothSCSI Enclosure Services (SES)[21] andSAF-TE[22] are supported since OpenBSD 3.8 (2005) as well, both of which featureLED blinking through bio and bioctl (by implementing theBIOCBLINKioctl), helpingsystem 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 thehw.sensors framework in OpenBSD,[4] and can be monitored through familiar tools likesysctl,SNMP andsensorsd.

As of 2019[update], inNetBSD, an older SES/SAF-TE driver fromNASA from 2000 is still in place, which is not integrated with bio orenvsys, but has its owndevice files with a uniqueioctl 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 thecode bloat and the number ofsource lines of code.

References

[edit]
  1. ^abNiklas 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)
  2. ^Marco Peereboom (2005)."bioctl(8) — RAID management interface".BSD Cross Reference.OpenBSD.
  3. ^Federico Biancuzzi (2005-05-19)."OpenBSD 3.7: The Wizard of OS".ONLamp.O'Reilly Media. Archived fromthe original on 2005-05-21. Retrieved2019-03-20.
  4. ^abcdeTheo de Raadt (2005-09-09)."RAID management support coming in OpenBSD 3.8".misc@ (Mailing list).OpenBSD.
  5. ^abcFederico Biancuzzi (2005-10-20)."OpenBSD 3.8: Hackers of the Lost RAID".ONLamp.O'Reilly Media. Archived fromthe original on 2005-12-27. Retrieved2019-03-20.
  6. ^Federico Biancuzzi (2006-10-26)."OpenBSD 4.0: Pufferix's Adventures".ONLamp.O'Reilly Media. Archived fromthe original on 2007-03-10. Retrieved2019-03-19.
  7. ^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. Retrieved2019-03-04.
  8. ^OpenBSD 3.8.OpenBSD. 2005-11-01.ISBN 0-9731791-6-3. Retrieved2019-03-23.Hackers of the Lost RAID
  9. ^abc"3.8: "Hackers of the Lost RAID"".OpenBSD Release Songs.OpenBSD. 2005-11-01. Retrieved2019-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,...
  11. ^"Remove expired aaccli".FreshBSD.FreeBSD. 2010-08-03. Archived from the original on 2019-03-26. Retrieved2019-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.OpenCON 2006, 2–3 December 2006. Courtyard Venice Airport, Venice/Tessera, Italy. Retrieved2019-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.
  14. ^"mptutil — Utility for managing LSI Fusion-MPT controllers".BSD Cross Reference.FreeBSD. 2009.
  15. ^"mpsutil, mprutil — Utility for managing LSI Fusion-MPT 2/3 controllers".BSD Cross Reference.FreeBSD. 2015.
  16. ^"sesutil — Utility for managing SCSI Enclosure Services (SES) device".BSD Cross Reference.FreeBSD. 2015.
  17. ^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. Retrieved2019-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)."Puffy's Marathon: What's New in OpenBSD 4.2".ONLamp.O'Reilly Media. Archived fromthe original on 2011-10-13. Retrieved2019-03-03.
  20. ^Federico Biancuzzi (2009-06-15)."PuffyTron recommends OpenBSD 4.5".O'Reilly Media. Archived fromthe original on 2009-06-19. Retrieved2019-03-19.
  21. ^David Gwynne (2005)."/sys/scsi/ses.c — SCSI Enclosure Services".BSD Cross Reference.OpenBSD.
  22. ^David Gwynne (2005)."/sys/scsi/safte.c — SCSI Accessed Fault-Tolerant Enclosure".BSD Cross Reference.OpenBSD.
  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.
TheOpenBSD Project
Operating system
Related projects
People
Organizations
Publications
TheNetBSD Project
Operating system
Related projects
Notable subsystems
File systems andstorage
Firewalls andnetworking
Redundantarray of independentdisks
Disk arrays
RAID levels
Principles
Interfaces
Portal:
Retrieved from "https://en.wikipedia.org/w/index.php?title=Bioctl&oldid=1177128567"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp