SCST - SCST
![]() | |
Stabilní uvolnění | 3.4 / 3. prosince 2019 |
---|---|
Úložiště | sourceforge github |
Napsáno | C |
Operační systém | Linux |
Typ | Blokovat úložiště |
Licence | GNU General Public License |
webová stránka | scst github |
SCST je GPL licencováno Cíl SCSI Softwarový zásobník. Cíle návrhu tohoto softwarového zásobníku jsou vysoký výkon, vysoká spolehlivost, přísná shoda se stávajícími SCSI standardy, snadno se rozšiřují a snadno se používají. SCST nepodporuje pouze více protokolů SCSI (iSCSI, FC, SRP, ...), ale také podporuje více rozhraní lokálního úložiště (SCSI pass-through, blok I / O a I / O souborů) a také ovladače úložiště implementované v uživatelském prostoru pomocí ovladače scst_user.[1]
Pro dosažení maximálního výkonu byl SCST implementován jako sada ovladačů jádra. SCST se často kombinuje s NÁLET, deduplikace dat a / nebo cluster s vysokou dostupností software pro rozšíření jeho funkčnosti. Softwarový zásobník SCST je základním softwarem mnoha SAN systémy.[2] Se systémy SAN založenými na SCST bylo dosaženo několika světových rekordů.[3][4][5][6]
SCST soutěží s Cíl LIO ze stejného důvodu poskytnutí obecného cílového modulu SCSI uvnitř jádra Linuxu.[7] Pro užší účel poskytuje Linux Cíl iSCSI, starší IET a STGT moduly se také těší průmyslové podpoře.[8]
V letech 2013 až 2017 SCST primárně udržoval SanDisk personál, po Fusion-io získala start-up ID7 v roce 2013, hnací síla SCST[9][10][11] a poté SanDisk získané Fusion-io v roce 2014.[12]
Architektura
![](http://upload.wikimedia.org/wikipedia/en/thumb/d/d5/Scst-architecture-diagram.png/300px-Scst-architecture-diagram.png)
SCST se skládá ze tří skupin modulů:
- Jádro SCST, modul nezávislý na protokolu pro zpracování příkazů SCSI.
- Zaměřte ovladače, které přijímají příkazy SCSI od iniciátora SCSI, předejte tyto SCSI jádru SCST a odešlete zpět odpovědi iniciátoru.
- Ovladače úložiště známé také jako ovladače zařízení, které interagují s paměťovým médiem. Podporovaná rozhraní místního úložiště jsou SCSI, blokovat zařízení, soubor a scst_user. scst_user je protokol specifický pro SCST, který umožňuje efektivní implementaci ovladačů úložiště v uživatelském prostoru.
Konfigurace všech těchto modulů probíhá prostřednictvím a sysfs rozhraní. I když je přímá konfigurace SCST přes jeho rozhraní sysfs pohodlná, nástroj zvaný scstadmin umožňuje ovládat SCST přes jeho rozhraní sysfs a také ukládat a obnovovat konfiguraci SCST.
Následující aspekty designu pomáhají SCST dosáhnout vysokého výkonu, kterým je tento projekt známý:
- Počet vláken na úložné zařízení, které zpracovává příkazy SCSI, je konfigurovatelný.
- Všechny funkce cílového ovladače a ovladače úložiště vyvolané jádrem SCST jsou asynchronní, alespoň pokud to umožňuje jádro Linuxu. Je to např. zatím není možné provádět asynchronní nebo přímé I / O z jádra Linuxu.[13]
- Jeden konečný stavový stroj je přidružen ke každému příkazu SCSI. To umožňuje jednomu podprocesu příkazů zpracovávat současně více příkazů SCSI.
- I když používáte více vláken na úložné zařízení, všechna tato vlákna sdílejí stejný kontext plánovače I / O. Toto sdílení výrazně zvyšuje výkon při použití např. the CFQ Plánovač I / O.
- Scatter-collect vector cache. Tato mezipaměť zamezuje nutnosti přidělit paměť prostřednictvím jádra pro každý příkaz SCSI.
- Pro zpracování příkazů SCSI je nutný bezbranný přístup k určitým datovým strukturám. To také znamená, že I / O musí být pozastaven, než bude možné upravit některou z datových struktur, ke kterým se přistupuje bez uzamčení.[14]
- Příkazy SCSI lze odeslat cílovým ovladačem do jádra SCST z kontextu softirq. To má za následek nižší počet kontextových přepínačů ve srovnání s nutností odesílat příkazy SCSI z kontextu vláken.[15]
Dějiny
V roce 2000 byla cílovým rámcem SCSI vyvinuta Laboratoř interoperability University of New Hampshire (UNH-IOL). Přestože implementace cíle SCSI UNH-IOL podporuje pouze iSCSI protokol, byl navržen tak, aby bylo snadné přidat podporu pro další protokoly úložiště.[16]
V roce 2004 byl vyhlášen projekt SCST, poskytující Fibre Channel a podpora iSCSI. Počáteční cíl iSCSI v SCST byl založen na implementaci cíle UNH-IOL iSCSI.[17]V té době společnost Ardis Technologies vyvinula alternativní cílový softwarový zásobník iSCSI.[18]
Software iSCSI Enterprise Target, oznámený v roce 2005, je dalším vývojem zásobníku Ardis.[19][20]Později v roce 2005 společnost Chelsio oznámila cílový ovladač SCST iSCSI pro rodinu ethernetových adaptérů Chelsio T2.[21]
V roce 2006 byl přidán cílový ovladač pro karty LSI / MPT.[22]Později v tomto roce byl přidán nástroj scstadmin. Tento nástroj umožňuje uložit a obnovit konfiguraci SCST ze souboru nebo do souboru.[23]
V roce 2007 byla cílová oprava UNH-IOL iSCSI v projektu SCST nahrazena vidličkou IET.[24]
V roce 2008 SRP cílový ovladač byl darován společností Mellanox.[25] Později tento ovladač optimalizoval Bart Van Assche.[26]
V roce 2009 Marvell daroval cílový ovladač pro své karty SAS.[27]
Také v roce 2009 cílový ovladač pro Emulex Fibre Channel /FCoE karty adaptéru oznámila společnost Emulex.[28][29][30]
Ve stejném roce bylo do SCST přidáno rozhraní sysfs vedle již existujícího rozhraní procfs.
V roce 2010 FCoE cílový ovladač byl darován společností Cisco[31] a Bart Van Assche přenesl IBM System str SCSI cílový ovladač na SCST.[32]
V roce 2011 byla do jádra SCST a do konfiguračního nástroje scstadmin přidána implicitní podpora ALUA.[33] Tři skripty init (scst, iscsi-scst a qla2x00t) byly sloučeny do jednoho skriptu init, což zjednodušilo instalaci a správu SCST.
V roce 2013 byla do cílového ovladače SRP přidána podpora pro QLogic InfiniBand HCA.[34]
V lednu 2014 společnost Mellanox darovala implementaci cílového ovladače iSER do projektu SCST.[35]
V květnu 2014 společnost QLogic zpřístupnila cílový ovladač QLogic s rychlostí 16 Gbit / s a rovněž oznámila převzetí správy cílového ovladače SCST QLogic.[36]
V roce 2016 byla přidána podpora pro asynchronní vyrovnávací paměť a přímé I / O souborů a také výkonnější infrastruktura pro měření latence.
V roce 2019 bylo jádro SCST upraveno tak, aby I / O běželo plnou rychlostí, pokud je přidán nebo odebrán LUN nebo úložné zařízení.
Viz také
Reference
- ^ Van Assche, Bart (19. srpna 2015). SCST, SCSI Target Framework (PDF). LinuxCon Severní Amerika 2015. Seattle.
- ^ Bolkhovitin, Vladislav (20. prosince 2012). „Uživatelé SCST“.
- ^ „Nový světový rekord v cloudových výpočtech VMmark s Cisco UCS, VMware a Fusion-io“. Fusion-io. 10. května 2013. Archivovány od originál 2. července 2014. Citováno 12. srpna 2018.
- ^ „Společnost HP dosahuje dvou nových referenčních hodnot virtualizace VMmark č. 1 s ION Data Accelerator“. Fusion-io. 12. září 2013. Archivovány od originál 16. června 2014. Citováno 12. srpna 2018.
- ^ „Společnost HP dosahuje světových rekordů ve výkonu virtualizace serverů 2P blade a 2P do racku na benchmarku VMmark 2.5.1“ (PDF). HP. Říjen 2013.
- ^ „K2 překonává dva miliony IOPS pomocí jediného úložného systému typu All-Flash“. Kaminario. 4. října 2012.
- ^ https://lwn.net/Articles/424004/
- ^ Florian Haas, “Všechno replikujte! Vysoce dostupné úložiště iSCSI s DRBD a kardiostimulátorem ", (Linux iSCSI: část Příběh čtyř cílů) Linux Journal Vydání # 217, květen 2012
- ^ Meyer, David (18. března 2013). „Fusion-io získává softwarově definovanou úložnou firmu ID7 pro kotle SCST“. Gigaom. Citováno 20. července 2014.
- ^ O'Brien, Kevin (18. března 2013). „Fusion-io získává ID7, vývojáře SCST“. Citováno 20. července 2014.
- ^ „Fusion-io ID7 - zrychlení sdíleného úložiště pomocí softwarově definovaných řešení“. Fusion-io. Archivovány od originál 4. srpna 2014. Citováno 12. srpna 2018.
- ^ Iyer, Jay (23. července 2014). „SanDisk dokončuje akvizici Fusion-io“. SanDisk.
- ^ Edge, Jake (3. dubna 2012). „Summit Linuxového úložiště, souborového systému a správy paměti 2012 - 1. den“.
- ^ Van Assche, Bart (25. prosince 2012). „Více jemnozrnné zamykání v SCST.
- ^ Bolkhovitin, Vladislav; Van Assche, Bart (26. září 2012). „SCST README“.
- ^ Palekar, Ashish; Ganapathy, Narendran; Chadda, Anshul; Russell, Robert D. (2001). "Návrh a implementace cíle Linux SCSI pro sítě úložných oblastí". Sborník z 5. výroční linuxové showcase a konference. Sdružení USENIX. 5: 11–18. CiteSeerX 10.1.1.61.2706.
- ^ Bolkhovitin, Vladislav. „OZNAMOVAT Generic SCSI Target Middle Level pro Linux (SCST) s cílovými ovladači“.
- ^ Fujita, Tomonori; Masanori, Ogawara (2004). "Analýza cílového softwaru iSCSI". Sborník z mezinárodního semináře o architektuře úložných sítí a paralelních I / O. ACM: 25–32.
- ^ Fujita, Tomonori (1. června 2004). „iSCSI Enterprise Target“.
- ^ Fujita, Tomonori (1. března 2005). „OZNAMOVAT cílový podnikový software iSCSI“.
- ^ Smith, Randy (7. září 2005). „Chelsio přináší produktovou řadu iSCSI nové generace s průlomem ve výkonu a hustotě portů“. Chelsio.
- ^ Habbinga, Erik (13. prosince 2006). „Cílový ovladač LSI / MPT“.
- ^ Buechler, Mark R. (14. listopadu 2006). „Initial scstadmin commit“.
- ^ Bolkhovitin, Vladislav (15. srpna 2007). „Počáteční potvrzení iSCSI-SCST“.
- ^ Pham, Vu (17. května 2008). „Počáteční potvrzení cílového ovladače SRP“.
- ^ Van Assche, Bart (20. prosince 2010). "PATCH 4/7 scst: Přidat cílový ovladač SRP".
- ^ Yan, Andi (14. dubna 2009). „Cílový ovladač pro karty Marvell 88SE64xx (3G) a 88SE94xx (6G) SAS“.
- ^ Bolkhovitin, Vladislav (8. července 2009). „ANNOUNCE SCST Target driver support for Emulex lpfc FC / FCoE adapters“.
- ^ Lane, Katherine (15. září 2009). „SDK přináší vývojářům řešení úložišť datových center vylepšenou hodnotu a rozšířenou tržní příležitost“. Emulex. Archivovány od originál dne 15. října 2009. Citováno 10. srpna 2018.
- ^ „TargetConnect Software Developer Kit: Urychlení, zjednodušení a vylepšení vývoje cílového ovladače“. Emulex. 15. září 2009. Archivovány od originál dne 14. října 2009. Citováno 10. srpna 2018.
- ^ Eykholt, Joe (20. února 2010). „Počáteční potvrzení cílového ovladače FCoE“.
- ^ Van Assche, Bart (20. prosince 2010). „PATCH 5/7 ibmvstgt: Port from tgt to SCST“.
- ^ Van Assche, Bart (11. května 2011). "PATCH scst: Přidat implicitní podporu ALUA".
- ^ Van Assche, Bart (17. března 2013). „PATCH ib_srpt: Přidat podporu pro QLogic InfiniBand HCA“.
- ^ Burman, Yan (21. ledna 2014). "PATCH 0/9 podpora iSER pro SCST".
- ^ Grigsby, Duane (20. května 2014). „Podpora QLogic 16G FC / FCoE HBA“.
externí odkazy
- Enterprise Storage OS (ESOS) - Otevřená, vysoce výkonná platforma úložiště na úrovni bloků.
- Bill Childers, OpenFiler: Open-Source Network Storage Appliance, Linux Journal číslo 181, květen 2009.
- Errol Neal, SSD + ZFS / bcache / EnhanceIO + SCST = hybridní úložné pole?, ha-guru.com, 22. července 2014.
- Ovladače Emulex Linux, SourceForge.