19   Storage over IP (HyperSCSI)

19.1   Úvod

Protokol HyperSCSI (viz [HSC]) je síťový protokol, který má sloužit k přenosu SCSI příkazů a dat po síti. Původně vznikl v roce 2000 v Data Storage Institute (DSI) jako alternativa k protokolu iSCSI (viz [SSC03], který coby alternativa protokolu Fibre Channel pro sítě typu Ethernet nevyhovoval. Vyvinul se z výzkumu možnosti zapouzdření SCSI do ethernetových rámců.

Stejně jako iSCSI se i HyperSCSI (dále jen HSCSI) snaží především poskytnout levnější variantu pro budování sítí pro ukládání dat (Storage Area Network, SAN), než nabízí technologie Fibre Channel (dále jen FC). Oproti iSCSI se navíc snaží poskytnout vyšší výkon, který je v obou variantách horší, než při použití technologie FC.

Cílem projektu je

Zkušenosti získané testováním v rámci projektu jsme popsali v technické zprávě číslo 23/2003.

19.2   Možnosti HSCSI

Protokol je navržen pro dvě varianty síťového přenosu. První, momentálně implementovaná a zde popsaná, je označena jako HS/Eth a je založena na přenosu dat přímo po Ethernetu. Dle autorů funguje i nad bezdrátovými sítěmi typu 802.11b. Výhledově se počítá s implementací, která by pro přenos používala IP vrstvu (HS/IP). Bohužel není vůbec jasné, kdy bude varianta HS/IP k dispozici.

Současná implementace je k dispozici pouze v softwarové podobě, a to pro OS Linux a Windows 2000. Je použit přístup klient-server. Projekt je vyvíjen jako otevřený (Open Source), ovšem pouze pro platformu Linux. Zde jsou přístupné zdrojové kódy i binární instalační balíčky serveru i klienta. Pro platformu Windows je k dispozici pouze zkušební binární verze klientské části, bez zdrojových kódů.

Protokol HSCSI řeší také zabezpečení přenosu dat, a to následujícími mechanismy:

Ochrana dat před neoprávněným přístupem
Klient se musí serveru autentikovat pomocí kombinace jméno/heslo. Lze je nastavit pro každý exportovaný svazek.
Zajištění integrity přenášených dat
Současně je implementován pouze algoritmus SHA1 HMAC, ale počítá se s dalšími. Architektura je navržena modulárně, lze si dopsat i vlastní mechanismus.
Šifrování přenášených dat
Implementován je algoritmus AES (Rijndael), konkrétně 128bitová varianta. Opět se do budoucna počítá s dalšími algoritmy.

19.3   Srovnání HSCSI s iSCSI

Protože je protokol HSCSI dostupný pouze pro sítě Ethernet, jeho největší nevýhodou je nemožnost směrování, a tedy nemožnost rozlehlejšího nasazení. Dále je třeba si uvědomit, že HSCSI není žádný oficiální standard (jako např. iSCSI) a není podporován žádným výrobcem zabývajícím se HW řešeními ukládacích zařízení. Zatím ani žádný výrobce podporu neplánuje.

Výhodou proti iSCSI je především nižší zátěž jak sítě, tak i koncových systémů (klient, server). Je to způsobeno jak návrhem a implementací protokolu, tak faktem, že iSCSI používá pro přenos dat TCP/IP s vetší režií. Dále díky plně funkční programové implementaci HSCSI serveru i klienta (na rozdíl od iSCSI, kde jsou problémy především s částí serveru), lze postavit řešení s HSCSI na běžném vybavení a není třeba dokupovat specializované a drahé HW řešení. Může se tak hodit na budování malých levných SAN.

19.4   Praktické zkušenosti

Ověření celkové funkčnosti klienta a serveru
Testovali jsme jedno/více klientskou (serverovou) variantu. Ověřované verze byly na platformě Intel/Linux funkční, ale pouze pro jádro 2.4.18 a vyšší. Starší verze HSCSI podporují i starší jádra. Protože varianta nad IP vrstvou ještě nebyla implementována, testovali jsme ethernetovou variantu. Klient byl se serverem propojen přímo (pro výkonnostní testy na gigabitovém Ethernetu) nebo prostřednictvím přepínače (pro testy přístupu více klientů). Fungoval jak přístup více klientů na server, tak i konfigurace klienta, který měl připojen zařízení z více serverů.
Ověření funkčnosti v bezdrátové síti standardu 802.11b
Testované verze sice byly schopny zajistit klientovi přístup k vzdálenému zařízeni po bezdrátové síti, ovšem při pokusech o přenos souvislého bloku dat docházelo k chybám, které vedly nejen k neúspěšnému přenosu, ale na straně klienta také způsobily nemožnost dále se zařízením pracovat.
Ověření funkčnosti bezpečnostních vlastností (integrity i šifrování)
Ověřili jsme fungování mechanismů kontroly integrity a šifrování přenosu na úrovni protokolu HSCSI. Implementace zahrnuje pouze jednu metodu jak pro kontrolu integrity (SHA1 HMAC), tak šifrování (128bitový algoritmus AES). I přes varování autorů, že šifrování přenosu může vést k poškození dat, se toto nepodařilo prokázat. Bohužel šifrování zvýšilo zátěž strojů až na trojnásobek. Ve verzích starších než 20030930 se zajištění integrity při přenosu nezdařilo vůbec, pravděpodobně z důvodu špatné implementace (přestože tato vlastnost byla autory označována za zcela funkční). V poslední verzi (20030930) již kontrola integrity funguje zcela bez problémů, bez jakékoliv zmínky v seznamu změn proti předchozí verzi.
Fungování přístupu na SCSI disky
Protokol HSCSI fungoval s SCSI disky bez nejmenších problémů.
Fungování přístupu na IDE disky (jak pevné, tak optické)
IDE disk fungoval nativně, na rozdíl od IDE optické mechaniky, která se musela používat jako SCSI zařízení prostřednictvím emulační mezivrstvy IDE-SCSI na straně serveru i klienta (a to i pro CD-ROM mechaniku určenou pouze pro čtení). Fungoval i zápis na CD-RW mechaniku. V této implementaci se vyskytuje problém při výměně média v připojené mechanice - klient od serveru dostává neustále obsah předchozího média (platí pro všechny formy připojení CD mechanik).
Fungování klienta v prostředí Microsoft Windows 2000 Professional
Testovali jsme funkčnost prvního klienta pro jiný operační systém než Linux. Klient má podstatně omezenější možnosti, než linuxový ekvivalent - zcela chybí možnost kontroly integrity i šifrování přenosu, lze se připojit pouze na jeden server, trpí nekorektním ukončením spojení se serverem (pouze u pevného disku, CD-ROM funguje korektně). Celkově je vidět, že se jedná o první verzi, jež zdaleka není tak daleko jako primární linuxová.
Ověření fungování klienta na mobilním zařízení
Bohužel se nepodařilo na mobilním zařízení (PDA) přeložit jádro s podporou HSCSI a tuto možnost jsme proto nemohli ověřit. Navíc připojení mělo být realizováno pomocí bezdrátové sítě, která se ukázala jako nevhodná.

19.5   Výkonnostní testy

Použili jsme program na měření výkonnosti diskových operací IOzone. Použili jsme funkci close() a výstup byl zapsán do binárního formátu MS Excel.

Parametry pro IOzone:

iozone -Rb hscsi.wks -n 4g -g 4g -z -c -a -i 0 -i 1

Z grafů je patrné, že zatímco kontrola integrity přenášených dat nemá na propustnost výrazný vliv (graf a graf), šifrování přenášených dat již znatelně výkon ovlivňuje (graf a graf).

Potvrdil se fakt zjištěný při měření iSCSI, že optimalizovaná jádra firmy RedHat mají lepší výsledky než jádra standardní (graf a graf).

[Obrázek]

Obrázek 19.1: Výsledek měření protokolu HSCSI

[Obrázek]

Obrázek 19.2: Výsledek měření protokolu HSCSI s kontrolou integrity

[Obrázek]

Obrázek 19.3: Výsledek měření protokolu HSCSI s šifrováním přenášených dat (128 bitový AES)

[Obrázek]

Obrázek 19.4: Výsledek měření protokolu HSCSI s jádrem firmy Redhat

19.6   Závěr

Bohužel nelze jednoznačně porovnat protokoly iSCSI a HyperSCSI, protože zatímco iSCSI server je dostatečně implementován pouze jako specializovaný HW, HyperSCSI server je k dispozici jen v softwarové podobě. Nicméně lze vyslovit následující závěry:

  1. Protokol HyperSCSI over Ethernet se již nyní jeví ve své linuxové verzi jako stabilní a použitelný pro vytvoření lokální SAN. Jeho hlavní nevýhodou ovšem nadále zůstává právě ono omezení na Ethernet limitující celkovou rozlehlost případného řešení. Naopak proti řešením postaveným na iSCSI či FC může být velice příznivá cena za zřízení. Proti iSCSI navíc nabízí vyšší výkon při menší zátěži. Mohl by tedy být vhodným doplňkem menších, na Linuxu postavených výpočetních clusterů.
  2. Bezpečnost přenosu je sice dobře navržena i implementována, ovšem za cenu podstatně vyšších nároků na hardware (alespoň v momentálně implementované variantě s šifrováním AES). Šifrování přenosu bude mít větší opodstatnění u IP verze.

Těmito závěry byl projekt ukončen a nepředpokládáme jeho pokračování.

předchozí
obsah
následující
další weby:fond rozvojemetacentrumCzechLightpřenosyvideoservereduroameduID.cz