Wat is best voor SAN: Fiber Channel of iSCSI?
De meeste voordelen van virtualisatie worden pas echt benut als in de omgeving een vorm van gedeelde opslag aanwezig is. Terwijl een NAS voor thuisomgevingen geschikt is, is het krachtiger en makkelijker om een SAN-omgeving op te zetten.
Bij de keuze van een Storage Area Network zijn er twee mogelijke technologieën: Fiber Channel en iSCSI. Fiber Channel komt vooral voor in de 8 Gbps-vorm, terwijl voor iSCSI (ethernet) 10 Gbps als standaard doorvoersnelheid wordt gezien.
Puur op specificaties gezien liggen deze twee technieken dus vrij dicht bij elkaar. Maar wat geeft dat in de praktijk? Het Sizing Servers Lab doet doelgericht onderzoek naar diverse servertechnieken en een veel gestelde vraag is tegenwoordig: wat is beter, Fiber Channel of iSCSI?
[related_article id=”152275″]
iSCSI
Data die van schijven (of RAID-arrays) komen zijn gevormd naar het bekende SCSI-protocol (SAS staat voor Serial Attached SCSI). Door deze SCSI-blokken te encapsuleren in TCP/IP-pakketten verkrijgen we iSCSI. Het in- en uitpakken van deze data aan de twee kanten van de lijn kan wat overhead veroorzaken, overhead die bij Fiber Channel niet aanwezig is.
Aan de andere kant is de reeds aanwezige kennis en/of hardware voor iSCSI in nagenoeg alle kmo’s aanwezig: een ethernetnetwerk. De kosten voor een iSCSI SAN zijn daarom relatief beperkt tot het aankopen van de daadwerkelijke machine en haar schijven.
Fiber Channel
Bij een hedendaagse Fiber Channel-installatie worden eventueel al zogenaamde FC-schijven gebruikt (vooral bij HP-installaties), maar ook voor SAS/SATA-schijven wordt door bepaalde vendors een Fibre Channel-netwerk aangeraden. Door een vertaalslag minder kan de snelheid hoger en vooral de reactietijd (latency) een stuk lager liggen. Ook leeft het idee dat Fibre Channel ‘lichtsignalen’ zijn en ethernet ‘slechts’ elektrische signalen en bijgevolg trager.
Hardware
Voor Fiber Channel moet het volledige netwerk gebouwd zijn; iedere server moet (minstens één) FC PCI-Express-adapter (ook gekend als HBA, Host-Bus-Adapter) hebben. De aankoop van speciale Fiber Channel-switchen en de optische kabels is nodig. Maar we zijn er dan nog niet. Fibre Channel-switchen en HBA’s hebben meestal geen Fiber Channel-interface, maar wel SFP(+)-poorten (Small Form-factor Pluggable transceiver). Daarin passen dan diverse soorten SFP-adapters zoals SFP LX, waar fiberkabels tot 10 km in passen.
Zo’n Small Form-factor Pluggable transceiver is een aparte aankoop per poort die zowel langs de switch als langs de HBA-kant moet gemaakt worden.
Wat hardware voor iSCSI betreft zijn de minimumvereisten een stuk lager, zeker als we bij 1 Gb-ethernet blijven. Standaardswitchen, HBA"s (NIC"s dus) en CAT5-kabels zijn voldoende.
In de wereld van 10 Gbase-ethernet is het verhaal iets complexer. Deze 10 Gbps ethernet-HBA’s en -switchen zijn meestal ook voorzien van een SFP(+)-poort waar, onder andere, exact dezelfde SFP LX-adapters in passen als bij Fiber Channel. Ook de bekabeling wordt op dit moment voornamelijk met diezelfde FC-kabels gedaan. Het verschil tussen 8 Gbps FC- en 10 Gbps-ethernethardware zit dus vooral in de HBA en de switchen.
Toch is een volledig 10 Gbase-ethernetnetwerk op koper (1000BASE-T) perfect mogelijk: op dit moment bestaan er reeds SFP-adapters met een RJ-45 ‘copper’-interface en volledige 10 Gbps-switchen met standaard RJ-45 interfaces worden uitgebracht. Ook HBA’s met RJ-45-interface zijn beschikbaar.
Kosten
Uiteraard zijn de kosten relatief; zoals met alles krijg je immers meer performantie, stabiliteit en levensduur naargelang je meer betaalt.
Als je iSCSI goed wilt implementeren is een apart subnet goed, een apart VLAN nog beter en een volledig gescheiden netwerk (aparte switchen en dergelijke) het best. Als je toch nieuwe switchen aankoopt, kan je overwegen om 10 Gbps-ethernet aan te schaffen. Voor SAN-omgevingen wordt dit nu toch stilaan de basis en de prijs is gezakt tot een aanvaardbaar niveau.
Prijzen zijn uiteraard afhankelijk van de verkoper, maar op dit moment is een volledige set-up van 8 Gbps Fiber Channel ongeveer even duur als een volledige set-up van 10 Gbps-ethernet (LC).
Kennis
Bij Fiber Channel is het opzetten van het SAN-netwerk relatief simpel: Een FC-adapter meldt zich bij het besturingssysteem aan als een storage-adapter, dus naast drivers is geen extra software nodig. Er kan en hoeft dus ook niet veel ingesteld te worden.
Iedere FC-poort heeft een WWN (World Wide Name), een lange reeks van karakters die uniek is per poort. Op basis hiervan meldt deze zich aan bij de SAN-storageserver. Als de storageserver ingesteld is, werkt Fiber Channel. Er is geen extra instelling nodig.
Voor iSCSI zijn meer parameters en onderdelen om rekening mee te houden: in plaats van WWN wordt bij iSCSI over IQN (iSCSI Qualified Name) gesproken om iedere kant van de verbinding aan te duiden. Bij de server worden iSCSI-targets aangemaakt, waarop dan een iSCSI-initiator kan aanmelden. Hiervoor is extra software nodig die bij de meeste besturingssystemen standaard aanwezig is (bijvoorbeeld Microsoft iSCSI Initiator).
Er zijn ook tal van ethernetaanpassingen. De interessantste bij SAN’s is het vergroten van de TCP/IP-pakketten van 1.500 bytes naar bijvoorbeeld 9.000 bytes (ook gekend als MTU-size of Jumbo Frames). Dit stelt je in staat om meer data in minder pakketten te versturen, waardoor de encapsulatie minder overhead veroorzaakt.
MultiPath I/O (MPIO) is ook een vaak gehoorde term bij iSCSI. Dit is een techniek om meerdere paden/connecties naar dezelfde target te maken, eventueel verdeeld over meerdere links (bijvoorbeeld 2 x 1 Gbps-connectie). Er is dan keuze om beide paden te gebruiken (Round Robin of Active/Active) of om er één in reserve te houden (Stand-by of Active/Passive).
Verder zijn er zaken als TOE (TCP/IP Offload Engine), RSS (Receive Side Scaling) en Interrupt Moderation die kunnen helpen om performantie van voornamelijk 10 Gbps HBA’s te verhogen. Zo zijn er nog enkele technieken, maar het ligt niet binnen het doel van dit artikel om ze allemaal te bespreken.
Aanpak
We bekijken verder enkel 8 Gbps Fiber Channel en 10 Gbps-ethernet. Rekening houdend met de eerder vernoemde aanpassingen, zijn iSCSI & Fiber Channel puur theoretisch sterk aan elkaar gewaagd als het op doorvoersnelheid aankomt. In de praktijk is het zo dat, met het juiste applicatieprofiel, iSCSI inderdaad tot 9,25 Gbps haalt en bijgevolg iets sneller is dan Fiber Channel.
Wij voerden een aantal benchmarks uit om objectief in te schatten wat de verschillen in reactietijd tussen FC en iSCSI nu effectief bedragen. Daarom namen we het profiel van de meeste latency-gevoelige applicatie, namelijk een databank, en voerden lange tests uit op verschillende hardwareconfiguraties.
We focusten ons op volgende parameters:
- Latency in milliseconden
- Stroomverbruik van de HBA’s
- CPU-load van de server met HBA
- SAS of (SATA) SSD-schijven (het is niet de bedoeling om SAS tegenover SSD te vergelijken, we wilden beide combinaties met iSCSI en FC bekijken)
De hardware
We hadden de beschikking over recente en nieuwe hardware, zowel op vlak van 10 Gbps-ethernet als Fiber Channel:
- 2 x 8 Gbps Dual SFP Emulex LPe12002-M8 FC kaarten (PCI-E 4X)
- 2 x 10 Gbps Dual SFP Intel X520-SR2 ethernet kaarten, 85299 chip (PCI-E 8X)
- 2 x 10 Gbps Dual RJ-45 Intel X520-T ethernet kaarten, 85299 chip (PCI-E 8X)
- 2 x identieke servers met elk 2 x AMD Opteron 2435 2.6GHz, 32GB DDR2 RAM en een Adaptec 5805 SAS Controller ingesteld met 64K stripe size, ReadAhead & Writeback
- 4 x Seagate Cheetah SAS ST3146855SS 300GB 15K5RPM in RAID5
- 4 x Intel X25-E SLC SSD SSDSA2SH032G1GN 32GB in RAID10
Alle testen gebeurden met dezelfde servers, identieke instellingen en identieke software:
- Op beide servers Windows 2008 R2 SP1, met alle updates, drivers en recentste firmware
- Als SAN-software kozen we voor Datacore SANSymphony v8.1 voor zowel FC- als iSCSI-tests met passthrough disks, maar voor de rest standaardinstellingen
De benchmark werd uitgevoerd op een ongepartitioneerde schijf met IOMeter 2006.07.27 (remote config). Het scenario was 4K Block size, 100% random IOs, 33% reads en 67% writes. Dit om een zware transactionele database te simuleren. Er werden telkens tien runs van twee minuten gedraaid waarover het gemiddelde werd berekend.
Latency
DAS staat voor Direct Attached Storage, en is een richtlijn van wat de theoretische maximale snelheid zonder protocoloverhead zou zijn.
Pas als latency onder de milliseconde duikt, zoals het geval is bij de SSD-array, kan Fiber Channel zich onderscheiden als de betere. Procentueel is het verschil dan zelfs behoorlijk groot: FC heeft 46% overhead en iSCSI zelfs 141% tot 151% extra latency, beide tegenover DAS.
CPU-gebruik
Volgende cijfers zijn het totale gebruik over twaalf cores van elk 2,6 GHz.
Hier valt onmiddellijk de relatief hoge CPU-load op bij gebruik van de X520-T 10 Gbps NIC’s.
Stroomgebruik
We maten het totale stroomverbruik van de server met en zonder de HBA’s. Onderstaande grafieken tonen enkel het extra stroomverbruik door gebruik van de kaarten. Dingen als extra CPU-load en geheugengebruik vergen ook extra stroom van de servers. Onderstaande cijfers zijn dus niet enkel een verbruik van de kaarten. Toch geven ze een goed beeld.
Het valt op dat het stroomverbruik op de Fibre Channel-kaart weinig wijzigt in het geval van weinig werk, veel werk of net geen werk (idle load). Dit valt te verklaren door het protocol van Fibre Channel, in tegenstelling tot netwerkkaarten heeft een FC-kaart geen link & data-lampje. FC maakt dus geen onderscheid tussen het feit dat er een kabel inzit en het feit dat er effectief data door die kabel gaan. Er is sowieso verkeer zodra een glasvezel kabel aan beide kanten in een FC-kaart zit.
We zien dus ook duidelijk een heel stuk minder stroomverbruik bij de LX ethernet-kaart. Het algemeen stroomverbruik van de 10 Gb koperkaart (X520-T) is meteen een stuk hoger, extra conversiecontrollers en vooral ook de ventilator op de zijkant van de kaart kunnen dit verklaren.
Conclusie
Met de meest gebruikte schijven (SAS of SATA) maakt Fibre Channel nog zeer weinig indruk ten opzichte van iSCSI. Bij correcte configuratie van de ethernet-adapters zitten beide in dezelfde prestatieschijf en ook qua stroomverbruik heeft ethernet in sommige gevallen een voetje voor.
Zodra er echter een stuk meer van de infrastructuur vereist wordt, zoals het geval is wanneer SSD-schijven op grote schaal ingezet en ondervraagd worden, begint het Fibre Channel-protocol toch nog steeds zijn waarde te bewijzen: latency"s kunnen tot 40% lager liggen, wat bijvoorbeeld bij databases zeer interessant is.
Een algemene opmerking over zodra er Fiber Channel of iSCSI (10 Gb) geïmplementeerd wordt. Hou sterk de CPU-load in de gaten, want bij veel load kan er een nieuwe bottleneck gecreëerd worden op de CPU"s. Drivers zijn vooralsnog niet altijd multithreaded, en met de huidige trend van meer cores (op lagere kloksnelheden) kan er op die manier snel vertraging optreden.