Hallo Habr! In dit artikel bespreken we of het de moeite waard is om RAID-arrays op te zetten met solid-state oplossingen zoals SATA SSD's en NVMe SSD's, en of dit aanzienlijke voordelen zal opleveren. We hebben besloten deze kwestie te onderzoeken door de soorten en types controllers te bekijken die dit mogelijk maken, evenals de toepassingsgebieden van dergelijke configuraties.

Hoe dan ook, ieder van ons heeft waarschijnlijk ooit in zijn leven termen zoals āRAIDā, āRAID-arrayā en āRAID-controllerā gehoord, maar waarschijnlijk niet veel aandacht aan deze termen besteed, omdat de gemiddelde PC-gebruiker daar niet echt in geĆÆnteresseerd is. Toch willen we allemaal hoge snelheden van interne opslag en de betrouwbaarheid daarvan. Want ongeacht hoe krachtig de hardware van de computer is, wordt de snelheid van de opslag een bottleneck als we kijken naar de algehele prestaties van de PC en de server.
Dit was precies het geval totdat moderne NVMe SSD's met vergelijkbare capaciteiten van 1 TB en meer de traditionele HDD's vervingen. Vroeger kwamen vaak combinaties van SATA SSD's en een paar ruime HDD's voor in PC's, maar vandaag de dag worden ze steeds vaker vervangen door een andere oplossing: NVMe SSD + een paar ruime SATA SSD's. Wat betreft zakelijke servers en ācloudsā, velen zijn al succesvol overgestapt op SATA SSD's, simpelweg omdat ze sneller zijn dan gewone HDD's en in staat zijn om meer input/output-operaties gelijktijdig te verwerken.

Toch blijft de fouttolerantie van het systeem nog steeds op een vrij laag niveau: we kunnen niet zoals in āDe Battle of the Psychicsā nauwkeurig voorspellen wanneer een bepaalde solid-state schijf het zal opgeven, zelfs niet binnen een week. Terwijl HDD's geleidelijk āstervenā, wat ons in staat stelt symptomen op te merken en maatregelen te nemen, āstervenā SSD's ineens en zonder waarschuwing. En nu is het tijd om uit te zoeken waarom dit allemaal nodig is. Is het de moeite waard om RAID-arrays op te zetten met solid-state oplossingen zoals SATA SSD's en NVMe SSD's, en zal dit aanzienlijke voordelen opleveren?
Waarom is een RAID-array nodig?
Het woord 'array' impliceert al dat er meerdere opslagmedia (HDD en SSD) worden gebruikt om deze te creƫren, die worden samengevoegd met behulp van een RAID-controller en door het besturingssysteem als ƩƩn enkele gegevensopslag worden herkend. De belangrijkste taak die RAID-arrays mogelijk maken, is het minimaliseren van de toegangstijd tot gegevens, het verhogen van de lees- en schrijfsnelheid en de betrouwbaarheid, die wordt bereikt door de mogelijkheid om snel te herstellen in geval van een storing. Voor thuisbackups is het overigens niet noodzakelijk om RAID te gebruiken. Maar als je je eigen thuisserver hebt, waartoe constante toegang 24/7 vereist is, dan is dit een ander verhaal.
Er zijn meer dan een dozijn RAID-niveaus, elk met een verschillend aantal opslagmedia en zijn eigen voor- en nadelen: bijvoorbeeld RAID 0 biedt hoge prestaties zonder redundantie, RAID 1 zorgt voor automatische gegevensspiegeling zonder snelheidswinst, en RAID 10 combineert de mogelijkheden van de genoemde niveaus. RAID 0 en 1 zijn de eenvoudigste (aangezien ze geen programmatische berekeningen vereisen) en, als gevolg daarvan, de meest populaire. Uiteindelijk hangt de keuze voor een bepaald RAID-niveau af van de taken die aan de schijfarray zijn toegewezen en de mogelijkheden van de RAID-controller.
Thuis- en bedrijfs-RAID: wat is het verschil?
De basis van elk modern bedrijf zijn grote hoeveelheden gegevens die betrouwbaar moeten worden opgeslagen op de servers van bedrijven. En zoals we hierboven al hebben opgemerkt, moet er continue toegang 24/7 tot deze gegevens zijn. Het is duidelijk dat, naast de hardware, ook de softwarecomponent belangrijk is, maar in dit geval hebben we het vooral over de apparatuur die betrouwbare opslag en verwerking van informatie waarborgt. Geen enkele software kan een bedrijf redden van faillissement als de hardware niet voldoet aan de gestelde eisen.

Voor deze taken biedt elke hardwarefabrikant zogenaamde zakelijke apparaten aan. Voor Kingston zijn dat krachtige solid-state oplossingen in de vorm van SATA-modellen. en , en ook NVMe-modellen DC1000M U.2 NVMe, DCU1000 U.2 NVMe en DCP-1000 PCI-e, bedoeld voor gebruik in datacenters (datacenters) en supercomputers. Arrays van dergelijke schijven worden meestal gebruikt in combinatie met hardwarecontrollers.

Voor de consumentenmarkt (verbruikers zoals thuis-pc's en NAS-servers) zijn er schijven beschikbaar zoals NVMe PCIe, maar in dit geval is het niet noodzakelijk om een hardwarecontroller aan te schaffen. Je kunt je beperken tot de geĆÆntegreerde controller op het moederbord van de pc of NAS-server, tenzij je van plan bent om een thuisserver voor ongewone taken zelf samen te stellen (bijvoorbeeld een kleine thuishosting voor vrienden). Bovendien zijn huis RAID-arrays meestal beperkt tot twee, vier of acht apparaten (meestal SATA), en houden ze geen rekening met honderden of duizenden schijven.
Soorten en types RAID-controllers
Er zijn drie soorten RAID-controllers, gebaseerd op de principes van RAID-arrays:
1. Software, waarbij het beheer van de array op de CPU en DRAM ligt (dat wil zeggen dat de uitvoering van de softwarecode op de processor plaatsvindt).
2. GeĆÆntegreerd, dat wil zeggen ingebouwd in de moederborden van pc's of NAS-servers.
3. Hardware (modulair), bestaande uit discrete uitbreidingskaarten voor PCI/PCIe-systeemborden.
Wat is het fundamentele verschil tussen deze? Software RAID-controllers zijn minder performant en minder failover-capabel dan geĆÆntegreerde en hardware-controllers, maar vereisen geen speciale hardware om te functioneren. Het is echter belangrijk om ervoor te zorgen dat de processor van het hostsysteem krachtig genoeg is om de RAID-software uit te voeren zonder een negatieve impact op de prestaties van andere applicaties die ook op de host draaien. GeĆÆntegreerde controllers zijn doorgaans voorzien van hun eigen cache-geheugen en gebruiken een bepaald aantal CPU-resources.
Hardware controllers have their own cache memory and built-in processors to execute software algorithms. They typically support all types of RAID levels and can accommodate multiple types of storage devices. For instance, modern hardware controllers from Broadcom can connect SATA, SAS, and NVMe devices simultaneously, which means you won't need to change the controller when upgrading servers: specifically, when transitioning from SATA SSDs to NVMe SSDs, the controllers can remain unchanged.

On this note, we have approached the typology of the controllers themselves. If there are three-mode controllers, should there be others as well? In this case, the answer is affirmative. Depending on their functions and capabilities, RAID controllers can be categorized into several types:
1. Regular controllers with RAID functionality
In the entire hierarchy, this is the simplest type of controller, allowing the combination of HDDs and SSDs into RAID arrays of levels '0', '1', or '0+1'. This is implemented at the firmware level. However, such devices are unlikely to be recommended for corporate use, as they lack cache and do not support RAID levels '5', '3', etc. However, they are quite suitable for entry-level home servers.
2. Controllers that work in tandem with other RAID controllers
This type of controller can operate alongside integrated motherboard controllers. It works on the following principle: a discrete RAID controller handles 'logical' tasks, while the built-in controller manages data exchange between storage devices. However, there's a nuance: the parallel operation of such controllers is only possible on compatible motherboards, which significantly limits their area of application.
3. Standalone RAID controllers
These discrete solutions include all the necessary chips for working with enterprise-class servers, possessing their own BIOS, cache memory, and processors for quick error correction and checksum calculations. Additionally, they meet high reliability standards in manufacturing and come with high-quality memory modules.
4. External RAID controllers
Het is niet moeilijk te raden dat alle bovengenoemde controllers intern zijn en hun stroom krijgen via de PCIe-aansluiting van het moederbord. Wat zegt dit? Het betekent dat een defect aan het moederbord kan leiden tot fouten in de werking van de RAID-array en gegevensverlies. Externe controllers zijn echter vrijgesteld van dit probleem, omdat ze in een aparte behuizing met een onafhankelijke voeding zijn geplaatst. Wat betreft betrouwbaarheid bieden dergelijke controllers het hoogste niveau van gegevensopslag.
, Microsemi Adaptec, Intel, IBM, Dell en Cisco zijn slechts enkele van de bedrijven die momenteel hardware RAID-controllers aanbieden.
Werkwijzen van RAID-controllers SAS/SATA/NVMe
De belangrijkste taak van driefasige HBA- en RAID-controllers (of controllers met Tri-Mode-functie) is het creƫren van hardware RAID op basis van NVMe. Bij Broadcom kunnen controllers van de 9400-serie dit, bijvoorbeeld, . Het is een zelfstandig type RAID-controller, uitgerust met vier SFF-8643-aansluitingen en dankzij de ondersteuning van Tri-Mode kunnen zowel SATA/SAS- als NVMe-opslagmedia tegelijkertijd worden aangesloten. Bovendien is dit ook een van de energiezuinigste controllers op de markt (verbruikt slechts 17 watt, minder dan 1,1 watt per poort voor elk van de 16 poorten).

De verbindingsinterface is PCI Express x8 versie 3.1, wat een doorvoersnelheid van 64 Gbit/s mogelijk maakt (in 2020 worden controllers voor PCI Express 4.0 verwacht). De 16-poorts controller is gebaseerd op een dual-core chip en 72-bit DDR4-2133 SDRAM (4 GB), en er is ook de mogelijkheid om maximaal 240 SATA/SAS-opslagmedia of tot 24 NVMe-apparaten aan te sluiten. Wat betreft de organisatie van RAID-arrays, ondersteunt het niveaus "0", "1", "5" en "6", evenals "10", "50" en "60". Overigens, het cachegeheugen en andere controllers in de 9400-serie zijn beschermd tegen spanningspieken met een extra CacheVault CVPM05-module.
De driedelige technologie is gebaseerd op de functie voor gegevensconversie SerDes: conversie van seriƫle gegevensweergave in de interfaces SAS/SATA naar een parallelle vorm in PCIe NVMe en omgekeerd. Dit betekent dat de controller snelheden en protocollen afstemt om moeiteloos te kunnen werken met elk van de drie types opslagapparaten. Dit zorgt voor een soepele manier om de infrastructuur van datacenters op te schalen: gebruikers kunnen NVMe gebruiken zonder aanzienlijke wijzigingen in andere systeemconfiguraties.

Bij het plannen van configuraties met NVMe-opslagapparaten is het echter belangrijk op te merken dat NVMe-oplossingen 4 PCIe-lijnen gebruiken voor de verbinding, wat betekent dat elke opslag een volledige set lijnen van de SFF-8643-poorten gebruikt. Dit betekent dat er rechtstreeks slechts vier NVMe-opslagapparaten aan de MegaRAID 9460-16i-controller kunnen worden aangesloten. Of beperk je tot twee NVMe-oplossingen bij gelijktijdige aansluiting van acht SAS-opslagapparaten (zie het aansluitschema hieronder).

De afbeelding toont het gebruik van connector "0" (C0 / Connector 0) en connector "1" voor NVMe-verbindingen, evenals connectors "2" en "3" voor SAS-verbindingen. Deze indeling kan worden omgekeerd, maar elke x4 NVMe-opslag moet worden aangesloten met gebruik van aangrenzende lijnen. De bedrijfsmodi van de controller worden ingesteld via de configuratietools StorCLI of Human Interface Infrastructure (HII), die werkt in een UEFI-omgeving.

De standaardmodus is het profiel "PD64" (ondersteuning alleen voor SAS/SATA). Zoals eerder vermeld, zijn er in totaal drie profielen: de modus "SAS/SATA only mode" (PD240 / PD64 / PD 16), de modus "NVMe only mode" (PCIe4) en de gemengde modus waarin alle typen opslag kunnen functioneren: "PD64-PCIe4" (ondersteuning voor 64 fysieke en virtuele schijven met 4 NVMe-opslagapparaten). In de gemengde modus moet de waarde van het ingestelde profiel zoals volgt zijn: "ProfileID=13". Overigens blijft het gekozen profiel als de primaire instelling behouden, zelfs na een reset naar de fabrieksinstellingen via de opdracht Set Factory Defaults. Het kan alleen handmatig worden gewijzigd.
Is het de moeite waard om een RAID-array op SSD's te creƫren?
We already understand that RAID arrays are the key to high performance. But is it worth assembling a RAID from solid-state drives for home and corporate use? Many skeptics argue that the speed increase isn't significant enough to splurge on NVMe drives. But is that really the case? Unlikely. The only major limitation for using SSDs in RAID (both at home and in a corporate environment) can be the price. After all, the cost per gigabyte for HDDs is significantly lower.
Connecting multiple solid-state 'drives' to a RAID controller to create an SSD array in certain configurations can greatly impact performance. However, one must remember that the maximum performance is limited by the bandwidth of the RAID controller itself. The RAID level that offers the best performance is RAID 0.

Setting up a standard RAID 0 with two SSDs, where data is split into fixed blocks and alternated between solid-state storage, will lead to a doubling of performance (when comparing to the speeds delivered by a single SSD). Meanwhile, a RAID 0 array with four solid-state drives would be four times faster than the slowest SSD in the array (depending on the bandwidth limitations of the RAID controller for SSDs).
If we consider simple arithmetic, SATA SSDs are about 3 times faster than traditional SATA HDDs. NVMe solutions are even more effective ā 10 times or more. Given that two hard drives in a level zero RAID will demonstrate doubled performance, increasing it by 50%, two SATA SSDs will be 6 times faster, while two NVMe SSDs will be 20 times faster. Specifically, a single Kingston KC2000 NVMe PCIe drive can achieve sequential read and write speeds of up to 3200 MB/s, which in RAID 0 can reach an impressive 6 GB/s. The random read/write speed for 4 KB blocks will increase from 350,000 IOPS to 700,000 IOPS. But⦠at the same time, RAID zero does not provide us with redundancy.
Men kan zeggen dat redundantie in opslag thuis meestal niet nodig is, dus de meest geschikte RAID-configuratie voor SSD's is inderdaad RAID 0. Dit is een betrouwbare manier om een aanzienlijke prestatieverbetering te behalen als alternatief voor technologieĆ«n zoals Intel Optane-gebaseerde solid-state drives. Hoe SSD-oplossingen zich gedragen in de meest populaire RAID-configuratietypes ("1", "5", "10", "50") ā dat bespreken we in ons volgende artikel.
Dit artikel is voorbereid met ondersteuning van onze collega's van Broadcom, die hun controllers aan Kingston-engineers aanbieden voor testen met SATA/SAS/NVMe enterprise-class opslagmedia. Dankzij deze vriendschappelijke samenwerking hoeven klanten niet te twijfelen aan de betrouwbaarheid en stabiliteit van Kingston-opslagmedia met HBA- en RAID-controllers. .
Meer informatie over producten van Kingston vind je hier. het bedrijf.
Bron: habr.com
