Filesystems DOOR Bram Dons
Revolutionair filesystem draait op open storage
Nexenta verkent ZFS
40 STORAGE MAGAZINE · 3 · september 2010
40
Wat is er nu gepaster dan software met een open broncode draaien op een systeem dat gemaakt is uit hardware volgens open standaarden? Het volledig open storagesysteem heeft er sinds kort weer een krachtige optie bij: NexentaStor. In het hart daarvan ligt het Zettabyte File System, dat de prestaties van de zwaarste commerciële systemen overtreft.
Er vindt ongemerkt een geleidelijke verschuiving plaats op de markt voor enterprisedatastoragesystemen, een markt die tot dusver werd gedomineerd door op proprietary hardware gebaseerde systemen. Storagesystemen op basis van open storagesoftware en hardware volgens industriestandaarden zijn namelijk in opkomst. Wat is het geval? Ondernemingen moeten jaarlijks 30 tot 35 procent meer data opslaan. Dat is om de twee tot drie jaar een verdubbeling. Dit dwingt ze tot een efficiënter gebruik van de daarvoor noodzakelijke archivering en dus van hun storagesystemen. Ondernemingen ervaren dat traditionele businessmodellen en storagetechnologieën niet langer aan de gestelde eisen voldoen. In het bijzonder merken gebruikers steeds opnieuw dat de gangbare proprietary hardware en software het risico van een vendor lock-in met zich meebrengt. Daarnaast neemt de zogenoemde ‘silent data corruption’ toe, want door de verhoogde complexiteit en massaliteit van storage-infrastructuren kunnen zelfs de in hoge mate beschermde RAID-schema’s die niet langer voorkomen. De firma Nexenta, opgericht in 235 en niet beursgenoteerd, biedt een open storagesoftwareoplossing. Daarmee kunnen gebruikers
uit commodityhardware een betaalbaar open storagesysteem bouwen dat topprestaties levert. Nexenta claimt dat met zijn software een besparing mogelijk is van ten minste 50 procent vergeleken met een proprietary enterprise-class storagesysteem van dezelfde capaciteit. Naast de lagere aanschafprijs melden gebruikers een TCObesparing van meer dan 70 procent, aldus
de prestaties toenemen bij uitbreiding van het aantal disks. NexentaStor virtualiseert de onderliggende storagehardware. De daarin gecreëerde ZFSvolumes oftewel Zvols worden via de standaard netwerkprotocollen aan clients gepresenteerd. Via iSCSI en Fibre Channel, al dan niet in combinatie met elkaar, kun je volumes creëren. Verder biedt NexentaStor een ingebouwde replicatie- en encryptievoorziening die ook kan dienen als secondtieroplossing voor legacystorageomgevingen. NexentaStor is ontwikkeld op basis van het open-source Nexenta Core Platform, de OpenSolaris kernel en de GNU/Linuxomgeving. NexentaStor is beschikbaar in een gratis Developer Edition en in een Basic
Graceful shutdown is niet altijd mogelijk Nexenta. Het onderliggende ZFS file system vormt de basis voor een betrouwbaar en extreem schaalbaar storagesysteem.
ZFS Nexenta heeft het enterprise-class open storagesysteem NexentaStor zelf ontwikkeld. NexentaStor is een op non-proprietary hardware gebaseerde open storageoplossing. De software draait op hardware volgens industriestandaarden en is gebaseerd op het revolutionaire ZFS file system. ZFS biedt een massively scaleable storageomgeving met een nagenoeg onbeperkt aantal snapshots, waarbij data over alle beschikbare diskdevices wordt gestreept. I/O-operaties worden over alle disks verdeeld, waardoor
en een Enterprise Edition. Een NexentaStorsysteem kan worden gekoppeld aan SAS-, SATA-, AoE-, Fibre Channel-, InfiniBand- en iSCSI-storage. De clients hebben via de netwerkprotocollen rsync, ftp, CIFS en NFS versie 3 en 4 toegang tot het storagesysteem op fileniveau en via iSCSI en Fibre Channel op blockniveau. Een optionele plug-inmodule ondersteunt synchrone replicatie op blockniveau oftewel remote mirroring. Directoryservices zoals Active Directory en LDAP worden ook ondersteund, inclusief UIDmapping netgroups en X.509-certificatebased client authentication. Met de webgebaseerde GUI Nexenta Management View zijn allerlei beheertaken
26-08-2010 12:32:37
Figuur 4: Een volume dat is samengesteld uit FC- en iSCSI-disks
41
Datavolume
Figuur 5: Het tabblad ‘Folders’
uit te voeren via de primaire tabbladen ‘Status’, ‘Settings’, ‘Data management’ en ‘Analytics’. Ten slotte heeft Nexenta ook de module VM DataCenter (VMDC) ontwikkeld, dat hecht is geïntegreerd met NexentaStor en VMware ESX 3.5/4.x. De VM DataCentermodule biedt NexentaStorgebruikers eenvoudige toegang tot en beheer van hun virtuele VMware ESX 3.5/4.x-, Citrix Xen 5.x- en Microsoft Hyper-Vomgevingen. VMDC ondersteunt ook multicloning, zodat slechts één VM per datastore hoeft worden aangemaakt.
storagearray. Voordat we fileshares en LUN’s kunnen creëren, moeten we eerst wat voorbereidende
STORAGE MAGAZINE · 3 · september 2010
stappen doorlopen. De eerste is het lokaliseren van de storagesystemen die gekoppeld zijn aan de NexentaStorserver. De subtab Settings > Disk toont een lijst van disks die al dan niet gekoppeld zijn aan een datavolume. Datavolumes bieden verschillende redundantieopties: mirror, RAID Z1, Z2 en Z3. De laatste drie staan voor enkele, dubbele en driedubbele parity. Deze opties zijn te vergelijken met de RAID’s van traditionele storagesystemen. Toch zijn er, overigens, belangrijke verschillen tussen de redundantieopties in NexentaStor en de standaard RAID-opties. Bijvoorbeeld: om te bepalen of data al dan niet valide is, gaat NexentaStor altijd uit van de checksums en nooit van de leesfouten die de storagedevices zelf rapporteren. Een ander voorbeeld: als onder RAID 5 de hoeveelheid te schrijven data kleiner is dan de stripe width, dan zijn er meerdere schrijfopdrachten nodig; maar onder NexentaStor RAID Z1 wordt dit met een full stripe write weggeschreven.
Bij het creëren van een datavolume kiest de beheerder voor elke diskgroep in het volume een bepaald type redundantie uit, bijvoorbeeld RAID Z1. Wanneer er te veel disks in een RAID Z-groep worden opgenomen, moet men rekening houden met een lange resilveringtijd. Voor grote volumes is het beter om de disks op te splitsen tussen meerdere redundante groepen met stripe writes over de redundante groepen. Naast de redundantieopties kunnen gebruikers kiezen voor een deduplicatie- en een auto-expandoptie. Deduplicatie is beschikbaar wanneer men van de autosyncservice gebruikmaakt (zie ‘Asynchrone replicatie’). Er zijn twee deduplicatieopties: SHA-256 en SHA-256 verify. Er is een kans van 1 op 2256 dat SHA-256 een hashmatch meldt,
advertentie
Installatie en configuratie Voor deze test gebruiken we twee 64-bits Intelservers die via een 10GbE-Netgear GSM7328S-switch en een Brocade SilkWorm 23E met 4 Gbps Fibre Channel zijn verbonden met respectievelijk een Netgear ReadyNAS 313-iSCSI-systeem en een SUN StorageTek FlexLine 23-Fibre Channel-
41
26-08-2010 12:32:37
Als er binnen een datavolume een disk uitvalt, dan kan deze worden vervangen door een andere beschikbare disk. Een bestaand datavolume zonder redundantie kan naderhand worden omgezet in een mirrored diskconfiguratie. Dit geldt ook voor niet-redundante logdevices. Diskdevices kunnen tijdelijk uit een mirror worden verwijderd en er later weer aan worden toegevoegd. Verschillende typen disks, direct gekoppeld of verbonden via een SAN, kunnen dienen als datavolume. Wanneer dat er eenmaal is, kun je naar keuze een folder of een Zvol aanmaken: een folder voor de ondersteuning van NFS of CIFS shares, een Zvol voor de creatie van een LUN.
NFS- en CIFS-filesharing
Figuur 6: Het Zvol wordt geëxporteerd als een target-WWN
42 STORAGE MAGAZINE · 3 · september 2010
terwijl de twee vergeleken datablocks niet identiek zijn. De optie verify bestaat om er zeker van te kunnen zijn dat de datablocks in het geval van een hashmatch ook daadwerkelijk hetzelfde zijn. Auto-expand tracht automatisch het datavolume te vergroten bij toevoeging van een nieuwe disk. Na vergroting is het volume niet meer te verkleinen. Ten slotte kan ervoor worden gekozen om de inhoud van een datavolume te controleren middels scrubbing. Mocht zich daarbij in een storagepool data-inconsistentie voordoen, dan zal NexentaStor dit detecteren en corrigeren. Het voor deze test gecreëerde volume fciscspool is samengesteld uit vier FC- en twee iSCSI-disks (zie figuur 4).
Diskmanagement Via de Nexenta Management View (NMV) kun je devices aan een bestaand datavolume toevoegen. NexentaStor ondersteunt ook hot spares. Mocht een disk in een storagepool uitvallen, dan zal NexentaStor dit detecteren en de hot spare automatisch toe-
voegen. Met global hot spares kunnen meerdere volumes worden ondersteund; er hoeft dan niet aan elk volume een aparte spare disk toegewezen te worden. ZFS biedt de mogelijkheid om adaptive replacement cache (ARC) toe te voegen vanuit het main memory. De ARC wordt gedeeld door alle
ZFS-volume doet dienst als disk datavolumes. Additionele cachedevices zoals SSD’s, ook wel aangeduid als L2ARC, worden alleen aan een specifiek datavolume toegekend. NexentaStor heeft voor de afhandeling van synchrone writes een op POSIX gebaseerde intentlog. Standaard gebruikt deze intentlog een deel van het main data volume, maar voor een verbetering van de prestaties kun je hem ook een aparte storagedevice geven, bijvoorbeeld een SSD. Alle cache-, spare en aparte logdevices kunnen uit een datavolume worden verwijderd.
SCSI-targets ‘SCSI-target’ is een generieke term die wordt gebruikt om de verschillende typen targets, zoals iSCSI of Fibre Channel, mee aan te duiden. Een SCSI-target benadert alle verschillende typen targets op dezelfde wijze, waardoor hetzelfde Zvol kan worden geëxporteerd naar verschillende soorten targets en naar meerdere targets van hetzelfde type. Een Zvol is een geëmuleerd block device, gevat in een datavolume, waarmee SCSI-targets eenvoudig aan hosts zijn te koppelen. Zo kan een Zvol dienen voor back-upstorage, als swappartitie of voor storageservices, waaronder snapshots, thin provisioning en replicatie. SCSI-targets worden gecreëerd via de gelijknamige NMV-pagina. Naast de naam en de gereserveerde storagecapaciteit kan worden gespecificeerd wat de blockgrootte en wat maximale grootte moet zijn, of er wel of geen compressie van de Zvoldata in de backendstorage moet plaatsvinden en hoeveel redundante kopieën er moeten worden opgeslagen. Wanneer een Zvol via iSCSI of Fibre Channel als een SCSI-disk wordt geshared, dan kun je voor die disk writeback caching activeren. De disk zal bij diskwrites weliswaar beter presteren, maar de data wordt dan niet naar de backendstorage geflusht voordat de initiator zijn write I/O heeft beëindigd. Het is dus een afweging tussen hogere prestaties en betrouwbaarheid.
42
NexentaStor ondersteunt shared folders volgens NFS en CIFS, deze zijn te creëren via het tabblad ‘Create new folder’. NexentaStor voorziet volgens de makers ervan in een van de beste kernel- en ZFS-geïntegreerde CIFS stacks met native ondersteuning van access control lists (ACL) onder Windows. Nexenta-CIFS-folders ondersteunen zowel anonieme als niet-anonieme toe-
gang in workgroup- en domainmodus. Wil men van de Active Directoryfunctionaliteit gebruikmaken, dan moet de NexentaStor appliance worden aangemeld als memberserver en daarna worden geconfigureerd voor identity mapping. Zoals gebruikelijk in een gemengde omgeving moeten gebruikers rekening houden met de onderlinge verschillen tussen NFS en CIFS. Bij het aanmaken van de folder kunnen gebruikers in het tabblad ‘Readwrite parameters’ aangeven hoe NexentaStor omgaat met deze verschillen, waaronder hoofdlettergevoeligheid en locking. Voor deze test is er een CIFS share gemaakt (zie figuur 5) op basis van het reeds gecreëerde datavolume (zie figuur 4).
Comstar Common multi-protocol SCSI target (Comstar) is een softwareframework waarmee gebruikers SCSI-targets kunnen creëren van elk type, waaronder iSCSI of Fibre Channel. Comstar neemt een Zvol en exporteert dit als een raw disk device naar het SAN. Zvol is in feite een stukje storage dat, net zoals een filesystem, deel uitmaakt van een volume. Voor elk geëxporteerd Zvol kan de beheerder aangeven welke initiators de disk op het SAN mogen zien. Daarnaast kan hij bepalen welke iSCSI- of FC-targets
26-08-2010 12:32:37
STORAGE MAGAZINE · 3 · september 2010
deze disk exporteren. Onder de eenvoudigste instellingen is de disk beschikbaar voor elke initiator in het SAN. Voor deze test waren de targets via een SAN toegankelijk voor SCSI-initiatorhosts. Comstar werd geïnstalleerd als een plug-in op de NexentaStorserver met tot dusver ondersteuning van alleen QLogics 4GB host bus adapters (HBA’s) met acht FC-poorten. Vervolgens creëerde ik een Zvol van 64 GB als iSCSI-target (zie figuur 6). Daarvoor werd de FC-adapter op de NexentaStorserver ingesteld als ‘target port’ en werd er een ‘target group’ aangemaakt. Zoals gezegd neemt Comstar een Zvol en exporteert het naar het SAN als een raw disk device. Andere servers zien het Zvol daarna als een gewone SCSI-disktarget met een targetWWN op het SAN, ook al is het in feite een iSCSI-target.
Figuur 7: Het tabblad voor HA Cluster
Asynchrone replicatie NexentaStor ondersteunt twee asynchrone replicatiemethoden: autotier en autosync. Autotier oftewel tiering gebruikt snapshots om regelmatig een kopie van een filesystem te repliceren naar een andere storagepool, hetzij lokaal, hetzij remote. De tieringservice is gebaseerd op ZFS’ send-receivefunctionaliteit voor zowel het bron- als het doelopslagsysteem. NexentaStor ondersteunt de transportprotocollen NFS, CIFS en rsync met of zonder SSH. Autotier repliceert dus datasetsnapshots, hierbij worden alleen de incrementele veranderingen verstuurd. Tijdens het verzenden en ontvangen van de data biedt de service de mogelijkheid tot deduplicatie per datastream. De andere replicatieoptie, de autosyncoftewel syncingservice, onderhoudt een volledig synchrone kopie van een bepaald volume, filesystem of geëmuleerd block device (een Zvol) op een ander NAS-systeem. Terwijl tiering enkel een kopie maakt, biedt syncing een exacte replica van de data, inclusief alle snapshots en file system property’s. Ook autosync gebruikt de ingebouwde ZFS-snapshotfunctie om alleen de veranderde blocks efficiënt te identificeren en te repliceren. Dit maakt het mogelijk om meerdere snapshots van een filesystem centraal te mappen naar een remote storagelocatie. Dit is een ideale oplossing voor een full disaster recovery.
Continuous data protection De plug-inmodule AutoCDP voor continuous data protection (CDP) ondersteunt remote mirroring op blockniveau tussen twee NexentaStor appliances. De replicatierichting kan op elk moment worden omgedraaid, een operatie die bekendstaat als een reverse update. Dit kan nodig zijn bij uitval
43
43
Figuur 8: De plug-in VM DataCenter
van een primair volume, bij import en voortgezet gebruik van een secundair volume of bij omgekeerde synchronisatie van het secundaire naar het primaire volume. Verder ondersteunt de module multihopreplicatie, daarbij verloopt het repliceren in een keten van het ene naar het andere volume. Soms is de secundaire appliance nodig voor het uitvoeren van een disasterrecoveryoperatie. De beheerder kan kiezen uit twee mogelijkheden, afhankelijk van de situatie. In het eerste geval is de primaire site nog actief. Deze moet dan handmatig worden overgeschakeld voor het onderhoud. Als de AutoCDP-service zich daarbij nog in repli-
catiemodus bevindt, moet de beheerder een aantal handmatige bewerkingen uitvoeren: een export van het volume op de primaire site en een import op de secundaire. Na de import is met de r-optie een synchronisatie in omgekeerde richting uit te voeren. Deze loopt dan van het secundaire naar het primaire volume. In het tweede geval is de primaire appliance uitgevallen. Deze moet dan forcefully worden overgeschakeld naar de secundaire appliance. Daarbij is het niet mogelijk om de AutoCDP-service gracefully af te sluiten, waardoor dataverlies kan optreden. Het filesystem op de secundaire appliance blijft in een consistente staat, vanwege de trans-
De cluster communiceert via een heartbeat
26-08-2010 12:32:38
bindingen. Ten slotte is HA Cluster is gebaseerd op de Resilient Server Facility 1 (RSF-1). Dit is een industriestandaard op het gebied van highavailability- en clustermiddlewaretoepassingen.
VM DataCenter
Figuur 2: NexentaStor ondersteunt heterogene storage (bron: Nexenta)
actionele eigenschappen van ZFS en de synchrone modus van de operatie door de Sun StorEdge Network Data Replicator (SNDR). Het volume wordt dus geïmporteerd op de secundaire appliance. Tijdens de r-reverseoperatie worden nieuwe updates van het primaire volume automatisch gerepliceerd, waardoor de volumesets synchroon blijven lopen.
44
Simple Failover
STORAGE MAGAZINE · 3 · september 2010
NexentaStor ondersteunt dus de hiervoor genoemde voorzieningen voor high availability en foutdetectie en -correctie, waaronder ZFS hotplug en self-healing en de AutoCDP-service. Daarnaast zijn er echter nog twee extensiemodules die special zijn ontworpen om een functionaliteit te bieden die overeenkomt met die van high-availability clustering. Een van de modules, Simple Failover, is een plug-in die twee NexentaStor appliances bundelt tot een failovergroep. Een failovergroep deelt bepaalde gemeenschappelijke attributen, zoals het zogenoemde ‘failover IP address’, en zijn gerepliceerde storage. Voor dat laatste is de plug-in Simple Failover geïntegreerd met de AutoCDP ter ondersteuning van iSCSIblock mirror volumes. De plug-in ondersteunt twee failovernetwerkinterfaces die als failover IP, mask of MAC address zijn te configureren. Het idee daarachter is dat de clients via de geconfigureerde interface toegang kunnen krijgen tot elke appliance in de failovergroep. De failover vindt plaats in zijn geheel, of anders niet. Zodra de uitgevallen appliance weer beschikbaar is, kan de failoveroperatie weer worden teruggedraaid.
gen aan de andere clusterappliance. Hoewel beide appliances gelijkwaardig aan elkaar zijn en er geen sprake is van een primair en een secundair system, is een van beide op een enig moment toch de eigenaar van een shared volume. HA Cluster kan worden gebruikt om de beschikbaarheid van NFS shares te waarborgen, maar de cluster detecteert geen fouten van de NFS-serverhardware zelf. iSCSI-volumes kunnen ook van de ene clusternode naar de andere worden overgezet met een failover waarbij de target-IQN wordt meegenomen. De bewaking van de cluster geschiedt via de gebruikelijke heartbeatcommunicatie, die HA Cluster ondersteunt op drie manieren: met quorum devices, netwerkinterfaces en een seriële verbinding. Het duurt minimaal tien seconden voordat de ene appliance doorheeft dat de andere is uitgevallen. De failover- en recoverytijd is grotendeels afhankelijk van de tijd die het duurt om het shared data volume te importeren in de overgebleven appliance. In de defaultconfiguratie zal HA Cluster een failover genereren wanneer het netwerk uitvalt. De cluster kan zich ook beschermen met link aggregation voor NIC’s en MPxIO voor SAS-ver-
De plug-in VM DataCenter (VMDC) voorziet in een integratie van de drie thans toonaangevende virtualisatieomgevingen: VMware ESX, Citrix Xen en Microsoft Hyper-V. Met VMDC zijn vanuit een enkele gebruikersinterface alle aan storage gerelateerde aspecten van de drie genoemde virtuele omgevingen te beheren. De belangrijkste VMDC-features zijn: ZFS-snapshots, de integratie van de autotier en -syncservices, virtual host consolidation, multicloning en -templating van virtual machines en native ondersteuning van VMware VMotion.
Conclusies NexentaStor is een voordelige, op open source gebaseerde enterprise-class storageoplossing op basis van het 128-bits ZFS file system en OpenSolaris. Volgens Nexenta is het het eerste en enige volledig op open source gebaseerde storagesysteem, waardoor het minstens 30 procent goedkoper is dan een vergelijkbaar proprietary enterprisestoragesysteem. Gebruikers maken melding van een besparing op de TCO van meer dan 50 procent in vergelijking met legacyoplossingen. De NexentaStor biedt een breed scala aan replicatie- en disasterrecoveryfuncties. NexentaStor is toepasbaar in een heterogene omgeving, het ondersteunt de meeste bekende netwerkprotocollen en kan overweg met blockgebaseerde I/O-systemen als iSCSI en Fibre Channel. p Bram Dons is onafhankelijk IT-analist bij IT-Trendwatch (
[email protected])
advertentie
High-Availability Cluster De andere module, High-Availability Cluster, is een service voor storagevolumesharing; shared volumes zijn daarmee highly available te maken. De service kan systeemfouten detecteren en, als hij die vindt, het eigendom van een shared volume overdra-
44
26-08-2010 12:32:38
45
45
26-08-2010 12:32:38
STORAGE MAGAZINE · 3 · september 2010