Storage
6/5 Novell Storage Services 6/5.1
Design and tuning
6/5.1.1 Inleiding In de literatuur en in trainingen van en over NetWare wordt weinig aandacht besteed aan Novell Storage Services (NSS). Natuurlijk leren we wel hoe we volumes moeten aanmaken en wat we kunnen instellen, maar diep wordt er feitelijk niet op ingegaan. Nu kunnen we natuurlijk beredeneren dat dit ook niet noodzakelijk is (“alle servers draaien toch gewoon?”), maar het is vreemd dat er weinig bekend is over zoiets belangrijks als het file-systeem waar uiteindelijk toch al onze bestanden op staan. NetWare heeft een naam hoog te houden als het gaat om systemen die self-tuning zijn. Het NSS-file-systeem is geen uitzondering en in een “normale” omgeving zal NSS dan ook heel behoorlijk presteren. Als een behoorlijke performance voldoende is, is er dan ook vrijwel nooit een noodzaak om iets aan de tuning van NSS te doen. Als het systeem echter zwaar wordt belast of als een goede performance echt noodzakelijk is, is het toch wenselijk om in elk geval vast te stellen of NSS redelijk functioneert en de werking zo mogelijk bij te sturen. In dit hoofdstuk wordt de werking van NSS uitgelegd, wordt uitgelegd hoe de statistieken van NSS moeten worden geïnterpreteerd en op welke manier de werking van NSS kan worden aangepast aan een specifiek gebruik van de server.
Novell Netwerkoplossingen, aanvulling 14
6/5.1-1
Novell Storage Services
Zeer stabiel
6/5.1.2 De werking van NSS NSS is ontstaan in het NetWare 5-tijdperk en is na de eerste perikelen een zeer stabiel file-systeem gebleken. Vanaf NetWare 6 is het dan het ook hét default file-systeem. Het is nog steeds mogelijk om een traditioneel file-systeem aan te maken en te gebruiken onder de nieuwe NetWareversies (ook NetWare 6.5). Novell heeft NSS ontwikkeld omdat het traditionele filesysteem tegen de maximale specificaties begon aan te lopen. Het meest evident is dat bij het mounten van een traditioneel volume. Bij grote volumes met veel bestanden kan dit een langdurig proces worden (het kan zelfs tot meer dan een uur duren). NSS is altijd binnen zo’n 10 seconden gemount en beschikbaar voor gebruik. Een ander voordeel van NSS is dat het vanaf het eerste design gemaakt is om ook te worden gebruikt in een 64-bitsomgeving. Omdat NetWare nog geen 64-bitsarchitectuur heeft, wordt dit nog niet gebruikt, en worden de mogelijkheden van het file-systeem dus nog beperkt door het operating system, maar zodra er een 64-bits operating system uitkomt waarop NSS wordt ondersteund, hoeft er dus niets meer te worden aangepast om ook echt gebruik te kunnen maken van de 64-bitsarchitectuur. In feite zit de beperking alleen in de filesys.nlm en de lfs.nlm die 32 bits zijn.
6/5.1-2
Novell Netwerkoplossingen, aanvulling 14
Storage
Hoewel NSS er voor de gebruiker hetzelfde uitziet en vanuit ConsoleOne, de Remote Manager of iManager ook voor de beheerder niet veel anders lijkt dan een traditioneel volume, zijn er technisch gezien grote verschillen. Om te beginnen wordt in dit hoofdstuk de terminologie van NSS behandeld, waarna wordt uitgelegd op welke manier de performance van NSS kan worden getuned voor een specifieke omgeving. Novell heeft NSS getuned voor een “gemiddelde” omgeving met ongeveer 100 users.
Novell Netwerkoplossingen, aanvulling 14
6/5.1-3
Novell Storage Services
Verschillen
Belangrijk om ons te realiseren is dat NSS in een NetWare 6-omgeving beduidend anders is en werkt dan in een NetWare 5-omgeving. Een van de grote verschillen (vanuit het oogpunt van performance) is dat in NetWare 6.x NSS volledig multi-processor aware is. In NetWare 5.x konden we wel meerdere processoren plaatsen in een server, maar moesten veel van de taken toch door processor 0 worden uitgevoerd (o.a. dus file access en routing). Een groot voordeel was een tweede processor in NetWare 5.x dus niet, aangezien zeker file access toch een belangrijk onderdeel is van bijna elke servertaak. Daarnaast hebben de “early adaptors” van NetWare 5.x behoorlijk wat problemen en beperkingen meegemaakt bij het gebruik van NSS: NSS ondersteunde geen compressie, geen disk space-limieten, geen TTS en was zeker in de 1.0 versie ook niet helemaal stabiel. Al deze problemen zijn inmiddels al zeer lang verholpen en NSS is (zeker in NetWare 6.x) terecht hét default file system geworden. In dit hoofdstuk zullen we uitgaan van de versie van NSS zoals die op een NetWare 6.5-server draait, maar afgezien van sommige schermen, geldt alles waar we het over hebben ook voor een NetWare 6.0-server. 6/5.1.3 Partitions, pools, segments & volumes Een van de problemen met het gebruik van disken is dat er in een ver verleden een indeling is gemaakt voor het gebruik van schijven (in het IBM XT-tijdperk). Door deze indeling van de schijf kunnen er maximaal 4 partities op een schijf worden gemaakt. Ook nu nog lijkt dit niet echt een probleem te zijn op een “normale” server. Wellicht een service-partitie (een “compaq-partitie”) en een stukje voor DOS, dan blijven er toch nog twee mogelijke partities over. Ruimte genoeg, zo lijkt het.
6/5.1-4
Novell Netwerkoplossingen, aanvulling 14
Storage
Extra schijf
Toch is dit lang niet altijd het geval. Het grote probleem is de explosie van benodigde opslagcapaciteit van de afgelopen jaren: een server waarvan iedereen bij aanschaf dacht dat de ruimte niet kon volkomen, heeft binnen korte tijd vrijwel geen ruimte meer op bijvoorbeeld vol01:. Een oplossing is dan om een extra schijf bij te voegen en daarop door te werken. We kunnen met die nieuwe schijf twee dingen doen: • Een nieuw volume maken op de nieuwe schijf (vol02:) Het nadeel van dit extra volume is dat we een aparte mapping moeten maken en (een deel van) de data moet verplaatsen. Applicaties die gebruikmaken van unc-paden hebben hier veel moeite mee en het maakt het beheer en de back-up er ook niet eenvoudiger op. • Het bestaande vol01-volume uitbreiden op de tweede schijf (spannen van disks) NetWare biedt al jaren de mogelijkheid om volumes te spannen over meerdere schijven. Het nadeel van deze oplossing is dat als er een crash optreedt met een van de schijven, direct het gehele volume een probleem heeft en van tape moet worden teruggehaald.
Novell Netwerkoplossingen, aanvulling 14
6/5.1-5
Novell Storage Services
De huidige RAID-controllers lijken deze problemen te kunnen oplossen: we kunnen een schijf toevoegen, vervolgens de RAID uitbreiden en een nieuwe partitie maken op de schijf. Deze ruimte kunnen we wel zonder problemen gebruiken om het volume op te spannen, want nu hebben we pas een probleem als de RAID-set corrupt raakt en dan is het volume altijd corrupt. Het nadeel van RAID-technologieën is dat we bij het uitbreiden van de disken dus feitelijk een nieuwe partitie moeten aanmaken om de nieuwe ruimte ook te kunnen gebruiken. In deze situatie is het werken met de 4-partitielimiet dus wel degelijk een probleem. Virtuele partities NSS lost dit probleem op door te werken met virtuele partities ook wel “partition segments” genaamd. De opbouw van een disk lijkt hierdoor met NSS behoorlijk ingewikkeld te worden, maar als we alle onderdelen kunnen plaatsen, valt het allemaal eigenlijk best wel mee:
Een device (een fysieke disk of een RAID-set) kan een of meerdere fysieke partities bevatten met een maximum van vier partities. Dit zijn de partities zoals we die al kennen. De eerste partitie kan dus een DOS-partitie zijn om van te kunnen booten en de tweede een NetWare-partitie die de
6/5.1-6
Novell Netwerkoplossingen, aanvulling 14
Storage
rest van de disk beslaat. Een fysieke partitie móét een aaneengesloten stuk storage zijn. Binnen een fysieke partitie kan een ongelimiteerd aantal partitiesegmenten of virtuele partities worden gemaakt. Ook deze moeten bestaan uit een aaneengesloten stuk opslag. Deze partitiesegmenten zijn wat in iManager en ConsoleOne partities worden genoemd.
Pools
Vanuit de partitiesegmenten worden NSS-pools gemaakt. Een pool mag bestaan uit meerdere segmenten, maar een segment mag niet door meerdere pools worden gedeeld. In een pool kan vervolgens weer een ongelimiteerd aantal volumes worden gemaakt. Het lijkt nogal dubbelop om te werken met partition segments en pools. Toch is er een goede reden om beide te gebruiken. Doordat de ruimte van de partition segments wordt verzameld in een pool hoeft het volume niet te weten waar de daadwerkelijke storage zich op disk bevindt. In het voorbeeld bevinden beide partition segments zich op dezelfde disk, maar het is heel goed mogelijk om een pool te laten bestaan uit partition segments van verschillende disken. Voor een volume is dit proces volledig onzichtbaar: een volume ziet een aaneengesloten stuk diskcapaciteit in de vorm van een pool en
Novell Netwerkoplossingen, aanvulling 14
6/5.1-7
Novell Storage Services
slaat daar de gegevens op. Waar de gegevens daadwerkelijk komen te staan, is niet belangrijk. Ook andere zaken worden op poolniveau geregeld, zoals het verplaatsen binnen een cluster en bij het maken van een snapshot voor het verkrijgen van een goede back-up.
Omzeilen limiet
Bij het uitbreiden van de diskcapaciteit wordt door de RAID-controller het device uitgebreid. NetWare zal vervolgens geen nieuwe fysieke partitie maken, maar de bestaande partitie eenvoudigweg uitbreiden. Door deze oplossing omzeilen we de 4-partitielimiet dus. In de vergrote partitie kan nu een nieuw partitiesegment worden aangemaakt, waarvoor geen beperkingen gelden. Een bestaande pool kan worden uitgebreid op het nieuw aangemaakte segment en de extra diskruimte is gealloceerd. Als het disksubsysteem is voorzien van hot plugable schijven, is het zelfs mogelijk om dit alles te doen “on the fly”, dus zonder een volume off line te hoeven brengen.
Met de standaardtools van NetWare is het helaas niet mogelijk om een partitie ook weer kleiner te maken. Derde partij software zoals de Portlock Storage-manager (www.portlocksoftware.com) of Server manic (www.partitionmagic.com) kan dit wel. Zorg, als u dit soort tools gaat
6/5.1-8
Novell Netwerkoplossingen, aanvulling 14
Storage
gebruiken, uiteraard wel voor een goede (gecontroleerde!) back-up. Omdat pools op verschillende segmenten (en dus eventueel zelfs op meerdere disken staan) zal het verkleinen van een volume, pool of segment dus vrijwel altijd het intern verplaatsen van data betekenen. Dit is een intensief en langdurig proces en uiteraard is er een kans op storingen tijdens deze acties. Gezien de kosten van opslag is het wellicht verstandiger om disken bij te plaatsen in plaats van het verkleinen van andere volumes als er ruimte nodig is. 6/5.1.4 Trees en journals Eerder is al gezegd dat NSS zaken heel anders regelt dan het traditionele file-systeem dat deed. De belangrijkste vernieuwingen zijn het gebruik van trees voor het bijhouden van gegevens over onder andere bestanden en het gebruik van een journalling database in plaats van de rollback logs van TTS.
FAT en DET
In het traditionele file-systeem werd informatie over wat er op een volume staat bijgehouden in twee bestanden: de FAT (File Allocation Table) en de DET (Directory Entry Table). De informatie in deze twee indexen zorgt er op een traditioneel volume voor dat elk bestand kan worden getoond en gevonden. Beide tabellen zijn echter plat (er zit geen structuur in). Dit betekent dat, ondanks het feit dat het indexen zijn, het doorzoeken van de files op een volume met veel directory’s en bestanden dus even kan duren. Dit is duidelijk te zien bij het mounten van een volume. Tijdens het mounten van een volume in NetWare 5 worden de twee kopieën van de FAT en twee kopieën van de DET met elkaar vergeleken. Als de bestanden dezelfde informatie bevatten, gaat de server ervan uit dat het filesysteem in orde is en zal het volume worden gemount. In oudere versies van NetWare en op servers waar de “fast
Novell Netwerkoplossingen, aanvulling 14
6/5.1-9
Novell Storage Services
volume mount” uitstaat, wordt ook nog op schijf gecontroleerd of de informatie klopt. In elk geval is duidelijk waarom grote volumes niet geschikt zijn voor een systeem op basis van FAT en DET.
Databases
NSS maakt gebruik van gestructureerde (object oriented) databases voor het bijhouden van file-systeeminformatie – deze databases worden trees genoemd. Objecten in deze database hebben alleen een uniek recordnummer dat de ZID wordt genoemd. Om verschillende toepassingen van het file-systeem (zoals browsen, back-uppen, trustees bijhouden, disk space-limieten bijhouden) efficiënt te kunnen afhandelen, worden ook meerdere trees bijgehouden. De belangrijkste database is de superblock. De superblock bevat pointers naar de andere databases. Zodra een pool wordt geactiveerd, worden de vier kopieën van de superblock met elkaar vergeleken. Minimaal een van deze superblocks moet nog goed zijn om de pool te kunnen activeren. Als alle vier kopieën corrupt zijn, is er geen andere manier om te herstellen dan de pool weg te gooien, opnieuw aan te maken en een back-up terug te zetten. De superblocks worden alleen gecontroleerd tijdens het activeren van een pool. De name tree bevat de file-namen, de directory-namen en de pointers (naar een ZID) die aangeven in welke parent directory een file of een directory staat. Een deel van deze tree wordt gecached direct na het activeren van een pool. Een deel van deze tree wordt ook gecached. Het vreemde is dat de maximale cache size 2111 entries is. Dit betekent dat er maximaal 2111 ZID’s in de memory van de server worden gecached. Het verhogen van deze waarde is een eerste stap voor het verbeteren van de performance van
6/5.1-10
Novell Netwerkoplossingen, aanvulling 14
Storage
het file-systeem. In het voorbeeld worden zowel de name cache als de closed file cache aanzienlijk verhoogd.
Natuurlijk heeft het vergroten van deze waarde ook negatieve effecten. Ten eerste kost elke vorm van caching geheugen, maar dat is in dit geval verwaarloosbaar. Het probleem van een extreem grote cache is dat op een gegeven moment het zoeken in de tree sneller verloopt dan het sequentieel zoeken in de cache.
Hash bucket
De cache entries worden met behulp van een hashing-algoritme opgeslagen. Een aantal cache entries wordt gezamenlijk een hash chain genoemd. In de NSS-parameters wordt zo’n hash chain een hash bucket genoemd. Omdat het sneller is om te zoeken in verschillende buckets in plaats van het doorzoeken van een (lange) hash chain, maakt NSS automatisch meerdere buckets aan. De performance van de hash wordt dus mede bepaald door de verdeling van de cash entries over de verschillende hash buckets. Binnen de huidige versie van NSS bepaalt NSS zelf het aantal buckets en is er geen mogelijkheid om hier invloed op uit te oefenen (anders dan de name cache size aan te passen). Controleren of de name cache voldoende groot is, kan worden gedaan via het commando NSS /NameCacheStats. Deze actie heeft alleen zin als de server al enige dagen onder normale condities heeft gewerkt. Elk netwerk is uniek en er
Novell Netwerkoplossingen, aanvulling 14
6/5.1-11
Novell Storage Services
kunnen geen vuistregels worden gegeven voor de optimale grootte.
Een goede indruk over het gebruik van de name cache wordt gegeven door de waarde van “num entries used” te bekijken in relatie tot de “max cache entries”. Als de waarden hetzelfde zijn, wordt dus alle cache gebruikt en is het vrijwel zeker dat er te weinig cache is. Als de waarden te veel verschillen (zoals in dit voorbeeld), is er te veel cache gereserveerd en dient de setting naar beneden te worden bijgesteld. Controleer tevens de waarde van de “cache hit percentage”. Als de server al enige tijd aanstaat (en dus cache heeft kunnen vormen), zou de waarde boven de 95 moeten zitten. Als tevens de waarde “num victims select” hoog is, is dit een signaal dat de name cache te laag is en er dus continu informatie moet worden verwijderd uit de cache om plaats te maken voor nieuwe gegevens. De free tree houdt bij welke blokken op het file-systeem nog vrij zijn. Het file-systeem kan aan de hand van de informatie in deze tree dus snel bepalen waar een bestand kan worden weggeschreven.
6/5.1-12
Novell Netwerkoplossingen, aanvulling 14
Storage
De purge/salvage tree wordt gebruikt voor het bijhouden van bestanden die verwijderd maar nog salvageable zijn. Bij het purgen van files (door de user of door het systeem) wordt de ZID verwijderd uit de purge/salvage tree en uit de name tree. Daarna wordt de informatie over de blokken die de file gebruikte, toegevoegd aan de free tree, zodat ze weer kunnen worden gebruikt. In situaties waarin continu bestanden worden verwijderd kan de performance van NSS verbeterd worden als geen gebruik hoeft te worden gemaakt van de salvage optie (denk hierbij aan databases of bijvoorbeeld GroupWisevolumes). In dat geval is het verstandig om bij de properties van het volume de optie “salvage fiels” uit te zetten.
De directory space restrictions (DSR) tree en de user space restrictions (USR) tree bevatten informatie over de directory en user quota’s die worden gebruikt. Ook het bijhouden en raadplegen van deze trees kost performance op de server. Als er geen gebruik wordt gemaakt van quota’s kunnen de opties dus beter worden uitgezet.
Novell Netwerkoplossingen, aanvulling 14
6/5.1-13
Novell Storage Services
De modified file list (MFL) tree houdt bij welke bestanden zijn aangepast. De reden hiervoor is hetzelfde als het bijhouden van de back-upattribuut van bestanden: bij het maken van een incremental of differential back-up moeten alleen de aangepaste bestanden worden geback-upt. Als een back-upprogramma de MFL kan uitlezen, weet het programma direct welke bestanden moeten worden gebackupt. Een back-up utility die geen MFL ondersteunt, moet álle bestanden op het volume langs om te kijken of het back-upattribuut is gezet. Tijdens het activeren van een pool (en daarna het mounten van een volume) wordt alleen de superblock gecontroleerd. Als die consistent is, wordt de pool geactiveerd en wordt het volume gemount. Hierdoor is het logisch dat de hoeveelheid bestanden, rechten en dergelijke geen invloed heeft op de totale mount time: de superblock bevat deze informatie niet en dit wordt dus ook niet gecontroleerd. 6/5.1.5 Performance tuning Enkele van de zaken die te maken hebben met performance tuning zijn al naar voren gekomen: de name cache size, salvage en space restrictions zullen we hier niet meer behandelen, hoewel ze zeer belangrijk zijn voor de performance van het file-systeem. Naast salvage en space restrictions zijn nog enkele properties van het volume belangrijk voor een goede performance: • File compression Compressie is in NetWare 4 toegevoegd aan het traditionele file-systeem en op verzoek van klanten wederom in NSS geïmplementeerd. Afhankelijk van de soort bestanden dat wordt opgeslagen, kan hier een behoorlijk voordeel worden behaald. Nadeel van
6/5.1-14
Novell Netwerkoplossingen, aanvulling 14
Storage
compressie is natuurlijk dat een bestand dat wordt opgevraagd, eerst moet worden gedecomprest. Door de instelling onder welke voorwaarden compressie mag worden uitgevoerd, kan ervoor worden gezorgd dat bijvoorbeeld alleen bestanden die al langere tijd niet zijn gebruikt, worden gecomprest en dat er een behoorlijke winst moet worden behaald, maar de performance van het file-systeem zal een behoorlijke hit krijgen.
•
Flush on close Deze nieuwe optie kan worden aangezet als gegevens absoluut niet verloren mogen gaan. Normaal gesproken gaat het werkstation ervan uit dat een bestand goed is geschreven als het verzonden is naar de server. Op zich is dat niet correct, aangezien het op dat moment nog maar in de cache van de server is en nog niet naar een disk is geschreven. Deze optie zorgt ervoor dat het werkstation pas een bericht krijgt dat het bestand is opgeslagen als het ook daadwerkelijk op een disk staat. Dat deze optie duidelijk merkbaar zal zijn in de performance, is duidelijk. Toch is het een optie die voor (bijvoorbeeld) banken wel zeer
Novell Netwerkoplossingen, aanvulling 14
6/5.1-15
Novell Storage Services
bruikbaar is, omdat er een garantie is dat gegevens op disk staan.
Geheugen
Een ander aandachtspunt is de hoeveelheid memory die in de server zit. Van oudsher wordt altijd gezegd dat het toevoegen van geheugen aan de server goed is voor de performance. Natuurlijk geldt dat ook voor NetWare 6.x in combinatie met NSS. Wat echter wel belangrijk is, is dat we ons realiseren hoe NetWare het geheugen gebruikt. Standaard zal een NetWare 6.x server 85% van het beschikbare geheugen gebruiken voor cachen van NSS. Maximaal 20% hiervan wordt gebruikt voor cachen van metadata (de trees) en 80% voor NSS file cache. De rest van het beschikbare geheugen kan worden gebruikt voor andere processen. Een van die processen is overigens het traditionele file-systeem. Een combinatie van NSS en het traditionele file-systeem is dus geen efficiënte oplossing, aangezien de twee cache-systemen los van elkaar werken en het daarom vrijwel onmogelijk is om een optimale instelling te kunnen bereiken. De NSS-cache-instellingen zijn overigens standaard wel dynamisch ingesteld. Dat betekent dat (standaard) elke 30 seconden wordt gekeken hoeveel geheugen door NSS wordt gebruikt en hoeveel nog beschikbaar is voor andere processen. Als er (door bijvoorbeeld het laden van een programma op de server) minder memory vrij is dan bepaald in de cache balance percent setting, zal de verdeling worden aangepast.
6/5.1-16
Novell Netwerkoplossingen, aanvulling 14
Storage
Zolang de server niet in uiterste situaties zit (extreem veel of juist heel weinig geheugen), werkt dit dynamische proces eigenlijk altijd heel erg goed. Op servers waar heel veel geheugen in zit, zou de setting van cache balance percent wat hoger kunnen worden gezet, in servers met zeer weinig geheugen wat lager. Toch is het zeer lastig om ook hiervoor vuistregels te geven: elke server is anders. Een goed houvast geeft het informatiescherm dat we krijgen als we het commando NSS / cachestats geven:
In dit voorbeeld zien we dat slechts 77% van de gegevens die gebruikers opvragen bij deze server vanuit de cache kunnen worden geserviced. De oorzaak hiervan is dat de hoeveelheid geheugen die in deze server zit (768 Mb) eigenlijk te weinig is om naast de processen die draaien nog veel geheugen vrij te hebben voor NSS caching. In dit
Novell Netwerkoplossingen, aanvulling 14
6/5.1-17
Novell Storage Services
geval zou de server dus zeker baat hebben bij meer geheugen. 6/5.1.6 Tot slot Dat door de schaalbaarheid de manier waarop NSS met disken omgaat wat omslachtig lijkt, is iets waar we snel genoeg aan wennen als we het principe eenmaal snappen. Feit is dat in met name Storage Area Networks (SAN’s) juist die flexibiliteit zeer belangrijk is. Novell heeft inmiddels NSS ook al gepoort naar het Linux operating system en met de release van de Open Enterprise Server kan NSS dus ook op een Linux-server worden gebruikt. Linux heeft natuurlijk al enkele zeer goede file-systemen, maar wat die missen, is de mogelijkheid om te gaan met trustees zoals we dat vanuit NetWare doen (SRWCEMFA en het erven van rechten). Dit is waarschijnlijk voor velen een van de vereisten om Linux als file server in een kantoorautomatiseringsomgeving te kunnen inzetten. NSS is een file-systeem dat geschreven is vanuit de Novellfilosofie: probeer een technisch zo goed mogelijke oplossing te maken en probeer de tuning zoveel mogelijk automatisch te laten plaatsvinden. De ontwerpers van NSS zijn er goed in geslaagd om beide doelstellingen te bereiken.
6/5.1-18
Novell Netwerkoplossingen, aanvulling 14
Storage
6/5.2
Dynamic File System
Een heel aardige feature van NetWare 6.x is het Dynamic File System (DFS). Vreemd genoeg horen we daar vrijwel nooit iets van, terwijl het toch de moeite waard kan zijn om voor gebruikers een netwerk eenvoudiger te laten lijken. Junctions
DFS maakt junctions aan. Een DFS-junction ziet er uit als een normale directory in het file-systeem, maar verwijst in werkelijkheid naar een ander volume. We zouden het een shortcut voor het Novell-file-systeem kunnen noemen. Het volume mag op dezelfde server zijn geladen, maar kan zelfs zijn gemount op een andere server. Op dit moment is het echter nog wel de voorwaarde dat de servers dan in dezelfde context bestaan. De voordelen van junctions zijn natuurlijk zeer duidelijk: een beheerder kan delen van een volume naar een ander volume verplaatsen, zonder dat hij dit aan gebruikers hoeft uit te leggen. Bij een volume dat helemaal vol zit met home-directory’s, kan het worden gebruikt om (bijv.) een opdeling te maken per afdeling:
Novell Netwerkoplossingen, aanvulling 16
6/5.2-1
Novell Storage Services
Als we op de normale manier een migratie zouden doen naar de nieuwe server, dan zouden voor de gebruikers de unc-paden veranderen. Nu maken we immers bijvoorbeeld de volgende mapping: map h:=nw01\home:\fin Na de migratie zou dat worden: map h:=nw02\fin: Dit is voor de gebruikers zelf waarschijnlijk al lastig te begrijpen, maar voor de vele, vele Windows-applicaties die alleen maar in unc-paden denken en dus de link hebben gelegd naar \\nw01\home\fin, is het nog veel lastiger. Zeker in organisaties die veel werken met links tussen Excel-files geeft een dergelijke migratie zeer veel problemen. DFS biedt hier een goede oplossing voor. Bij gebruik van DFS wordt de data ook gekopieerd naar de nieuwe server, maar wordt direct een junction aangemaakt die de directory’s fin, pz en sales naar de respectievelijke
6/5.2-2
Novell Netwerkoplossingen, aanvulling 16
Storage
volumes op de nieuwe server laat verwijzen. Als een gebruiker of applicatie nu probeert een bestand in \\nw01\home\sales\user77 te raadplegen, zal er geen foutmelding optreden, maar wordt de gebruiker of applicatie onder water doorverwezen naar de nieuwe locatie. Een gebruiker merkt hier niets van. Een voorwaarde voor het kunnen werken met DFS is dat de client dit ondersteunt. Hoewel DFS waarschijnlijk ook werkt in voorgaande versies, is de client 4.90 SP1a de eerste versie waarin DFS probleemloos en snel werkte. In de 4.91-serie van clients is de ondersteuning voor DFS niet meer veranderd, maar is deze wel aanzienlijk verbeterd qua snelheid. De 4.91-client is dus zeker aan te bevelen.
Novell Netwerkoplossingen, aanvulling 16
6/5.2-3
Novell Storage Services
VLDB
Zoals al gezegd is DFS beschikbaar op elke NetWare 6.xserver, maar voor er daadwerkelijk junctions kunnen worden gemaakt, dient wel eerst het een en ander te worden voorbereid. Deze voorbereiding bestaat erin dat er een DFS-management-context moet worden aangemaakt. Het creëren van een management-context zorgt ervoor dat de eDirectory-rechten en eDirectory-verwijzingen worden geregeld. Er zal op een of meerdere servers in de sys:\etc (default directory) een database worden aangemaakt waarin de junctions worden opgeslagen. Deze database wordt de Volume Location Database (VLDB) genoemd en in de database wordt voor elke junction een unieke ID aangemaakt. Als een client-software een junction tegenkomt, vraagt het bij de VLDB-service (die draait op elke server die een VLDB heeft staan) op waar het volume daadwerkelijk staat en toont vervolgens de informatie aan de gebruiker. Het aanmaken van een DFS-management-context gebeurt via ConsoleOne.
6/5.2-4
Novell Netwerkoplossingen, aanvulling 16
Storage
Selecteer de context waarin de server(s) zich bevinden. Via het rechtermuistoetsmenu | new | DFS management Context menu starten we de wizard die de rest van de installatie begeleidt.
De eerste stap is het kiezen van de server(s) waarop de DFS-service moet komen te draaien. Dit hoeft niet elke server in het netwerk te zijn. In principe zouden we in een netwerk van honderd servers die allemaal DFS gebruiken, kunnen volstaan met slechts één DFS-server, maar vanuit het oogpunt van beschikbaarheid is het natuurlijk logischer om er minimaal twee of drie te hebben. Als er geen VLDB-service beschikbaar is, kunnen clients immers niet meer via de link op het andere volume komen. Hoewel dit natuurlijk geen goede zaak is, is de storing gelukkig snel en eenvoudig te verhelpen: zodra er weer minimaal één VLDB-service beschikbaar is, zijn alle problemen ook weer verdwenen en zonder verlies van data (het probleem zat immers niet in de files, maar alleen in de link).
Novell Netwerkoplossingen, aanvulling 16
6/5.2-5
Novell Storage Services
In omgevingen waar ook wordt geclusterd, wordt er vaak voor gekozen om op alle cluster-nodes een VLDB te installeren. Dit is een heel logische keuze: de machines staan vrijwel altijd in dezelfde NDS-context en zitten in hetzelfde subnet. Aangezien het file-systeem een van de eerste dingen is die mensen clusteren, is de kans ook heel groot dat deze machines behoefte hebben aan een DFSjunction.
Na het kiezen van de server waarop DFS komt te draaien, dient te worden aangegeven waar de VLDB moet worden geplaatst. Dit mag per server een andere locatie zijn, maar verstandiger is natuurlijk om alle servers op dezelfde manier in te richten. De VLDB wordt nooit echt groot en kan om die reden zonder problemen in sys:\system worden geplaatst. De optie om de NLM’s automatisch te laden, zal eigenlijk nooit worden uitgezet, tenzij er een reden is om een bepaalde server niet altijd VLDB-server te laten zijn. De VLDB-service wordt overigens gestart via de VLDB.NLM.
6/5.2-6
Novell Netwerkoplossingen, aanvulling 16
Storage
Naast de VLDB.NLM worden ook de VLRPC.NLM en de VLMSG.NLM geladen. Hiermee is de installatie van DFS voltooid en kan worden begonnen met het aanmaken van DFS-junctions. Het maken van een DFS-junction kan handmatig via ConsoleOne worden gedaan. Selecteer om dit te doen een volume of een directory in een volume en klik op de rechtermuistoets | new | shortcut | junction.
Het maken van een junction wordt gedaan door het invullen van twee schermen. In het eerste scherm selecteren we het volume waarnaar moet worden verwezen:
Novell Netwerkoplossingen, aanvulling 16
6/5.2-7
Novell Storage Services
In het tweede scherm geven we de naam van de junction op. Deze naam wordt in Windows Explorer getoond als zijnde een directory:
6/5.2-8
Novell Netwerkoplossingen, aanvulling 16
Storage
Hierna kunnen gebruikers direct gebruikmaken van de DFSjunction. Als we een bestaand volume willen ontlasten door data te verplaatsen, zoals in het begin van deze paragraaf is beschreven, is er echter een eenvoudiger en snellere methode. Deze methode wordt een volume-split genoemd en wordt uitgevoerd via iManager. Belangrijk hierbij is dat het nieuwe volume nog niet is aangemaakt. Als het volume in een andere pool wordt gemaakt dan waar het oude volume stond (en die kans is natuurlijk zeer groot aangezien deze acties feitelijk altijd worden uitgevoerd om volle disken te kunnen ontlasten), dient al wel de nieuwe pool te zijn aangemaakt (via iManager of de NSSMU.NLM). Kies Storage in de iManager roles & tasks. Let in dit menu even op de optie Move/split job control. Met deze optie kunnen we tijdens een split-operatie (die bij grote volumes vele uren kan duren) zien hoe ver het systeem is. Om de actie te starten, kiezen we echter voor de optie Volumes.
Novell Netwerkoplossingen, aanvulling 16
6/5.2-9
Novell Storage Services
Kies de server waar het volume is gemount en selecteer het volume waar u de afsplitsing van wilt uitvoeren. Kies nu voor Split en geef de nieuwe locatie aan in NDS en waar de splitsing moet plaatsvinden (\home\fin\).
Geef de naam van het nieuw te maken volume en selecteer de pool waarin dit volume moet worden gemaakt. U kunt zelfs aangeven dat de split pas na kantoortijd moet starten. Ondanks dat gebruikers gewoon kunnen doorwerken, zullen ze er qua snelheid wel last van ondervinden. Klik Next en geef de naam van het nieuw te maken volume op:
6/5.2-10
Novell Netwerkoplossingen, aanvulling 16
Storage
Geef ten slotte op in welke pool het volume moet worden gemaakt, of dat er een nieuwe pool moet worden gemaakt en geef eventueel een volume-quota op:
Druk op Finish om de split te starten of te schedulen. Het mooie van het splitsen op deze manier is dus dat gebruikers gewoon kunnen blijven doorwerken. De split zal alle bestanden die zijn gesloten, verplaatsen en bestanden die zijn geopend, laten staan. Na de gehele migratie probeert de tool nog een keer of de bestanden nu wel zijn gesloten en verplaatst ze in dat geval alsnog. Als e-files nog steeds niet zijn gesloten, komen ze in de logfile als error te staan en kan de beheerder ze alsnog even met de hand kopiëren. Hoewel de voorkeur natuurlijk nog steeds zal zijn om dit soort acties niet onder werktijd te doen, kan het voorkomen (bijv. bij een 7x24-bedrijf of een zeer groot volume) dat de werkzaamheden (gedeeltelijk) tijdens de werkuren moeten worden uitgevoerd. Dit hoeft dus zeker geen probleem te zijn.
Novell Netwerkoplossingen, aanvulling 16
6/5.2-11
Novell Storage Services
Al met al hebben we met DFS een aantal zeer waardevolle opties erbij gekregen om het beheer van ons file-systeem beter te laten verlopen. Waarom vrijwel niemand hiervan weet? Dat is verbazingwekkend, aangezien de problemen van vollopende volumes vrijwel overal aan de orde van de dag zijn. Doe in ieder geval uw voordeel met deze kennis.
6/5.2-12
Novell Netwerkoplossingen, aanvulling 16
deel 6_5-3-4
19-04-2006
14:33
Pagina 1
Storage
6/5.3
File access en storage in Open Enterprise Server
6/5.3.1 De stand van zaken Met de overgang van NetWare naar Open Enterprise Server, waarbij Linux als het primaire platform wordt gebruikt, zijn inmiddels ook alle kroonjuwelen van Novell op Linux beschikbaar. eDirectory was dat al sinds 1998, het NSS bestandssysteem en het Novell Core Protocol (NCP), dat gebruikt wordt om shares op dit bestandssysteem te benaderen, zijn dat pas sinds maart 2005. In eerste instantie waren er met beide wat stabiliteitsproblemen; in dit artikel leest u wat de huidige stand van zaken is. NSS
Het grootste probleem van NSS in de oorspronkelijke release van OES was het aanspreken van het werkgeheugen. NSS kon namelijk niet meer dan 400 MB werkgeheugen reserveren voor caching, dit in contrast met de volledige toegang tot alle werkgeheugens die NSS onder NetWare had. De standaardinstellingen voor NSS waren nog beroerder: ze stond ingesteld op 128 MB. Sinds OES SP1 is een aantal belangrijke aanpassingen doorgevoerd. De belangrijkste is dat NSS met het Linux cache page management-systeem is samengetrokken. Dit heeft als resultaat dat NSS nu wel gewoon al het werkgeheugen dat onder Linux beschikbaar is kan aanspreken, met uitzondering natuurlijk van geheugen dat al voor andere zaken zoals toepassingen en processen is gereserveerd. Dit betekent effectief dat de begrenzing van de hoeveelheid geheugen die door NSS kan worden gebruikt, is opgeheven. Ook op het gebied van file access is het nodige verbeterd. Als eerste is er nu beschikking over Opportunistic file locks
Novell Netwerkoplossingen, aanvulling 19
6/5.3-1
deel 6_5-3-4
19-04-2006
14:33
Pagina 2
Novell Storage Services
waardoor het risico dat er iets mis gaat als twee gebruikers gelijktijdig hetzelfde bestand willen openen aanzienlijk beperkt wordt. Daarnaast kunnen zowel NSS als NCP nu overweg met de Linux extended attributes interface (xattr). Hierdoor wordt het mogelijk om klassieke NetWare features zoals user en disk space limitations toe te passen op Linux. In OES SP2 is er nog een aantal verbeteringen aangebracht, met als belangrijkste verbetering dat er nu cross protocol locking en file sharing is. Dit betekent dat op een bepaalde directory zowel een NCP share als een Samba share open kan staan en dat dat niet langer tot problemen kan leiden omdat NCP zich niet bewust is van wat Samba doet.
EVMS
6/5.3-2
Kort samengevat is er sinds OES SP1 geen enkele reden meer om NSS-volumes niet over te zetten van NetWare naar Linux. Toch is er een aantal zaken waarmee u wel rekening moet houden. De eerste heeft te maken met de schijf waarop u NSS wilt installeren. Om op een schijf te kunnen worden gebruikt, heeft NSS de Enterprise Volume Manager (EVMS) nodig. Dit is een systeem dat zich nestelt in de master boot record van een harddisk. Het probleem echter is dat bij een standaardinstallatie van OES gebruik wordt gemaakt van Logical Volume Management (LVM), een systeem dat niet compatibel is met EVMS. Dit probleem is op te lossen met een technisch trucje, waarbij tijdens de installatie de volledige MBR wordt gewist om plaats te maken voor een EVMS-signatuur en vervolgens zowel traditionele partities als EVMS-volumes op diezelfde harddisk worden aangemaakt; maar dit is niet iets wat als stabiele oplossing wordt beschouwd. Dit moet u dus gewoon niet doen als u problemen wilt vermijden. Daarom geldt ook de dag van vandaag de oude richtlijn van de eerste release van OES: als u met NSS-volumes wilt werken, neem daar dan een apart opslagmedium voor. Dientengevolge ziet
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 3
Storage
een typische OES-omgeving met NSS er uit als een server waarbij de eerste harddisk wordt gebruikt om de bestanden van het besturingssysteem op te zetten als gewone traditionele Linux-bestandssystemen. Hierbij maakt u al dan niet gebruik van LVM. Daarnaast gebruikt u een apart opslagmedium (harddisk, RAID-array of desgewenst een LUN op een SAN) om daar EVMS-volumes op aan te maken. Als u op deze manier te werk gaat, levert dat geen problemen op en kunt u de NSS-volumes gewoon vanuit iManager aanmaken.
Als u een apart opslagmedium voor NSS-volumes gebruikt, kunt u zonder enige voorbereiding de NSS-volumes gewoon vanuit iManager aanmaken.
Novell Netwerkoplossingen, aanvulling 19
6/5.3-3
deel 6_5-3-4
19-04-2006
14:33
Pagina 4
Novell Storage Services
6/5.3.2 Performance van NSS Een van de belangrijkste factoren op basis waarvan een bestandssysteem wordt beoordeeld, is de performance ervan. Snelle opslag van gegevens is immers onder alle omstandigheden van groot belang en daarbij maakt het niet uit of het gaat om het delen van informatie in een kleine werkgroep, bedrijfskritische toepassingen of geclusterde omgevingen. Een van de kenmerken van OES is dat per taak een bestandssysteem kan worden gekozen. De gebruiker zit dus niet bij voorbaat vast aan NSS, maar kan, als dat nodig is, evengoed Reiser, ext3 of welk andere Linux-bestandssysteem ook inzetten.
Eigenschappen
6/5.3-4
Ondanks deze keuzevrijheid zijn er voldoende redenen om gewoon voor NSS te kiezen. NSS heeft namelijk een aantal eigenschappen die andere Linux-bestandssystemen niet hebben. Denkt u daarbij aan onder meer het volgende: • ACL’s. In tegenstelling tot andere Linux-bestandssystemen heeft NSS een zeer rijk model voor het werken met ACL’s. Hierbij is het geen moeite om meerdere groepen en meerdere gebruikers toe te wijzen als trustees op een bestand of directory. Vergelijkbare systemen voor het werken met ACL’s onder Linux zijn een stuk primitiever en blijken in de praktijk erg lastig om mee te werken. • Inheritance. In Linux werkt het principe van inheritance zoals dat bekend is uit de NetWare-wereld niet. Om te bepalen welke permissies een gebruiker heeft, wordt gekeken hoe het zit met het ownership van het betreffende bestand of de betreffende directory. Het principe dat gebruikers automatisch rechten erven naar de onderliggende structuur als zij bijvoorbeeld rechten hebben op directory-niveau, werkt onder Linux niet als dusdanig.
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 5
Storage
•
•
•
Visibility. NSS is het enige bestandssysteem waarin gebruikers alleen die bestanden en directory’s zien waarop ze rechten hebben. Alle overige bestanden en directory’s zijn gewoon niet zichtbaar. Dit komt de overzichtelijkheid aanzienlijk ten goede: een gebruiker die een directory ziet waarop hij geen rechten heeft, kan de neiging krijgen deze directory toch te activeren en dat is niet de bedoeling. Directory-quota. Linux kent geen systeem om per directory in te stellen hoe groot de directory mag worden. NSS kent deze mogelijkheid wel, zeker nu NSS is geïntegreerd met het Linux-systeem van xattrs, wat geavanceerde eigenschappen van het bestandssysteem mogelijk maakt. Salvage. Geen enkel Linux-bestandssysteem heeft een mogelijkheid voor de gebruiker om verwijderde bestanden terug te halen middels een salvagemechanisme – NSS heeft die mogelijkheid wel.
Het mag duidelijk zijn dat NSS bijzondere voordelen heeft boven de traditionele Linux-bestandssystemen. Toch is er één zaak die u in gedachten moet houden: onder bepaalde omstandigheden is het gebruik van een dergelijk featurerijk bestandssysteem helemaal niet nodig en kunt u misschien beter gebruikmaken van een van de traditionele Linux-bestandssystemen. U moet dus per toepassing bepalen welk bestandssysteem nodig is en daar vervolgens een partitie of een logisch volume voor aanmaken. Het mooie van Linux is dat de eindgebruiker al deze verschillende bestandssystemen helemaal niet te zien krijgt. Vanuit het perspectief van de gebruiker is er gewoon een bestandssysteem dat op kernel-niveau door het Virtual File System wordt gerepresenteerd. Uiteindelijk moet u dus per toepassing bepalen wat u precies nodig hebt voordat u toepassingen overzet van NetWare naar Linux.
Novell Netwerkoplossingen, aanvulling 19
6/5.3-5
deel 6_5-3-4
19-04-2006
14:33
Pagina 6
Novell Storage Services
ReiserFS
6/5.3.3 NSS of niet? U kunt voor de eenvoudige oplossing kiezen en één bestandssysteem nemen voor alle toepassingen. NSS is dan geen verkeerde keuze. Het ligt echter meer voor de hand dát bestandssysteem te kiezen dat het best is aangewezen voor een bepaalde taak. Voor een eenvoudige toepassing die de mogelijkheden van NSS op het gebied van rechten niet nodig heeft, voldoet ReiserFS of een ander Linuxbestandssysteem uitstekend; wilt u een toepassing inzetten in een cluster, dan is een cluster-aware bestandssysteem zoals Polyserve of OCFS2 meer voor de hand liggend. Een nadeel van NSS is namelijk dat het bestandssysteem zeer uitgebreide metadata heeft. Dit betekent dat de hoeveelheid administratie die per bestand nodig is, relatief groot is in vergelijking met andere Linux-bestandssystemen; alle informatie met betrekking tot encryptie, salvage, namespaces, enzovoort moet namelijk ergens worden opgeslagen. Om die reden is voor een systeem dat hoofdzakelijk werkt met kleine bestanden NSS geen optimale keuze: kies liever ReiserFS, dat hier juist wél heel goed in is. Het lezen en veranderen van bestaande bestanden is op NSS weliswaar ongeveer even snel, traditionele Linuxbestandssystemen zijn echter een stuk sneller in het aanmaken van nieuwe bestanden, om de eenvoudige reden dat de hoeveelheid metadata die moet worden aangemaakt een stuk kleiner is. In vergelijking tussen ext3 enerzijds en Reiser/NSS anderzijds is er een ander opmerkelijk punt. Ext3 blijkt namelijk in directory’s met weinig bestanden ongeveer even snel te zijn als Reiser en NSS. Als er echter heel veel bestanden in een directory staan, is Reiser/NSS echt de betere keuze; ReiserFS legt het dan echt af ten opzichte van de andere
6/5.3-6
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 7
Storage
bestandssystemen. De reden hiervoor is voornamelijk dat zowel Reiser als NSS zijn gebaseerd op een B-tree-algoritme, terwijl ext3 (het is tenslotte achterwaarts compatibel met ext2, dat in de vroege jaren 1990 is geschreven) nog steeds – op de ouderwetse manier – met tabellen werkt. Interessant is dat een aantal Novell-services helemaal geen NSS nodig heeft. Het gaat dan met name om iFolder, iPrint, AMP-toepassingen, GroupWise en Instant Messaging; deze doen het allemaal beter op een traditioneel Linux-bestandssysteem. Pas echter op met GroupWise. De GroupWise Post Office maakt in het algemeen heel veel kleine bestanden aan en dat kunt u weer beter niet doen op ext3: gebruik in dit laatste geval Reiser. 6/5.3.4 File access protocollen Behalve de vraag welk file storage-protocol moet worden gebruikt in een OES-omgeving, is tegenwoordig ook de vraag van het file access protocol relevant. Moet hiervoor nu NCP worden ingezet, of kan toch beter gebruik worden gemaakt van Samba? De eerste aanbeveling heeft betrekking op het besturingssysteem dat beter geschikt is voor het gebruik van NCP. In het verleden was dat zonder twijfel NetWare. Dit is echter sinds OES SP1 niet meer het geval: NCP-toegang naar OES – Linux is een klein beetje sneller dan dat het naar NetWare is. De reden hiervoor is dat de NCP-implementatie op NetWare stamt uit een tijd dat een server gemiddeld 4 MB werkgeheugen had en dus helemaal niet meer is ingericht voor een moderne omgeving waar eerder 4 GB de standaard is. Novell heeft de bij het uitbrengen van OES SP1 NCP-toegang geoptimaliseerd. Hierbij is 85% van alle
Novell Netwerkoplossingen, aanvulling 19
6/5.3-7
deel 6_5-3-4
19-04-2006
14:33
Pagina 8
Novell Storage Services
code opnieuw geschreven en dat heeft als resultaat dat NCPfile-access nu sneller is naar Linux dan naar NetWare. Vervolgens is er de vraag of u nog steeds moet doorgaan met het gebruik van NCP in een Linux-omgeving. Als NCP wordt ingezet, moet immers op het werkstation nog steeds de Novell-client worden gebruikt. Uit tests blijkt dat dit zeker de moeite waard is wanneer gebruik wordt gemaakt van opportunistic file locking: NCP is hier twee keer zo snel als CIFS. Als opportunistic locks niet worden gebruikt, is NCP nog steeds sneller, al is het voordeel dan ingezakt tot een schamele 10%-winst. 6/5.3.5 Tot slot Op OES – Linux zijn verschillende bestandssystemen en verschillende file access-protocollen beschikbaar. Wat betreft file access is NCP op dit moment de snelst mogelijke manier om bestanden te benaderen, ongeacht het onderliggende besturingssysteem. Wat betreft de opslag van bestanden is het aan te raden goed te kijken naar wat precies nodig is. NSS biedt de meeste features, maar is juist door deze rijkheid aan features langzamer bij het aanmaken van nieuwe bestanden. ReiserFS kan dan een heel goede keuze zijn. Dit geldt onder andere voor Novell-services als GroupWise, iFolder en de meeste op AMP (Apache MySQL, PHP) gebaseerde services. Hoedt u voor ext3. Dit bestandssysteem is aanmerkelijk minder handig met het afhandelen van grote hoeveelheden kleine bestanden en heeft de neiging dan erg langzaam te worden. Om die reden is het gebruik van ext3 in alle gevallen af te raden.
6/5.3-8
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 1
Storage
6/5.4
Configureren van software RAID
De meeste mensen hebben bij software RAID niet direct het idee dat het om een zeer betrouwbare oplossing gaat. Immers, zo is het idee, als een RAID-oplossing op de hardware zelf aanwezig is, is dat toch altijd sneller. Bij een goed geconfigureerde software RAID hoeft dit echter geenszins het geval te zijn. Het voordeel van het werken met Open Enterprise Server Linux is dat u er de software om een RAID device te configureren gratis bij krijgt. Het is niet al te moeilijk een Linux-systeem in te richten voor software RAID en daarbij worden ook nog eens alle gangbare RAID-methodes ondersteund. In deze paragraaf leert u wat er bij komt kijken om een RAID 0, RAID 1 en RAID 5-oplossingen softwarematig op OES-Linux in te richten.
Overzicht technieken
6/5.4.1 Overzicht RAID-oplossingen Voordat we in het diepe duiken en daadwerkelijk met de verschillende software RAID-oplossingen aan het werk gaan, volgt hier eerst een overzicht van de beschikbare RAID-technieken: • RAID 0 (striping): Het doel van RAID 0 is om de beschikbare aaneengesloten schijfruimte te vergroten door meerdere schijven samen te vatten tot één groot logisch volume. Het voordeel waar het daarbij om gaat, is snelheidswinst. Van een toename van de mate van beveiliging, is bij RAID 0 geen enkele sprake. Omdat twee schijven als het ware aan elkaar worden geplakt en gegevens parallel over deze twee schijven worden weggeschreven, gaan alle gegevens onherroepelijk verloren als een van beide schijven de geest geeft. RAID 0 heeft daarom alleen maar zin als het wordt gebruikt in combinatie met een techniek die voor een hogere mate van beveiliging van de relevante gegevens zorgt.
Novell Netwerkoplossingen, aanvulling 19
6/5.4-1
deel 6_5-3-4
19-04-2006
14:33
Pagina 2
Novell Storage Services
•
•
•
•
6/5.4-2
RAID 1 (mirroring): Bij Disk Mirroring staat beveiliging van gegevens juist wél centraal. In een dergelijke configuratie wordt namelijk een tweede schijf gebruikt om een exacte kopie te maken van de gegevens op de eerste schijf. Deze exacte kopie wordt ook altijd meteen bijgewerkt. Heel erg veilig, maar u verliest er dus 50% van de beschikbare schijfruimte mee omdat alle gegevens ook integraal naar het tweede medium moeten worden weggeschreven. RAID 3 (striping met pariteit). RAID 3 is een techniek waarmee zowel snelheidswinst als beveiliging wordt nagestreefd. De gegevens worden in een RAID 3-configuratie altijd weggeschreven over meerdere schijven tegelijk (striping). Om er echter voor te zorgen dat gegevens kunnen worden hersteld als er iets misgaat, wordt ook gebruikgemaakt van pariteit. Dit betekent dat er voor elk bestand een checksum wordt aangemaakt. Gaat er nu een schijf verloren, dan kunnen de oorspronkelijke bestanden op basis van deze checksum weer eenvoudig worden hersteld. Het nadeel echter van RAID 3 is dat deze pariteitsgegevens worden weggeschreven op een schijf die speciaal voor dit doel is gereserveerd. RAID 5 (striping met gedistribueerde pariteit). RAID 5 is een uitbreiding op RAID 3. Het enige verschil tussen beide is dat bij RAID 3 de pariteit op één disk wordt geplaatst, terwijl bij RAID 5 de pariteit over meerdere schijven wordt verspreid. RAID 6 (striping met gedistribueerde pariteit). RAID 6 op zijn beurt is weer een uitbreiding op RAID 5. Bij RAID 6 worden twee schijven gebruikt voor pariteit en hiermee wordt de fouttolerantie vergroot; in een RAID 6-omgeving kunnen namelijk maximaal twee schijven verloren gaan zonder dat dat tot gegevensverlies leidt.
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 3
Storage
•
RAID 10 (mirrored stripe set). RAID 10 is een combinatie tussen RAID 1 en RAID 0. Hierbij worden mirroring en striping gecombineerd.
In de volgende tabel zijn alle gangbare RAID-oplossingen naast elkaar gezet. Level
Schijven
RAID 0 RAID 1 RAID 3 RAID 5 RAID 6 RAID 10
minimaal 2 2 minimaal 3 minimaal 3 minimaal 4 minimaal 4
Betere performance ja nee ja ja ja ja
Betere fouttolerantie nee ja ja ja ja ja
Groter volume Ja nee ja ja ja ja
Kostenratio 1/1 2/1 n/n-1 n/n-1 n/n-2 2/1
Naast de hier genoemde RAID-oplossingen zijn er ook andere RAID-configuraties mogelijk. Deze RAID-configuraties echter worden niet vaak meer gebruikt; om die reden besteden we er hier verder geen aandacht aan. 6/5.4.2 Configureren van een RAID 0-oplossing U kunt op Linux elke hierboven beschreven RAID-oplossing aanmaken. In deze paragraaf leest u om te beginnen hoe u te werk gaat om een RAID 0-oplossing aan te maken. Dit stelt u in staat kennis te maken met alle ingrediënten die daarvoor nodig zijn. Ook krijgt u aanwijzingen hoe u te werk moet gaan om andere RAID-oplossingen te configureren. Om een RAID 0-oplossing te bouwen, volgt u de volgende procedure: 1. Gebruik de installatiemethode van uw distributie om ervoor te zorgen dat alle RAID-software is geïnstalleerd. 2. Om software RAID te kunnen installeren, hebt u devices nodig die even groot zijn en als elkaars mirror kunnen worden gebruikt. In de praktijk komt dit erop
Novell Netwerkoplossingen, aanvulling 19
6/5.4-3
deel 6_5-3-4
19-04-2006
14:33
Pagina 4
Novell Storage Services
3.
4.
5.
neer dat u minstens twee schijven in uw computer moet hebben. In testomgevingen kunt u echter ook werken met twee partities die op eenzelfde schijf voorkomen. In de rest van deze procedure gaan we ervan uit dat u een device /dev/sda5 en een device /dev/sdb5 ter beschikking hebt om de RAID-array te bouwen. Verzeker u ervan dat het partitietype van beide devices is ingesteld op Linux RAID als u de mogelijkheid wilt hebben van de devices te booten. Gebruik nu vanaf de opdrachtregel de opdracht mkraid /dev/md0 om het RAID-array aan te maken. Houd er rekening mee dat dit weliswaar een RAIDdevice aanmaakt, maar meer ook niet. U zult de rest dus allemaal zelf nog moeten doen. De totale configuratie van een RAID-array wordt opgeslagen in het bestand /etc/raidtab. Voor een RAID 0-array kan dit bestand de volgende inhoud hebben:
raiddev /dev/md0 raid-level 0 nr-raid-disks 2 persistent superblock 1 chunk-size 4 device /dev/sda5 raid-disk 0 device /dev/sda6 raid-disk 1
Met behulp van het voorgaande voorbeeldbestand hebt u een RAID 0-device geconfigureerd. De meeste regels in het voorbeeldbestand spreken waarschijnlijk voor zich; een aantal instellingen heeft echter toelichting nodig. De eer-
6/5.4-4
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 5
Storage
ste hiervan is de instelling Persistent superblock. Elk RAID-device heeft een superblock nodig. Net als op een normaal bestandssysteem wordt dit gebruikt om administratieve informatie over het bestandssysteem in weg te schrijven. Dit superblock kan persistent worden gemaakt of niet. Als u ervoor kiest te werken met een persistent superblock, betekent dit dat het superblock altijd op dezelfde plaats voorkomt, zelfs als er een verandering in de array is ontstaan doordat schijven tijdelijk niet meer toegankelijk zijn. De tweede parameter die in het voorbeeldbestand wordt gebruikt en wellicht toelichting nodig heeft, is de parameter chunk-size. Hiermee wordt de grootte van de stripe (de logische blokken die op het RAID-device worden gebruikt) gedefinieerd in kilobytes. Typisch wilt u deze logische blokgrootte een waarde tussen de 4 kB en 128 kB geven. De instelling hier zorgt ervoor dat een chunk-size van 4 kB wordt gebruikt. De grootte van de chunk-size die u gebruikt, is recht evenredig met de grootte van de block-size die u op uw harddisk gebruikt. Het is aan te raden de chunk-size tweemaal zo groot te maken als de block-size. 6/5.4.3 Configureren van een RAID 5-oplossing RAID 0 en 1 zijn aardig, maar voor het echt serieuze werk niet voldoende. Nog steeds de meest gebruikte RAIDoplossing is RAID 5. Uiteraard kunt u deze oplossing ook aanmaken door het RAID-configuratiebestand /etc/raidtab te bewerken. In deze paragraaf laten wij echter zien hoe u met behulp van SuSE’s configuratieprogramma YaST een softwarematige RAID 5-array kunt maken. Aan het eind van deze paragraaf ziet u welk configuratiebestand dat oplevert, zodat u er altijd nog voor kunt kiezen zelf handmatig een RAID 5-configuratie in elkaar te zetten. We gaan er in deze procedure van uit dat u drie even grote partities ter beschikking hebt om het RAID-array te maken. Tevens
Novell Netwerkoplossingen, aanvulling 19
6/5.4-5
deel 6_5-3-4
19-04-2006
14:33
Pagina 6
Novell Storage Services
gaan we ervan uit dat de RAID-software reeds op uw systeem is geïnstalleerd. Tip
U hebt geen drie schijven in uw computer zitten, gebruik dan VMware of andere virtualisatiesoftware: dan is het helemaal niet nodig dat de schijven ook daadwerkelijk fysiek aanwezig zijn. 1.
2.
Start YaST en selecteer System > Partitioner. Klik in de waarschuwing dat dit programma alleen voor experts is op Yes om verder te gaan. Maak op elk van de schijven die u aan het RAID 5array toe wilt wijzen een partitie aan. Maak deze partities bij voorkeur van gelijke grootte.
Vanuit de YaST-partitioner zorgt u ervoor dat op elke schijf die u aan het RAID-array toe wilt wijzen een partitie wordt aangemaakt.
6/5.4-6
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 7
Storage
3.
4.
Specificeer voor elk van de partities die u aanmaakt dat u deze niet wenst te formatteren en maak ze van het filesystem type 0xFD Linux RAID. Klik nu op de uitschuifknop RAID en selecteer hier de optie Create RAID. Geef in het eerste scherm van de RAID-wizard aan dat u een RAID 5-device wilt aanmaken. Klik dan op Next om verder te gaan.
Vanuit YaST hebt u in een handomdraai een RAID 5-array gemaakt.
5.
Nu ziet u een overzicht van alle partities die u zojuist hebt aangemaakt met het partitietype Linux RAID. Selecteer achtereenvolgens elk van deze partities en klik dan op Add om ze stuk voor stuk aan het array toe te voegen. Als resultaat ziet u dat ze allemaal aan het nieuw aan te maken RAID-device /dev/md0
Novell Netwerkoplossingen, aanvulling 19
6/5.4-7
deel 6_5-3-4
19-04-2006
14:33
Pagina 8
Novell Storage Services
worden toegevoegd. Klik dan op Next om verder te gaan.
Om een partitie aan een RAID-device toe te kunnen voegen, moet deze partitie als Linux RAID zijn gemarkeerd.
6.
6/5.4-8
Nu ziet u het scherm waarin u de algemene eigenschappen van het RAID 5-device kunt specificeren. Geef de volgende opties een waarde: • Format: specificeer hier het type bestandssysteem dat u wilt gebruiken. Kies bij voorkeur een journaling filesystem-type zoals Reiser, ext3 of XFS. • Chunk-size in kB: hiermee geeft u aan hoe groot de logische blokken op het RAID-device moeten worden. Voor RAID 5 is 128 kB een goede waarde.
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 9
Storage
• Parity algorithm: op een RAID 5-array moet u aangeven welk algoritme u wilt gebruiken voor pariteit. Kies hier left-symmetric, tenzij u een heel duidelijke reden hebt om dit niet te doen. Left symmetric geeft namelijk de beste prestaties op een array dat gebruikmaakt van roterende schijven. • Persistent superblock: zet deze optie altijd aan. Alleen als oudere RAID-software wordt gebruikt die hiermee niet compatibel is, maakt u van deze optie geen gebruik, maar normaliter wilt u hier altijd gebruik van maken. Om te kunnen booten van een RAID-array is deze optie zelfs verplicht. • Fstab options: als speciale opties nodig zijn in fstab om het RAID-device op de juiste wijze te mounten, kunt u deze hier specificeren. • Mount point: hiermee specificeert u op welke directory het RAID-device uiteindelijk moet worden gemount. Nadat u elke relevante optie een waarde hebt gegeven, klikt u op Finish om het RAID-array aan te maken.
Novell Netwerkoplossingen, aanvulling 19
6/5.4-9
deel 6_5-3-4
19-04-2006
14:33
Pagina 10
Novell Storage Services
Belangrijke opties bij het aanmaken van een RAID 5-array zijn de chunk-size en het pariteitsalgoritme.
Nadat u op Finish hebt geklikt, wordt het RAID-device aangemaakt. U ziet het device ook direct in YaST verschijnen. Klik nu op Apply en dan op Finish om de wijzigingen weg te schrijven. Uw schijven worden nu geformatteerd volgens uw specificaties, het RAID-device wordt aangemaakt en ook meteen gemount.
Handmatig
6/5.4-10
Mocht u nu geen SuSE Linux bij de hand hebben, dan is er geen man overboord. U kunt namelijk ook heel goed handmatig een RAID-device aanmaken door het bijbehorende configuratiebestand /etc/raidtab te bewerken. Vanaf de commandoregel voert u de voorgaande procedure als volgt uit:
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 11
Storage
1.
2. 3.
Maak op elke schijf die u aan het RAID-array wilt toewijzen een partitie en geef deze het partitietype Linux RAID. Geef de opdracht mkraid /dev/md0 om het RAID device aan te maken. Na het aanmaken van het RAID-device, moet u er schijven aan toewijzen. Maak hiervoor een bestand aan met de naam /etc/raidtab en geef dit bestand de volgende inhoud:
raiddev /dev/md0 raid-level
5
nr-raid-disks
3
nr-spare-disks
0
persistent-superblock
1
parity-algorithm left-symmetric chunk-size
128
device /dev/sdc1 raid-disk 0 device /dev/sdd1 raid-disk 1 device /dev/sde1 raid-disk 2
4.
Als laatste stap moet u /etc/fstab aanpassen zodat het RAID-device ook automatisch ergens wordt geactiveerd. Neem bijvoorbeeld de volgende regel op in fstab om ervoor te zorgen dat uw RAID-device automatisch wordt geactiveerd op de directory /data:
/dev/md0
/data
reiserfs
acl,user_xattr 1 2
Novell Netwerkoplossingen, aanvulling 19
6/5.4-11
deel 6_5-3-4
19-04-2006
14:33
Pagina 12
Novell Storage Services
6/5.4.4 Het RAID-device testen Aardig natuurlijk dat u nu een RAID-device hebt, maar u wilt vast ook weten of het werkt. Dit kunt u doen door gebruik te maken van de opdracht mdadm. Daarnaast wordt in het bestand /proc/mdstat een overzicht bijgehouden van alle RAID-devices die op dat moment actief zijn: een zeer handige manier om snel te kijken wat de status is van uw RAID-array. U kunt met mdadm een aantal handige commando’s uitvoeren op uw RAID-array. Hierna vindt u een overzicht van de meest gangbare opdrachten: • mdadm /dev/md0 --fail /dev/sde1 --remove /dev/sde1: hiermee test u of het array doordraait wanneer er een schijf uitvalt. • mdadm --query /dev/sde1: vraagt de huidige status op van het device sde1. • mdadm –examine /dev/sde1: vraagt gedetailleerde status op van het gespecificeerde device. • mdadm –S /dev/md0: stopt het gespecificeerde RAID-device. Naast deze mogelijkheden biedt mdadm er nog veel meer. Het valt buiten de opzet van dit hoofdstuk om al deze mogelijkheden te behandelen: raadpleeg de man-pagina voor meer informatie. 6/5.4.5
Een versleuteld bestandssystemen aanmaken op het RAID-device U kunt natuurlijk een normaal bestandssysteem aanmaken op het RAID-device dat u zojuist hebt gemaakt. SuSE Linux staat het u echter ook toe te werken met versleutelde bestandssystemen. U leert in het volgende hoe u zo’n bestandssysteem aanmaakt op het net verworven RAIDdevice. Net als elk ander besturingssysteem bieden verschillende Linux-bestandssystemen de mogelijkheid encryptie toe te passen. Dit kan op basis van individuele
6/5.4-12
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 13
Storage
bestanden, maar dan is het niet een taak van het bestandssysteem, maar van de applicatie waarmee u het bestand aanmaakt. Het alternatief – versleutelde bestandssystemen waarbij het hele bestandssysteem wordt versleuteld – is daarom een veel betere optie. Om een versleuteld bestandssysteem te maken, moet een eenvoudige procedure worden doorlopen: • Er moet een kernel module geladen worden. • Een partitie moet via het loop-device benaderbaar worden gemaakt. • Er moet een bestandssysteem boven op het versleutelde device worden gemaakt. • Het versleutelde device met het daarop liggende bestandssysteem moet worden gemount. Voordat u nu enthousiast aan het werk gaat om overal versleutelde bestandssystemen aan te maken, is enige reflectie wel op zijn plaats: een versleuteld bestandssysteem biedt weliswaar een betere beveiliging voor bestanden, maar aan de andere kant moeten alle bestanden op het versleutelde device versleuteld worden opgeslagen. Hier gaat aanzienlijk meer tijd mee gemoeid. Het werken met een versleuteld device is dus aan te raden voor kleine hoeveelheden bestanden waarvoor u in hoge mate beveiliging toe wilt passen – wij raden u echter aan er spaarzaam mee te zijn. De procedure hierna beschrijft wat er bij komt kijken om een versleuteld bestandssysteem te maken. 1. Zorg ervoor dat de kernel-module cryptoloop beschikbaar is. Dit doet u met behulp van de opdracht modprobe cryptoloop. 2. Nu moet u een loop-device aanmaken. Bij het aanmaken van dat loop-device dient u aan te geven dat het een versleuteld loop-device moet zijn. U doet dit
Novell Netwerkoplossingen, aanvulling 19
6/5.4-13
deel 6_5-3-4
19-04-2006
14:33
Pagina 14
Novell Storage Services
met behulp van de optie –e en door vervolgens te verwijzen naar het versleutelingsalgoritme dat u wilt gebruiken. Om bijvoorbeeld de partitie /dev/md0 toe te wijzen aan het versleutelde loop-device, gebruikt u de volgende opdracht: losetup –e twofish256 /dev/loop0 /dev/md0
3.
Tip
Wij zijn ervan overtuigd dat ReiserFS een van de betere bestandssystemen is die momenteel voor Linux beschikbaar zijn. Daar mag u natuurlijk anders over denken – als u liever werkt met ext3 of XFS bijvoorbeeld, kunt u ook gerust dit type bestandssysteem op uw crypto-device aanmaken. 4.
6/5.4-14
Als u dit commando hebt gegeven, wordt gevraagd een wachtwoord in te geven. Let op: dit wachtwoord wordt bijzonder serieus genomen, want het moet maar liefst 20 tekens of langer zijn! Maak nu een bestandssysteem aan op het versleutelde device. Gebruik hiervoor de opdracht mkreiserfs /dev/loop0.
Nadat het crypto-device is aangemaakt, moet het worden gemount. Om dit te kunnen doen, moet echter eerst het loop-device beschikbaar worden gemaakt. Als u direct na het aanmaken van het loopdevice en het bestandssysteem daarop het bestandssysteem wilt mounten, is dat niet zo’n heel groot probleem. Als u echter na een herstart weer met het device wilt werken, moet u eerst de opdrachten die hierboven in stap 1 en 2 zijn beschreven, uitvoeren. Als dat is gebeurd, geeft u de opdracht mount /dev/loop /ergens om het loopdevice op een direc-
Novell Netwerkoplossingen, aanvulling 19
deel 6_5-3-4
19-04-2006
14:33
Pagina 15
Storage
5.
tory (/ergens in dit voorbeeld) beschikbaar te stellen. Ontkoppel het versleutelde bestandssysteem weer met de opdracht losetup –d /dev/loop0.
U hebt nu een versleuteld device aangemaakt. De beveiliging zit hem erin dat, om het device te kunnen mounten, een wachtwoord moet worden ingevoerd. Dit gebeurt eigenlijk specifiek wanneer het loop-device aan het fysieke device wordt verbonden. Als het device eenmaal is gemount, heeft iedereen die rechten heeft op het device er gewoon toegang toe en is er dus geen beperking meer. Wij raden u aan om voor het werken met encrypted file systems gebruik te maken van de configuratieprogrammatuur die uw distributie u te bieden heeft: dit zorgt ervoor dat het mounten van het device ook op de juiste wijze wordt geïntegreerd in de opstartprocedure van uw computer. Als dit niet gebeurt, moet u er handmatig zorg voor dragen en dat is redelijk lastig.
Novell Netwerkoplossingen, aanvulling 19
6/5.4-15
deel 6_5-3-4
19-04-2006
14:33
Pagina 16
Novell Storage Services
6/5.4-16
Novell Netwerkoplossingen, aanvulling 19
deel 6_5_5-AV25.qxp:deel 7_6-AV20
03-10-2007
14:03
Pagina 1
Strorage
6/5.5
Dynamic Storage in Open Enterprise Server 2
De hoeveelheden gegevens waarmee in moderne datacentra gewerkt wordt, worden met de dag groter. Van deze massa data is echter maar een klein deel relevant. Het overgrote deel staat gewoon op schijf zonder dat het daar echt nodig is. Dit vormt een probleem: het kost namelijk schijfruimte en daarbij zorgt het er ook nog voor dat de tijd die nodig is om een back-up te draaien, onacceptabel lang wordt. Dynamic Storage in Open Enterprise Server 2 biedt een oplossing. De essentie van Dynamic Storage is het onderscheid tussen essentiële gegevens en minder essentiële gegevens. Voor elk type gegevens wordt een aparte partitie aangemaakt. Hierbij zitten belangrijke gegevens (de actieve data) op partitie 1 en de inactieve data, die slechts af en toe nodig zijn, op partitie 2. Dit onderscheid speelt een rol op het niveau van de organisatie van het bestandssysteem, maar de eindgebruiker ziet er niets van: voor de eindgebruiker is er één virtueel bestandssysteem. Concreet betekent dit dat de eindgebruiker nog steeds vanuit zijn verkenner een bestandsstructuur ziet. De essentie van Dynamic Storage is dus dat er twee partities gemaakt worden. De ene partitie staat op een snel medium en zorgt ervoor dat veelgebruikte data zo snel mogelijk getoond worden. De andere partitie (het zogenaamde shadow volume) staat op een langzaam medium. Daarnaast is er een policy die bepaalt welke gegevens waar naartoe gaan. Deze policy zorgt dat minder actieve data naar het shadow volume verplaatst worden. Dankzij de Dynamic Storage-technologie wordt er één virtueel filesysteem getoond aan de gebruiker.
Novell Netwerkoplossingen, aanvulling 25
6/5.5-1
deel 6_5_5-AV25.qxp:deel 7_6-AV20
03-10-2007
14:03
Pagina 2
Novell Storage Services
Componenten
Architectuur Bij Dynamic Storage wordt gebruikgemaakt van vier verschillende componenten: • De NCP Engine zorgt ervoor dat eindgebruikers die gebruikmaken van de Novell Client één virtuele tree zien. Ook zorgt deze engine ervoor dat gegevens verplaatst worden van actieve naar minder actieve volumes. • ShadowFS is de component die ook lokaal op de machine zelf één mountpoint aanbiedt. Dit is essentieel voor lokale services die toegang nodig hebben tot de bestanden. Daarnaast wordt deze service ook aangesproken door alle gebruikers die door middel van CIFS naar binnen willen. • De Policy Engine definieert onder welke omstandigheden een bestand gemigreerd moet worden. • De managementtools zorgen ervoor dat de gebruiker vanuit Remote Manager de Dynamic Storage-omgeving kan beheren. Laten we eens kijken hoe het werkt aan de hand van een voorbeeld. Stel dat u een bestand aangemaakt hebt met de naam ‘artikelen’. Dit bestand staat in een nieuwe directory met de naam ‘data’. Op het moment dat u deze directory aanmaakt, wordt deze automatisch aangemaakt op zowel de primaire als de shadow-partitie. Omdat het een recent bestand betreft, wordt het bestand zelf op de primaire partitie gezet; de directory op de shadow-partitie blijft voorlopig leeg. Zolang u het bestand ‘artikelen’ regelmatig blijft benaderen, blijft het bestand op de primaire partitie staan. Op het moment dat u er gedurende langere tijd niet aankomt, wordt het automatisch verplaatst naar het shadow-volume. Wanneer dit gebeurt, is afhankelijk van de instellingen die u hiervoor gedaan hebt in de policy engine. Het aardige is dat de eindgebruiker zelf er hele-
6/5.5-2
Novell Netwerkoplossingen, aanvulling 25
deel 6_5_5-AV25.qxp:deel 7_6-AV20
03-10-2007
14:03
Pagina 3
Strorage
maal niets van zal merken als het bestand heen en weer verplaatst wordt tussen de primaire en de shadow-partitie. Omdat de gebruiker tegen de NCP-engine aanpraat, ziet hij alleen maar een directorystructuur. Aan het werk Genoeg theorie, laten we eens kijken hoe u nu precies Dynamic Storage moet organiseren. Dynamic storage is gebaseerd op NSS, dus in het volgende voorbeeld gaan we er van uit dat u twee NSS volumes hebt. Een van de volumes heeft de naam USER; het andere volume wordt benaderd onder de naam ARCHIVE. Om deze demo te kunnen volgen zorgt u ervoor dat deze volumes in iManager of NSSMU aangemaakt zijn. Plaats vervolgens een paar bestanden op het volume USER; er mag niets op het volume ARCHIVE gezet worden. 1. Start Remote Manager (https://uwserver:8009) en log in als gebruiker root (niet als admin dus!). 2. Klik op de link View File System > Volume Inventory. U ziet nu een lijst van alle volumes die op uw server bestaan. 3. Selecteer het USER-volume en klik hier op File Type Profiles. 4. U ziet nu een overzicht met een inventaris van de verschillende typen bestanden die op het volume zijn aangemaakt. Als u bijvoorbeeld een aantal bestanden met de extensie XML hebt, zult u dat in een staafdiagram zien. Klik op dit staafdiagram om details over deze bestanden te bekijken. U ziet dat op dit moment de bestanden op het volume USER staan.
Novell Netwerkoplossingen, aanvulling 25
6/5.5-3
deel 6_5_5-AV25.qxp:deel 7_6-AV20
03-10-2007
14:03
Pagina 4
Novell Storage Services
U ziet een overzicht van de verschillende soorten bestanden die geïnstalleerd zijn in een staafdiagram.
5.
6.
6/5.5-4
Herhaal deze procedure voor het volume ARCHIVE. U ziet dat hier geen bestanden op voorkomen en dat is ook logisch, want er bestaat geen relatie tussen beide volumes op dit moment. Selecteer nu in Remote Manager de optie View File Systems > Dynamic Storage Technology Options. U ziet een lijst van alle volumes, met naast deze lijst de kolom Shadow Status. Klik naast het volume USER op Add Shadow om de procedure te starten waarmee u een shadow-volume toevoegt.
Novell Netwerkoplossingen, aanvulling 25
deel 6_5_5-AV25.qxp:deel 7_6-AV20
03-10-2007
14:03
Pagina 5
Strorage
Klik op Add Shadow om een shadow-volume toe te voegen.
7.
Klik nu op de knop Add Shadow Volume en voer het pad in dat verwijst naar het volume dat u wilt toevoegen. Zorg ervoor dat de checkbox Create if not present geselecteerd is en klik dan op Create om het shadow-volume aan te maken. U komt nu terug in het overzicht van het volume USER, met daarin een verwijzing naar het pad op de server waar u het shadow-volume terug kunt vinden.
Novell Netwerkoplossingen, aanvulling 25
6/5.5-5
deel 6_5_5-AV25.qxp:deel 7_6-AV20
03-10-2007
14:03
Pagina 6
Novell Storage Services
In de eigenschappen van het volume USER ziet u dat het shadow-volume toegevoegd is.
8.
6/5.5-6
Kies nu in Remote Manager de optie Dynamic Storage Technology Options en klik op Create a new policy. U ziet in het policy-venster dat u precies kunt aangeven wanneer bestanden verplaatst moeten worden. Selecteer de optie Execute now en vul de volgende informatie in (let even op het bestandstype dat u selecteert, dit moet uiteraard wel een bestaand bestandstype zijn). Klik tot slot op Submit om de gemarkeerde bestanden naar het shadow-volume te verplaatsen: Path: /media/nss/ Search Pattern: *.xml
Novell Netwerkoplossingen, aanvulling 25
deel 6_5_5-AV25.qxp:deel 7_6-AV20
03-10-2007
14:03
Pagina 7
Strorage
In het policy builder-venster geeft u aan welke bestanden u onder handen wilt nemen.
9.
Herhaal nu de procedure die u in stap 4 en 5 hebt uitgevoerd om te kijken hoeveel bestanden er van welk type per volume zijn aangemaakt. U zult nu zien dat de gemarkeerde bestanden naar het volume ARCHIVE verplaatst zijn. 10. Maak nu als gebruiker verbinding met het volume USER. U zult zien dat u er niets van merkt dat bestanden naar het ARCHIVE-volume verplaatst zijn.
Novell Netwerkoplossingen, aanvulling 25
6/5.5-7
deel 6_5_5-AV25.qxp:deel 7_6-AV20
03-10-2007
14:03
Pagina 8
Novell Storage Services
6/5.5-8
Novell Netwerkoplossingen, aanvulling 25