Disk array controller: Difference between revisions

Content deleted Content added
No edit summary
add a section on OS support: , and sprinkle a few more relevant categories, too
Line 41:
 
ATA drives make it possible to build RAID systems at lower cost than with SCSI, but most ATA RAID controllers lack a dedicated buffer or high-performance XOR hardware for parity calculation. As a result, ATA RAID performs relatively poorly compared to most SCSI RAID controllers. Additionally, data safety suffers if there is no [[Battery (electricity)|battery]] backup to finish writes interrupted by a power outage.
 
==OS support==
Because the hardware RAID controllers present assembled [[RAID]] volumes, [[operating system]]s aren't strictly required to implement the complete configuration and assembly for each controller. Very often only the basic features are implemented in the [[open-source software]] driver, with extended features being provided through [[binary blob]]s directly by the hardware manufacturer.
 
Normally, RAID controllers can be fully configured through card [[BIOS]] before an [[operating system]] is booted, and after the operating system is booted, [[proprietary software|proprietary]] configuration utilities are available from the manufacturer of each controller, because the exact feature set of each controller may be specific to each manufacturer and product.
Unlike the [[network interface controller]]s for [[Ethernet]], which can be usually be configured and serviced entirely through the common operating system paradigms like [[ifconfig]] in [[Unix]], without a need for any third-party tools, each manufacturer of each RAID controller usually provides their own proprietary software tooling for each operating system that they deem to support, ensuring a [[vendor lock-in]], and contributing to reliability issues.{{r|lyrics-38}}
 
For example, in [[FreeBSD]], in order to access the configuration of [[Adaptec]] RAID controllers, users are required to enable [[FreeBSD#OS compatibility layers|Linux compatibility layer]], and use the Linux tooling from Adaptec,{{r|f-aac}} potentially compromising the stability, reliability and security of their setup, especially when taking the [[long term]] view in mind.{{r|lyrics-38}} However, this greatly depends on the controller, and whether appropriate hardware documentation is available in order to write a driver, and some controllers do have open-source versions of their configuration utilities, for example, <code>mfiutil</code> and <code>mptutil</code> is available for FreeBSD since FreeBSD 8.0 (2009),{{r|mfiutil|mptutil}} as well as <code>mpsutil</code>/<code>mprutil</code> since 2015,{{r|mpsutil}} each supporting only their respective device drivers, this latter fact contributing to [[code bloat]].
 
Some other operating systems have implemented their own generic frameworks for interfacing with any RAID controller, and provide tools for monitoring RAID volume status, as well as facilitation of drive identification through LED blinking, alarm management, [[hot spare disk]] designations and {{section link|data scrubbing#RAID}} from within the operating system without having to reboot into card BIOS. For example, this was the approach taken by [[OpenBSD]] in 2005 with its [[bio(4)]] [[pseudo-device]] driver and the [[bioctl]] utility, which provide volume status, and allow LED/alarm/hotspare control, as well as the sensors (including the [[hw.sensors#drive|drive sensor]]) for health monitoring;<ref name=theo-misc-38/> this approach has subsequently been adopted and extended by [[NetBSD]] in 2007 as well.{{r|sensors-mmath}}
 
With [[bioctl]], the feature set is intentionally kept to a minimum, so that each controller can be supported by the tool in the same way; the initial configuration of the controller is meant to be performed through card BIOS,{{r|theo-misc-38}} but after the initial configuration, all day-to-day monitoring and repair should be possible with unified and generic tools, which is what [[bioctl]] is set to accomplish.
 
==References==
{{reflist}}
|refs=
 
<ref name=f-aac>{{cite web
|url= http://bxr.su/f/share/man/man4/aac.4
|title= aac(4) — Adaptec AdvancedRAID Controller driver
|website= BSD Cross Reference |publisher= [[FreeBSD]]
|author1= Scott Long |author2= Adaptec, Inc |author2-link= Adaptec |date= 2000
|lay-url= http://mdoc.su/f/aac.4
}}</ref>
 
<ref name=mfiutil>{{cite web
|url= http://bxr.su/f/usr.sbin/mfiutil/
|title= mfiutil — Utility for managing LSI MegaRAID SAS controllers
|website= BSD Cross Reference
|publisher= [[FreeBSD]]
|lay-url= http://mdoc.su/f,d/mfiutil.8
}}</ref>
 
<ref name=mpsutil>{{cite web
|url= http://bxr.su/f/usr.sbin/mpsutil/
|title= mpsutil — Utility for managing LSI Fusion-MPT 2/3 controllers
|website= BSD Cross Reference
|publisher= [[FreeBSD]]
|lay-url= http://mdoc.su/f,d/mpsutil.8
}}</ref>
 
<ref name=mptutil>{{cite web
|url= http://bxr.su/f/usr.sbin/mptutil/
|title= mptutil — Utility for managing LSI Fusion-MPT controllers
|website= BSD Cross Reference
|publisher= [[FreeBSD]]
|lay-url= http://mdoc.su/f,d/mptutil.8
}}</ref>
 
<ref name=lyrics-38>{{cite web
|url= http://www.openbsd.org/lyrics.html#38
|title= 3.8: "Hackers of the Lost RAID"
|work= OpenBSD Release Songs
|publisher= [[OpenBSD]]
|date= 2005-11-01 |access-date= 2019-03-23
}}</ref>
 
<ref name=theo-misc-38>{{cite mailing list
|url= //marc.info/?l=openbsd-misc&m=112630095818062
|author = Theo de Raadt
|author-link = Theo de Raadt
|title= RAID management support coming in OpenBSD 3.8
|date= 2005-09-09
|mailing-list= misc@
|publisher = [[OpenBSD]]
}}</ref>
 
<ref name=sensors-mmath>{{cite thesis
|degree= [[Master of Mathematics#Canada|MMath]]
|author= Constantine A. Murenin |date= 2010-05-21
|section= 1.1. Motivation; 4. Sensor Drivers; 7.1. NetBSD envsys / sysmon
|title= OpenBSD Hardware Sensors — Environmental Monitoring and Fan Control.
|___location= [[University of Waterloo]] |publisher= UWSpace
|url = http://cnst.su/MMathCS |hdl = 10012/5234
|id = Document ID: ab71498b6b1a60ff817b29d56997a418.
}}</ref>
 
}}
 
*'''[http://www.enterprisestorageforum.com/hardware/features/article.php/3351361 Storage Basics: Choosing a RAID Controller]''', May 7, 2004, By Ben Freeman
 
{{FOLDOC}}
{{RAID}}
 
[[Category:Computer data storage]]
[[Category:Computer storage devices]]
[[Category:AT Attachment]]
[[Category:Fault-tolerant computer systems]]
[[Category:Integrated circuits]]
[[Category:RAID]]
[[Category:SCSI]]