diff --git a/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml index 5a0f509502..e7410970c0 100644 --- a/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml @@ -1,1304 +1,1425 @@ Chrisptophe Juliet Bijgedragen door + + René Ladan Vertaald door Bureaubladapplicaties - + Samenvatting - &os; kan een groot aantal bureaubladapplicaties draaien, zoals - browsers en tekstverwerkers. De meeste hiervan zijn beschikbaar - als packages of kunnen automatisch vanuit de ports collectie - gebouwd worden. Vele nieuwe gebruikers verwachten dit soort - applicaties op hun bureaublad. Dit hoofdstuk laat zien hoe je - enige populaire bureaubladapplicaties moeiteloos installeert, - vanuit hun packages of vanuit de ports collectie. - - Merk op dat wanneer programma's vanuit de ports - geïnstalleerd worden, ze vanuit hun broncode gecompileerd - worden. Dit kan erg lang duren, afhankelijk van wat je aan het - compileren bent en de rekenkracht van jouw machine(s). Als - compileren vanuit broncode voor jou een te lange tijd in beslag - neemt, kan je de meeste programma's van de ports collectie als - een voorafgebouwd package installeren. - - Omdat &os; &linux; compatibiliteit bezit, zijn veel - applicaties die origineel voor &linux; zijn ontwikkeld beschikbaar - voor jouw bureaublad. Het is sterk aanbevolen dat je - leest voordat je een van de &linux; - applicaties installeert. Vele ports die gebruik maken van de - &linux; compatibiliteit beginnen met linux-. - Onthoud dit wanneer je een bepaalde port zoekt, bijvoorbeeld met - &man.whereis.1;. In de volgende tekst wordt er vanuit gegaan dat - je &linux; binaire compatibiliteit aan hebt staan voordat je een - van de &linux; applicaties installeert. - - Hier zijn de categoriën die behandeld worden in dit - hoofdstuk: + &os; kan een groot aantal bureaubladapplicaties draaien, + zoals browsers en tekstverwerkers. De meeste hiervan zijn + beschikbaar als packages of kunnen automatisch vanuit de + portscollectie gebouwd worden. Veel nieuwe gebruikers + verwachten dit soort applicaties op hun bureaublad. Dit + hoofdstuk laat zien hoe populaire bureaubladapplicaties + moeiteloos geïnstalleerd kunnen worden vanuit een package + of vanuit de portscollectie. + + Als programma's vanuit ports geïnstalleerd worden, wordt + hun broncode gecompileerd. Dit kan erg lang duren, afhankelijk + van wat er gecompileerd wordt en de rekenkracht van een machine. + Als compileren vanuit broncode te veel tijd kost, kunnen de + meeste programma's van de portscollectie als een voorafgebouwd + package geïnstalleerd worden. + + Omdat &os; compatibel is met &linux;, zijn veel applicaties + die voor &linux; zijn ontwikkeld beschikbaar een &os; bureaublad. + Het wordt sterk aanbevolen om te lezen + voordat &linux; applicaties geïnstalleerd worden. Veel + ports die gebruik maken van &linux; compatibiliteit beginnen met + linux-. Dit is handig om te onthouden wanneer er + naar een port gezocht wordt met bijvoorbeeld &man.whereis.1;. + In dit hoofdstuk wordt aangenomen dat &linux; binaire + compatibiliteit is ingeschakeld voordat &linux; applicaties + worden geïnstalleerd. + + In dit hoofdstuk worden de volgende categoriën + behandeld: Browsers (zoals Mozilla, &netscape;, Opera, Firefox, Konqueror) Productiviteit (zoals KOffice, AbiWord, The GIMP, OpenOffice.org) Documentviewers (zoals &acrobat.reader;, gv, Xpdf, GQview) Financieel (zoals GnuCash, Gnumeric, Abacus) - Voordat je dit hoofdstuk leest, moet je: + Er wordt aangenomen dat de lezer van dit hoofdstuk: - Weten hoe je aanvullende software van derde partijen - installeert (). + Weet hoe aanvullende software van derde partijen + geïnstalleerd wordt (). - Weten hoe je aanvullende &linux; software installeert - (). + Weet hoe aanvullende &linux; software geïnstalleerd + wordt (). - Voor meer informatie over hoe een multimedia-omgeving te - verkrijgen, lees . Als je - elektronische mail wilt installeren en gebruiken, lees dan - . + Meer informatie over een multimedia-omgeving staat in + . Installatie van e-mail staat + beschreven in . Browsers - &os; wordt zonder een bepaalde voor-geïnstalleerde - browser geleverd. In plaats hiervan bevat de - www directory van - de ports collectie vele browsers klaar om geïnstalleerd te - worden. Als je niet de tijd hebt om alles te compileren (dit kan - in enkele erg lang duren), zijn velen van hen beschikbaar als - package. + &os; wordt zonder een voor-geïnstalleerde browser + geleverd. In plaats hiervan bevat de + www map van de + portscollectie browsers om te installeren. Het is ook mogelijk + voor de meeste ports een package te installeren als compileren + niet gewenst is. Compileren kan soms lang duren. KDE en GNOME bevatten reeds HTML-browsers. - Lees voor meer informatie over hoe deze - complete bureaubladen te installeren. + In staat meer informatie over de + installatie van deze complete bureaubladen. - Als je op zoek bent naar lichtgewicht browsers, moet je de - ports collectie onderzoeken op - www/dillo, - www/links, of - www/w3m. + Lichtgewicht browsers uit de portscollectie zijn onder andere + www/dillo, + www/links of + www/w3m. Dit gedeelte behandelt deze applicaties: - Applicatienaam - Benodigde bronnen - Installatie vanuit ports - Belangrijkste afhankelijkheden + Applicatie + + Bronnen + + Ports + + Afhankelijkheden Mozilla + veel + zwaar + Gtk+ &netscape; + veel + licht + &linux; binaire compatibiliteit Opera + weinig + licht + &os; en &linux; versies beschikbaar. De &linux; versie is afhankelijk van de &linux; binaire compatibiliteit en linux-openmotif. Firefox + gemiddeld + zwaar + Gtk+ Konqueror + gemiddeld + zwaar + KDE bibliotheken Mozilla - - Mozilla - + + Mozilla Mozilla is misschien wel de - meest geschikte browser voor je &os; bureaublad. Het is - modern, stabiel en volledig overgedragen naar &os;. Het bevat - een zeer aan standaards voldoende HTML-weergave element. Het - levert een mail- en nieuwslezer. Het bevat zelfs een - HTML-bewerker als je van plan bent om zelf wat webpagina's te - schrijven. Gebruikers van &netscape; - zullen de gelijkheden met Communicator - herkennen, aangezien beide browsers dezelfde basis delen. + meest geschikte browser voor &os;. Het is modern, stabiel en + volledig geschikt naar &os;. Het bevat een zeer aan de + standaarden voldoend HTML-weergave element. Het levert een + mail- en nieuwslezer. Het bevat zelfs een HTML-bewerker voor + het maken van webpagina's. Mozilla + deelt dezelfde broncodebasis met + &netscape; + Communicator. Op langzame machines, met een CPU-snelheid van 233MHz of minder dan 64MB aan RAM, kan Mozilla - te bronconsumerend zijn om volledig bruikbaar te zijn. Je kan - dan naar de Opera browser kijken, - iets later in dit hoofdstuk beschreven. + te veeleisend zijn om volledig bruikbaar te zijn. In dat + geval is Opera browser een mogelijke + vervanger. - Als je Mozilla om enige reden - niet kan of wilt compileren, heeft het &os; GNOME team dit al - voor je gedaan. Installeer gewoon het package vanaf het netwerk - door middel van: + Het is niet wenselijk is om + Mozilla te compileren, dan is dit al + door het &os; GNOME team gedaan. Het package kan + geïnstalleerd worden met: &prompt.root; pkg_add -r mozilla - Als het package niet beschikbaar is, en je genoeg tijd en - schijfruimte hebt, kun je de broncode van - Mozilla verkrijgen, compileren en - installeren op je systeem. Dit wordt gedaan door: + Als het package niet beschikbaar is en er genoeg tijd en + schijfruimte schikbaar zijn, kan de broncode van + Mozilla gedownload, gecompileerd en + geïnstalleerd worden. Dit gaat met: &prompt.root; cd /usr/ports/www/mozilla &prompt.root; make install clean De Mozilla port zorgt voor een - juiste initialisatie door het chrome registry setup met - root rechten te draaien. Echter, als je wat - add-ons zoals muisgebaren wilt ophalen, moet je - Mozilla als root - draaien om ze op de goede manier geïnstalleerd te - krijgen. - - Als je eenmaal de installatie van - Mozilla voltooid hebt, hoef je niet - langer root te zijn. Je kan - Mozilla als browser opstarten door - te typen: + correcte installatie door de + chrome registry setup met + root rechten te draaien. Als echter ook + toevoegingen zoals muisgebaren geïnstalleerd moeten worden, + dan moet Mozilla als + root gedraaid worden om dat op de juiste + wijze geïnstalleerd te krijgen. + + Als de installatie van Mozilla + eenmaal voltooid is, is root zijn niet + langer nodig. Mozilla kan als + browser gestart worden met: &prompt.user; mozilla - Je kan het als volgt direct als mail- en nieuwslezer - opstarten: + Het kan direct als mailprogramma of nieuwslezer gestart + worden met: &prompt.user; mozilla -mail Tom Rhodes Bijgedragen door - + Mozilla, &java;, en ¯omedia; &flash; - Mozilla installeren is eenvoudig, - maar helaas neemt Mozilla installeren - met ondersteuning voor add-ons zoals &java; en ¯omedia; - &flash; zowel tijd als schijfruimte in beslag. + Mozilla installeren is + eenvoudig, maar helaas neemt Mozilla + installeren met ondersteuning voor add-ons zoals &java; en + ¯omedia; &flash; zowel tijd als schijfruimte in + beslag. Als eerste moeten de bestanden gedownload worden die - gebruikt zullen worden met Mozilla. - Ga met je huidige webbrowser naar - - en maak een account aan op hun website. Denk eraan om - vanaf hier de gebruikersnaam en het wachtwoord te bewaren omdat - ze in de toekomst nodig kunnen zijn. Download een kopie van het - bestand j2sdk-1_3_1-src.tar.gz en plaats - dit in /usr/ports/distfiles/ omdat de port - het niet automatisch zal ophalen. Dit komt door - licentiebeperkingen. Download de java environment - terwijl we hier zijn vanaf - - . De bestandsnaam is - j2sdk-1_3_1_08-linux-i586.bin en is - groot (rond de 25 megabytes!). Net als eerst moet dit bestand in - /usr/ports/distfiles/ worden geplaatst. - Download tenslotte een kopie van de java patchkit - vanaf - en plaats het in - /usr/ports/distfiles/. - - Installeer de java/jdk13 - port met het standaard make install clean en - installeer vervolgens de - www/flashpluginwrapper port. - Deze port benodigt - emulators/linux_base welke - een grote port is. Het is waar dat er andere - &flash; plug-ins bestaan, maar die - werkten niet bij mij. + gebruikt worden met Mozilla. Op + + kan een account aangemaakt worden. De gebruikersnaam en het + moeten bewaard worden omdat het in de toekomst nog nodig kan + zijn. Daarna dient j2sdk-1_3_1-src.tar.gz + gedownload te worden en in + /usr/ports/distfiles/ geplaatst te worden + omdat de port het bestand niet automatisch kan ophalen. Dit + komt door licentiebeperkingen. Ook kan meteen de + java environment kan vanaf + + gedownload worden. De bestandsnaam is + j2sdk-1_3_1_08-linux-i586.bin en is + rond 25 megabyte groot. Ook dit bestand dient in + /usr/ports/distfiles/ te worden geplaatst. + Tenslotte dient de java patchkit van + + gedownload te worden en in + /usr/ports/distfiles/ gezet te + worden. + + Installeer de java/jdk13 port met make + install clean en installeer vervolgens de www/flashpluginwrapper port. Deze + is afhankelijk van emulators/linux_base wat een grote + port is. Er bestaan andere &flash; + plug-ins, maar werkten niet op het moment van schrijven. Installeer de www/mozilla port als - Mozilla niet reeds is + Mozilla niet al is geïnstalleerd. - Kopieer nu de &flash; plug-in- - bestanden met: + Kopieer de &flash; plug-in + met: &prompt.root; cp /usr/local/lib/flash/libflashplayer.so \ /usr/X11R6/lib/browser_plugins/libflashplayer_linux.so &prompt.root; cp /usr/local/lib/flash/ShockwaveFlash.class \ /usr/X11R6/lib/browser_plugins/ - Volg nu de volgende regels bovenin (maar meteen onder - #!/bin/sh) het opstartscript van - Mozilla toe: - /usr/X11R6/bin/mozilla. + Voeg de volgende regels bovenin (meteen onder + #!/bin/sh) aan het opstartscript van + Mozilla + /usr/X11R6/bin/mozilla toe: LD_PRELOAD=/usr/local/lib/libflashplayer.so.1 export LD_PRELOAD - Start nu Mozilla gewoon op met: - + Mozilla kan gestart worden + met: &prompt.user; mozilla & - En ga naar de About Plug-ins - optie van het Help menu. Een lijst met alle - huidig beschikbare plugins zou moeten verschijnen. + Ga naar de About Plug-ins + optie van het Help menu. Er verschijnt een + lijst met alle beschikbare plugins. &java; en - &shockwave; &flash; zouden beiden - in de lijst vermeld moeten staan. - + &shockwave; &flash; horen beiden + in de lijst te staan. - + &netscape; - - &netscape; - - De ports collectie bevat verschillende versies van de - &netscape; browser. Aangezien de eigenlijke &os; versies een - serieuze veiligheidsfout bezitten, is het installeren van dezen - sterk afgeraden. Gebruik in plaats hiervan een meer recente - &linux; of DIGITAL &unix; versie. + &netscape; + + De portscollectie bevat verschillende versies van de + &netscape; browser. Omdat in de &os; versie een serieuze + veiligheidsfout zit, wordt installatie sterk afgeraden ten + faveure van een meer recente &linux; of DIGITAL UNIX + versie. De laatste stabiele uitgave van de &netscape; browser is &netscape; 7. Deze kan geïnstalleerd worden vanaf de ports collectie: &prompt.root; cd /usr/ports/www/netscape7 &prompt.root; make install clean - Er zijn gelokaliseerde versies in de Franse, Duitse, en - Japanse categoriën. + Er zijn ook versies in de Franse, Duitse en Japanse + categoriën. - &netscape; 4.x versies zijn + &netscape; 4.x versies worden niet aangeraden omdat ze niet voldoen aan de hedendaagse standaarden. &netscape; 7.x en nieuwere versies zijn echter alleen beschikbaar voor het &i386; platform. - + Opera - - Opera - + + Opera Opera is een zeer snelle, - complete, en aan standaards voldoende browser. Het komt in twee - smaken: een eigenlijke &os; versie en een versie - die draait onder &linux; emulatie. Voor elk besturingssysteem - is er een kosteloze versie van de browser die reclame afbeeldt - en een reclameloze versie die gekocht kan worden op de - Opera website. + complete browser en voldoet aan standaarden. Hij komt in twee + smaken: een &os; versie en een versie die draait onder &linux; + emulatie. Voor elk besturingssysteem is er een gratis versie + van de browser (adware) en een reclameloze versie die gekocht + kan worden op de Opera website. - Om het web te verkennen met de &os; versie van - Opera, installeer je het package: + De &os; package versie van Opera + wordt zo geïnstalleerd: &prompt.root; pkg_add -r opera Sommige FTP-sites hebben niet alle packages, maar hetzelfde resultaat kan worden behaald met de ports collectie door te typen: &prompt.root; cd /usr/ports/www/opera> &prompt.root; make install clean - Om de &linux; versie van Opera - te installeren, typ je linux-operain plaats - van opera in bovenstaande voorbeelden. De - &linux; versie is nuttig in situaties waarin plugins nodig zijn - die alleen voor &linux; beschikbaar zijn, zoals + De &linux; versie van Opera + kan geïnstlleerd worden door bij de bovenstaande + voorbeelden linux-opera te gebruiken in + plaats van opera. De &linux; versie is + nuttig in situaties waarin plugins nodig zijn die alleen voor + &linux; beschikbaar zijn, zoals Adobe &acrobat.reader;. In alle andere opzichten lijken de &os; en &linux; versies identiek. - Firefox - - Firefox - + + Firefox Firefox is de browser voor de volgende generatie, gebaseerd op de codebase van Mozilla. Mozilla is een volledig pakket van applicaties, zoals een browser, een mailclient, een chatclient en nog veel meer. Firefox is gewoon - een browser, hetgeen het kleiner en sneller maakt. + een browser wat het kleiner en sneller maakt. - Installeer het package door te typen: + Het package is te installeren met: &prompt.root; pkg_add -r firefox - Je kan ook de ports collectie gebruiken als je prefereert om - vanuit broncode te compileren: + Via de portscollectie kan ook de broncode gecompileerd + worden: &prompt.root; cd /usr/ports/www/firefox &prompt.root; make install clean Konqueror - - Konqueror - + + Konqueror Konqueror is deel van KDE maar het kan ook buiten KDE gebruikt worden door - x11/kdebase3 te installeren. - Konqueror is veel meer dan een - browser, het is ook een bestandsbeheerder en een + x11/kdebase3 te + installeren. Konqueror is veel meer + dan een browser. Het is ook een bestandsbeheerder en een multimedia-viewer. Konqueror wordt ook met een verzameling plugins geleverd, beschikbaar in misc/konq-plugins. Konqueror ondersteunt ook - &flash; en een HOWTO is beschikbaar - op . + &flash; en er is meer informatie + beschikbaar op . Productiviteit Als het op productiviteit aankomt, zoeken nieuwe gebruikers vaak een goed kantoorpakket of een vriendelijke tekstverwerker. Hoewel sommige bureaubladomgevingen zoals KDE reeds een kantoorpakket verschaffen, is er geen standaardapplicatie. &os; verschaft alles - wat nodig is, ongeacht jouw bureaubladomgeving. + wat nodig is, ongeacht de bureaubladomgeving. Dit gedeelde behandelt deze applicaties: - Applicatienaam - Benodigde bronnen - Installatie vanuit ports - Belangrijkste afhankelijkheden + Applicatie + + Bronnen + + Ports + + Afhankelijkheden KOffice + weinig + zwaar + KDE AbiWord + weinig + licht + Gtk+ of GNOME The GIMP + weinig + licht + Gtk+ OpenOffice.org + veel + erg zwaar + GCC 3.1, &jdk; 1.3, Mozilla KOffice - - KOffice - + + KOffice + kantoorpakket + KOffice De KDE-gemeenschap heeft zijn bureaubladomgeving met een - kantoorpakket geleverd die buiten KDE - gebruikt kan worden. Het bevat de vier standaardcomponenten die - gevonden kunnen worden in andere kantoorpakketten. - KWord is de tekstverwerker, - KSpread is het spreadsheetprogramma, - KPresenter beheert diapresentaties, - en Kontour laat je grafische - documenten tekenen. - - Voordat je de nieuwste KOffice - installeert, moet je er zeker van zijn dat je een recente - versie van KDE hebt. - - Om KOffice als package te - installeren, gebruik je het volgende commando: + kantoorpakket geleverd dat buiten KDE + gebruikt kan worden. Het bevat de vier standaardcomponenten uit + andere kantoorpakketten. KWord is de + tekstverwerker, KSpread is het + spreadsheetprogramma, KPresenter + beheert diapresentaties, en Kontour + voorziet in grafische mogelijkheden. + + Voordat de nieuwste KOffice + wordt geïnstalleert, moet er een recente versie van + KDE geïnstalleerd zijn. + + KOffice als package installeren + gaat met het volgende commando: &prompt.root; pkg_add -r koffice - Als het package niet beschikbaar is, kan je de ports - collectie gebruiken. Om bijvoorbeeld - KOffice voor + Als het package niet beschikbaar is, kan de portscollectie + gebruiken worden. Om KOffice voor KDE3 te installeren: &prompt.root; cd /usr/ports/editors/koffice-kde3 &prompt.root; make install clean AbiWord - - AbiWord - + + AbiWord AbiWord is een vrij - tekstverwerkingsprogramma, ongeveer gelijk in uiterlijk en - gevoel als µsoft; Word. Het is - geschikt om verslagen, brieven, rapporten, memo's, enz. mee te - typen. Het is erg snel, bevat vele mogelijkheden, en is erg + tekstverwerkingsprogramma, ongeveer gelijk aandoet als + µsoft; Word. Het is geschikt + om verslagen, brieven, rapporten, memo's, enz. mee te typen. + Het is erg snel, bevat veel mogelijkheden en is erg gebruikersvriendelijk. - AbiWord kan vele bestandsformaten - in- of uitvoeren, waaronder enkele private zoals µsoft; - .doc. + AbiWord kan veel + bestandsformaten in- en uitvoeren, waaronder enkele formaten + zoals µsoft; .doc. AbiWord is beschikbaar als - package. Je kunt het installeren met: + package en te installeren met: - &prompt.root; pkg_add -r AbiWord-gnome + &prompt.root; pkg_add -r AbiWord2 Als het package niet beschikbaar is, kan het worden - gecompileerd vanuit de ports collectie. De ports collectie zou - meer recent moeten zijn. Het kan als volgt gedaan worden: + gecompileerd vanuit de ports collectie. De ports collectie is + meer recent. Dat kan als volgt: - &prompt.root; cd /usr/ports/editors/AbiWord + &prompt.root; cd /usr/ports/editors/AbiWord2 &prompt.root; make install clean The GIMP - - The GIMP - + + The GIMP Voor het bewerken of retoucheren van afbeeldingen is The GIMP een zeer geavanceerd - afbeeldingmanipulatieprogramma. Het kan als eenvoudig + afbeeldingenmanipulatieprogramma. Het kan als eenvoudig tekenprogramma worden gebruikt of als kwalititeitspakket voor het retoucheren van foto's. Het ondersteunt een groot aantal plugins en bevat een scripting interface. The GIMP kan een groot aantal - bestandsformaten lezen en schrijven. Het ondersteunt interfaces - met scanners en tabletten. + bestandsformaten lezen en schrijven. Het ondersteunt + interfaces met scanners en tabletten. - Je kunt het package installeren door middel van dit - commando: + Het pakket is te installeren als package met: &prompt.root; pkg_add -r gimp - Als jouw FTP-site dit package niet heeft, kun je de ports - collectie gebruiken. De - graphics - directory van de ports collectie bevat ook - The GIMP Manual. Hier volgt hoe ze - geïnstalleerd te krijgen: + Als een FTP-site dit package niet heeft, kan de + portscollectie gebruikt worden. De graphics map van + de portscollectie bevat ook + The GIMP Manual. Die kan zo + geïnstalleerd worden: - &prompt.root; cd /usr/ports/graphics/gimp1 + &prompt.root; cd /usr/ports/graphics/gimp &prompt.root; make install clean &prompt.root; cd /usr/ports/graphics/gimp-manual-pdf &prompt.root; make install clean - De graphics - directory van de ports collectie bevat de ontwikkelingsversie - van The GIMP in - graphics/gimp-devel. HTML - en &postscript; versies van - The GIMP Manual staan in - graphics/gimp-manual-html - en graphics/gimp-manual-ps. - + map van de portscollectie bevat de ontwikkelversie van + The GIMP in graphics/gimp-devel. Een HTML + versie van The GIMP Manual staan + in graphics/gimp-manual-html. OpenOffice.org - - OpenOffice.org - + + OpenOffice.org + kantoorpakket + OpenOffice.org OpenOffice.org bevat alle noodzakelijke applicaties in een compleet kantoorproductiviteitspakket: een tekstverwerker, - een spreadsheet, een presentatiebeheerder en een tekenprogramma. - Zijn gebruikersinterface is zeer gelijk aan andere - kantoorpakketten, en het kan verscheidene populaire + een spreadsheet, een presentatiebeheerder en een + tekenprogramma. De gebruikersinterface is vrijwel gelijk aan + die van andere kantoorpakketten en het kan veel populaire bestandsformaten in- en uitvoeren. Het is beschikbaar in een - aantal verschillende talen, waarin interfaces, - spellingcontroleurs, en woordenboeken. + aantal verschillende talen met interfaces, spellingcontrole en + woordenboeken. De tekstverwerker van - OpenOffice.org gebruikt een origineel - XML-bestandsformaat voor verhoogde overdraagbaarheid en - flexibiliteit. Het spreadsheetprogramma bevat een macrotaal en - kan gekoppeld worden aan externe databases. - OpenOffice.org is reeds stabiel en - draait zonder aanpassingen op &windows;, &solaris;, &linux;, - &os;, en &macos; X. Meer informatie over - OpenOffice.org kan gevonden worden op - de OpenOffice website - . Gebruik voor &os; specifieke informatie, en om direct - packages te downloaden de website van het - &os; OpenOffice - Porting Team. - - Om OpenOffice.org te installeren: - + OpenOffice.org gebruikt een eigen + XML-bestandsformaat voor overdraagbaarheid en flexibiliteit. + Het spreadsheetprogramma bevat een macrotaal en kan gekoppeld + worden aan externe databases. + OpenOffice.org is stabiel en draait + zonder aanpassingen op &windows;, &solaris;, &linux;, &os; en + &macos; X. Meer informatie over + OpenOffice.org staat op de OpenOffice website. + Voor specifieke &os; informatie en om direct packages te + downloaden is er de website van het &os; OpenOffice + Porting Team. + + Om OpenOffice.org te + installeren: &prompt.root; pkg_add -r openoffice - Als het package eenmaal geïnstalleerd is, moet je het - installatieprogramma draaien en een - kiezen. Draai - dit commando als de gebruiker die - OpenOffice.org zal gebruiken: + Als het package geïnstalleerd is, moet het + installatieprogramma gedraaid worden en gekozen worden voor + . Dit + programma dient uitgevoerd te worden door de gebruiker die + OpenOffice.org gaat + gebruiken: &prompt.user; openoffice-setup Als de OpenOffice.org packages - niet beschikbaar zijn, heb je nog steeds de mogelijkheid om de - port te compileren. Je moet echter in gedachten houden dat dit - een grote hoeveelheid schijfruimte en een aardig lange tijd - benodigt om te compileren. + niet beschikbaar zijn, kan het uit de ports gecompileerd + worden. Hiervoer is veel schijfruimte en tijd nodig: - &prompt.root; cd /usr/ports/editors/openoffice + &prompt.root; cd /usr/ports/editors/openoffice-1.1 &prompt.root; make install clean - Als dit eenmaal gedaan is, moet je het installatieprogramma - draaien als de gebruiker die - OpenOffice.org zal gebruiken en een - kiezen door: - - - &prompt.user; cd /usr/ports/editors/openoffice + Als de installatie klaar is, moet het installatieprogramma + gedraaid worden en gekozen worden voor . Dit programma dient + uitgevoerd te worden door de gebruiker die + OpenOffice.org gaat + gebruiken: + + &prompt.user; cd /usr/ports/editors/openoffice-1.1 &prompt.user; make install-user - Als je een gelokaliseerde versie wilt, hier zijn de - beschikbare ports: + Vertaalde versies zijn als de onderstaande ports + beschikbaar: + + Taal + Port - Arabisch - editors/openoffice-ar - + Catalaans + + editors/openoffice-1.1-ca + + + + Tsjechisch + + editors/openoffice-1.1-cs Deens - editors/openoffice-dk - + + editors/openoffice-1.1-dk + + + + Grieks + + editors/openoffice-1.1-gr Spaans - editors/openoffice-es - + + editors/openoffice-1.1-es - Grieks - editors/openoffice-gr - + Estlands + + editors/openoffice-1.1-et + + + + Fins + + editors/openoffice-1.1-fi - + Italiaans - editors/openoffice-it - + + editors/openoffice-1.1-it Nederlands - editors/openoffice-nl - + + editors/openoffice-1.1-nl Zweeds - editors/openoffice-se - + + editors/openoffice-1.1-se + + + + Slowaaks + + editors/openoffice-1.1-sk + + + + Sloveens + + editors/openoffice-1.1-sl_SI Turks - editors/openoffice-tr - + + editors/openoffice-1.1-tr + + + + Arabisch + + arabic/openoffice-1.1 + + + + Chinees (Vereenvoudigd) + + chinese/openoffice-1.1-zh_CN + + + + Chinees (Traditioneel) + + chinese/openoffice-1.1-zh_TW Frans - french/openoffice - + + french/openoffice-1.1 Duits - german/openoffice - + + german/openoffice-1.1 + + + + Hongaars + + hungarian/openoffice-1.1 Japans - japanese/openoffice - + + japanese/openoffice-1.1 Koreaans - korean/openoffice - + + korean/openoffice-1.1 Pools - polish/openoffice - + + polish/openoffice-1.1 + + + + Portugees (Braziliaans) + + portuguese/openoffice-1.1-pt_BR Portugees - portuguese/openoffice - + + portuguese/openoffice-1.1-pt_PT Russisch - russian/openoffice - + + russian/openoffice-1.1 Documentviewers - Enkele nieuwe documentformaten hebben recentelijk populariteit - gewonnen. Het kan zijn dat de standaardviewers die ze nodig hebben - niet in het basissysteem beschikbaar te zijn. We zullen in dit - gedeelte zien hoe ze te installeren. + Het kan zijn dat de standaardviewers voor een aantal + populaire bestandsformaten niet in het basissysteem zitten. In + dit gedeelte wordt aangegeven hoe die geïnstalleerd kunnen + worden. Dit gedeelte behandelt deze applicaties: - Applicatienaam - Benodigde bronnen - Installatie vanuit ports - Belangrijkste afhankelijkheden + Applicatie + + Bronnen + + Ports + + Afhankelijkheden &acrobat.reader; + weinig + licht + &linux; binaire compatibiliteit gv + weinig + licht + Xaw3d Xpdf + weinig + licht + FreeType GQview + weinig + licht + Gtk+ of GNOME &acrobat.reader; - - &acrobat.reader; - + + &acrobat.reader; + PDF + bekijken - Vele documenten worden nu gedistribueerd als PDF-bestanden, - wat staat voor Portable Document Format. Een van - de aanbevolen viewers voor dit type bestand is - &acrobat.reader;, uitgegeven door - Adobe voor &linux;. Omdat &os; &linux; binaries kan draaien, is - het ook beschikbaar voor &os;. + Documenten worden vaak als PDF-bestanden, Portable + Document Format, verspreid. Een van de aanbevolen + viewers voor dit bestandstype is + &acrobat.reader; dat Adobe voor + &linux; heeft uitgegeven. Omdat &os; &linux; binaries kan + draaien, is het ook beschikbaar voor &os;. - Om het &acrobat.reader; 5 package - te installeren: + Het &acrobat.reader; 5 package + wordt geïnstalleerd met: &prompt.root; pkg_add -r acroread5 - Zoals gewoonlijk, wanneer het package niet beschikbaar is of - je de nieuwste versie wilt hebben, kun je ook de ports collectie - gebruiken: + Zoals gewoonlijk kan ook de portscollectie gebruikt worden + als het package niet beschikbaar is: &prompt.root; cd /usr/ports/print/acroread5 &prompt.root; make install clean &acrobat.reader; is beschikbaar in verschillende versies. Op het moment van - schrijven, zijn er: - print/acroread (versie 3.0.2), - print/acroread4 (versie 4.0.5), en - print/acroread5 (versie 5.0.6). - Het kan zijn dat ze niet allemaal gepackaged zijn voor jouw - versie van &os;. De ports collectie zal wederom de laatste - versie bevatten. - + schrijven, zijn er: print/acroread (versie 3.0.2), + print/acroread4 (versie + 4.0.5) en print/acroread5 (versie 5.0.6). + Als er geen package is door de gewenste versie van &os;, dan + kan de portscollectie wederom de laatste versie + bevatten. gv - - gv - + + gv + PDF + bekijken + &postscript; + bekijken gv is een &postscript; en PDF - viewer. Het is oorspronkelijk gebaseerd op + viewer. Het is gebaseerd op ghostview maar heeft een vriendelijker uiterlijk dankzij de - Xaw3d bibliotheek. Het is snel en - schoon. gv heeft vele mogelijkheden - zoals oriëntatie, papiergrootte, schalen, of anti-aliassen. - Bijna elke bewerking kan ofwel met het toetsenbord ofwel met de - muis worden gedaan. + Xaw3d bibliotheek. Het is snel en + heeft mogelijkheden als oriëntatie, papiergrootte, schalen + en anti-aliassen. Bijna elke bewerking kan met het + toetsenbord of de muis worden gedaan. - Om gv als een package te + gv is als package te installeren: &prompt.root; pkg_add -r gv - Als je het package niet kan ophalen, kun je de ports - collectie gebruiken: + Of uit de portscollectie: &prompt.root; cd /usr/ports/print/gv &prompt.root; make install clean Xpdf - - Xpdf - + + Xpdf + PDF + bekijken - Als je een kleine &os; PDF-viewer wilt, is - Xpdf een lichtgewicht en - efficiënte viewer. Het heeft erg weinig bronnen nodig en - is zeer stabiel. Het gebruikt de standaard X-fonts en heeft - &motif; niet nodig noch enige andere - X-toolkit. + Xpdf een efficiënte + lichtgewicht PDF-viewer voor &os;. Het heeft erg weinig + bronnen nodig en is zeer stabiel. Het gebruikt de standaard + X-fonts en is niet afhankelijk van + &motif; of andere X-toolkits. - Gebruik dit commando om het Xpdf - package te installeren: + Xpdf is als package te + installeren: &prompt.root; pkg_add -r xpdf - Als het package niet beschikbaar is of als je prefereert om - de ports collectie te gebruiken: + Of uit de portscollectie: &prompt.root; cd /usr/ports/graphics/xpdf &prompt.root; make install clean - Als de installatie eenmaal voltooid is, kan je - Xpdf starten en de rechtermuisknop - gebruiken om het menu te activeren. + Als de installatie voltooid is, kan + Xpdf gestart worden en het menu kan + met de rechtermuisknop geactiveerd worden. GQview - - GQview - + + GQview GQview is een - afbeeldingsbeheerder. Je kan een bestand bekijken met een - enkele klik, een externe editor opstarten, thumbnail-voorbeelden - krijgen, en veel meer. Het bevat ook een diapresentatie-modus en - enkele standaard bestandsoperaties. Je kan - afbeeldingsverzamelingen beheren en eenvoudig duplicaten vinden. - GQview kan over het volledige scherm - laten zien en ondersteunt internationalisatie. - - Als je het GQview package wilt + afbeeldingenbeheerder. Een bestand kan met één + klik bekeken worden, er kan een externe editor opgestart worden + er kunnen thumbnail-voorbeelden gemaakt worden en nog veel + meer. Het bevat ook een diapresentatie-modus en enkele + standaard bestandsoperaties. Er kunnen + afbeeldingsverzamelingen beheerd worden en eenvoudig duplicaten + gevonden worden. GQview het + completekan scherm gebruiken ondersteunt meerdere talen. + + GQview is als package te installeren: &prompt.root; pkg_add -r gqview - Als het package niet beschikbaar is of als je prefereert om - de ports collectie te gebruiken: + Of vanuit de portscollectie: &prompt.root; cd /usr/ports/graphics/gqview &prompt.root; make install clean Financiën - Als je, om wat voor rede dan ook, jouw persoonlijke - financiën op jouw &os; bureaublad wilt beheren, zijn er - enkele krachtige en gemakkelijk te gebruiken applicaties klaar om - geïnstalleerd te worden. Sommigen van hen zijn compatibel - met wijdverspreide bestandsformaten zoals die van - Quicken - documenten. + Om financiën via het &os; bureaublad te beheren zijn er + krachtige en gemakkelijk te gebruiken applicaties om te + installeren. Sommige zijn compatibel met wijdverbreide + bestandsformaten zoals Quicken of + Excel documenten. Dit gedeelte behandelt deze applicaties: - Applicatienaam - Benodigde bronnen - Installatie vanuit ports - Belangrijkste afhankelijkheden + Applicatie + + Bronnen + + Ports + + Afhankelijkheden GnuCash + weinig + zwaar + GNOME Gnumeric + weinig + zwaar + GNOME Abacus + weinig + licht + Tcl/Tk GnuCash - - GnuCash - - GnuCash is deel van de - GNOME inspanning om - gebruikersvriendelijke doch krachtige applicaties aan - eindgebruikers te leveren. Met - GnuCash kun je jouw inkomsten en - uitgaven, jouw bankrekeningen en jouw voorraden bijhouden. Het + GnuCash + + GnuCash is onderdeel van + GNOME dat gebruikersvriendelijke en + krachtige applicaties aan eindgebruikers wil leveren. Met + GnuCash kunnen inkomsten en + uitgaven, bankrekeningen en voorraden bijgehouden worden. Het bevat een intuïtieve interface terwijl het erg professioneel blijft. - GnuCash levert een slim register, - een hiërarchisch systeem van rekeningen, vele - toetsenbordversnellers en auto-completiemethoden. Het kan een - enkele transactie splitsen in meerdere meer gedetailleerde - stukken. GnuCash kan + GnuCash levert een slim kasboek, + een hiërarchisch systeem van rekeningen, veel + toetsenbordversnellers en auto-invul mogelijkheden. Het een + transactie splitsen in meer gedetailleerde stukken. + GnuCash kan Quicken QIF-bestanden invoeren en - samenvoegen. Het kan ook met de meeste internationale datum- en - geldeenheidformaten omgaan. + samenvoegen. Het kan ook met de meeste internationale datum- + en valutaformaten omgaan. - Om GnuCash op jouw systeem te + GnuCash is als package te installeren: &prompt.root; pkg_add -r gnucash - Als het package niet beschikbaar is, kun je de ports - collectie gebruiken: + Of uit de portscollectie: &prompt.root; cd /usr/ports/finance/gnucash &prompt.root; make install clean Gnumeric - - Gnumeric - + + Gnumeric + spreadsheet + Gnumeric - Gnumeric is een spreadsheet, deel - van de GNOME bureaubladomgeving. Het - bevat handig automatisch raden van - gebruikersinvoer afhankelijk van het celformaat en een - autovulsysteem voor vele sequenties. Het kan bestanden in een - aantal populaire formaten zoals die van - Excel, - Lotus 1-2-3, of - Quattro Pro invoeren. + Gnumeric is een spreadsheet uit + de GNOME bureaubladomgeving. Het + maakt gebruikt van auto-invullen afhankelijk van + het celformaat. Het kan bestanden in een aantal populaire + formaten zoals Excel, + Lotus 1-2-3 en + Quattro Pro inlezen. Gnumeric ondersteunt grafieken door - middel van het math/guppi - grafiekprogramma. Het heeft een groot aantal ingebouwde - functies en staat alle gebruikelijke celformaten zoals - nummer, geldeenheid, datum, tijd, en veel meer toe. + middel van het grafiekprogramma math/guppi. Het heeft een groot + aantal ingebouwde functies en kent gebruikelijke celformaten + als nummer, valuta, datum, tijd en veel meer. - Om Gnumeric als package te - installeren, typ in: + Gnumeric is als package te + installeren: &prompt.root; pkg_add -r gnumeric - Als het package niet beschikbaar is, kun je de ports - collectie gebruiken door middel van: + Of uit de portscollectie: &prompt.root; cd /usr/ports/math/gnumeric &prompt.root; make install clean Abacus - - Abacus - + + Abacus + spreadsheet + Abacus Abacus is een kleine en - gemakkelijk te gebruiken spreadsheet. Het bevat veel ingebouwde + gemakkelijk te gebruiken spreadsheet en bevat veel ingebouwde functies die nuttig zijn in verschillende domeinen zoals - statistiek, financiën, en wiskunde. Het kan het - Excel bestandsformaat in- en - uitvoeren. Abacus kan &postscript; + statistiek, financiën, en wiskunde. Het kan + Excelbestanden lezen en schrijven. + Abacus kan &postscript; uitvoer produceren. - Om Abacus vanuit zijn package te + Abacus is als package te installeren: &prompt.root; pkg_add -r abacus - Als het package niet beschikbaar is, kun je als volgt de - ports collectie gebruiken: + Of uit de portscollectie: &prompt.root; cd /usr/ports/deskutils/abacus &prompt.root; make install clean Samenvatting - + Hoewel &os; populair is bij ISP's om zijn prestaties en stabiliteit, is het behoorlijk klaar voor dagelijks gebruik als - een bureaublad. Met enkele duizenden applicaties beschikbaar als - packages of - ports, - kun je een perfect bureaublad bouwen dat aan al jouw noden - voldoet. - - Als je eenmaal de installatie van jouw bureaublad bereikt - hebt, wil je misschien een stap verder gaan met - misc/instant-workstation. - Deze meta-port stelt je in staat om een typische - verzameling ports voor een werkstation op te bouwen. Je kan het - aanpassen door + een bureaublad. Met enkele duizenden applicaties als packages of ports, is een perfect + bureaublad te bouwen dat aan alle noden voldoet. + + Als een bureaublad is geïnstalleerd is het mogelijk een + stap verder te gaan met misc/instant-workstation. Met deze + meta-port kan een verzameling ports gebouwd worden + die aangepast kan worden door /usr/ports/misc/instant-workstation/Makefile - te bewerken. Volg de syntaxis die gebruikt is voor de - standaardverzameling om ports toe te voegen of te verwijderen, en - bouw het met de gebruikelijke procedure. Uiteindelijk zul je in - staat zijn om één groot package te creëren dat - overeenkomt met jouw hoogstpersoonlijke bureaublad en het te - installeren op jouw andere werkstations! + te bewerken en de gebruikte syntaxis voor de standaardverzameling + om ports toe te voegen of te verwijderen te gebruiken. Het + bouwen gaat volends de gebruikelijke procedure. Uiteindelijk is + het zo mogelijk één groot package te creëren + voldoet aan de persoonlijke eisen van een gebruiker dat te + installeren is op alle gebruikte werkstations! - Hier is een snel overzicht van alle bureaubladapplicaties die - in dit hoofdstuk behandeld zijn: + Nu volgt nog een overzicht van alle bureaubladapplicaties die + in dit hoofdstuk zijn behandeld: - Applicatienaam - Packagenaam - Portnaam + Applicatie + + Package + + Port Mozilla + mozilla - www/mozilla - + + www/mozilla - &netscape; + &netscape; + linux-netscape7 - www/netscape7 - + + www/netscape7 - Opera + Opera + linux-opera - www/linux-opera - + + www/linux-opera - Firefox + Firefox + firefox - www/firefox - + + www/firefox - KOffice + KOffice + koffice-kde3 - editors/koffice-kde3 - + + editors/koffice-kde3 - AbiWord + AbiWord + AbiWord-gnome - editors/AbiWord - + + editors/AbiWord2 - The GIMP + The GIMP + gimp - graphics/gimp1 - + + graphics/gimp - OpenOffice.org + OpenOffice.org + openoffice - editors/openoffice - + + editors/openoffice-1.1 - &acrobat.reader; + &acrobat.reader; + acroread5 - print/acroread5 - + + print/acroread5 - gv + gv + gv + print/gv - Xpdf + Xpdf + xpdf - graphics/xpdf - + + graphics/xpdf - GQview + GQview + gqview - graphics/gqview - + + graphics/gqview - GnuCash + GnuCash + gnucash - finance/gnucash - + + finance/gnucash - Gnumeric + Gnumeric + gnumeric - math/gnumeric - + + math/gnumeric - Abacus + Abacus + abacus - deskutils/abacus - + + deskutils/abacus - + diff --git a/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml index d818a4228a..204bb696cc 100644 --- a/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml @@ -1,201 +1,1568 @@ Greg Lehey Geschreven door Erwin Kooi Vertaald door - * De VINUM volume manager + + De VINUM volume manager - * Samenvatting + Samenvatting + + Welke harde schijven er ook gebruikt worden, er zijn altijd + mogelijke problemen: + + + + Ze kunnen te klein zijn + + + + Ze kunnen te traag zijn + + + + Ze kunnen te onbetrouwbaar zijn. + + + + Eén manier waarop gebruikers zich wapenen tegen + een aantal van deze problemen is door meerdere en soms ook + redundante disks te gebruiken. - + Naast ondersteuning voor verschillende kaarten en controllers + die hardware RAID ondersteunen, bevat het &os; basissysteem ook + de Vinum Volume Manager, een block device driver + waarmee virtuele disken gemaakt kunnen worden. + + Vinum biedt meer flexibiliteit, prestaties en betrouwbaarheid + dan traditionele diskopslag en er kan RAID-0, RAID-1 en RAID-5 + mee gemaakt worden of een combinatie van deze RAID + niveau's. + + In dit hoofdstuk wordt een overzicht gegeven van de mogelijke + problemen die traditionele diskopslag met zich meebrengt en de + Vinum Volume Manager wordt geïntroduceerd. - * Schijven zijn te klein + Schijfgrootte + + Vinum + + + RAID + + Software + + + Vinum is een Volume + Manager, een virtuele schijfdriver die de drie + genoemde problemen op kan lossen. Het probleem wordt in de + volgende paragrafen verder uitgediept. Verscheidene + oplossingen zijn al voorgesteld en toegepast: - + De capaciteit van schijven wordt groter, maar ook de vraag + naar capaciteit neemt toe. Vaak is het gewenste bestandsysteem + groter dan de op dat moment beschikbare schijven. Hoewel dit + probleem niet meer zo actueel als het tien jaar geleden was, + bestaat het nog steeds. In sommige systemen is dit opgelost door + een virtuele harde schijf te maken die de data op meerdere + fysieke harde schijven kan opslaan. - * Schijven zijn te traag + Snelheid van Toegang + + Moderne systemen hebben vaak simultaan toegang tot data + nodig. FTP en webservers kunnen bijvoorbeeld duizenden simultane + sessies onderhouden en hebben vaak meerdere 100 Mbit/s + verbindingen met de rest van de wereld. De benodigde + datadoorvoer is dan groter dan de meeste schijven kunnen + leveren. + + Huidige schijven kunnen data sequentieel overdragen met + ongeveer 70 MB/s, maar deze snelheid heeft geen waarde in een + omgeving waar onafhankelijke processen toegang tot de schijf + hebben. In zo'n situatie is het interessanter om vanuit het + standpunt van de schijfdriver te kijken: de belangrijkste + parameter is dan de belasting die een bepaalde data overdracht op + de driver plaatst. Met andere woorden: wat is het tijdbeslag van + een dataoverdracht op te schijf? + + Bij elke dataoverdracht moet de schijf eerst zijn kop + positioneren, wachten tot de eerste sector onder de kop doorkomt + en vervolgens de overdracht starten. Deze acties duren bijzonder + kort. Het heeft geen enkele zin om ze te onderbreken. + + Neem een overdracht van ongeveer + 10 kB: de huidige generatie high-performance schijven kan de kop + in 3.5 ms plaatsen. De snelste schijven draaien met 15.000 + toeren per minuut, dus de gemiddelde rotatie vertraging (een + halve omwenteling) bedraagt 2 ms. Met 70 MB/s de overdracht + zelf duurt ongeveer 150 μs, bijna niets vergeleken met de tijd + die verloren is gegaan aan het positioneren. In zulke gevallen + daalt de data overdracht naar iets meer dan 1 MB/s en is dus + duidelijk afhankelijk van de grootte van de over te dragen + data. + + De traditionele en logische oplossing voor dit probleem is + meer schijven: in plaats van één + grote schijf, meerdere kleine schijven met een zelfde totale + opslagcapaciteit. Iedere schijf is in staat om onafhankelijk de + kop te plaatsen en de data over te dragen, dus de effectieve + doorvoer neemt toe met een factor bijna gelijk aan het aantal + schijven. + + De exacte verbetering van de doorvoer is natuurlijk kleiner + dan het aantal schijven, want hoewel iedere schijf in staat is om + parallel de data over te dragen, er is geen garantie dat de data + gelijk over de schijven verdeeld is. De belasting op de ene + schijf zal dan ook groter zijn dan op de andere schijf. + + + aaneenschakelen + + disken aaneenschakelen + + + + Vinum + + aaneenschakelen + + + Een gelijke belasting van de schijven is in grote mate + afhankelijk van de manier waarop data over de schijven is + verdeeld. In het volgende stuk is de opslag van een virtuele + schijf voor te stellen als een verzameling sectoren die met een + nummer aangesproken kan worden, net als bladzijden in een boek. + De meest voor de hand liggende methode om een virtuele schijf + te maken is het achter elkaar plakken van de fysieke schijven. + Een virtueel boek zou dan opgebouwd zijn uit verschillende achter + elkaar zittende fysieke hoofdstukken. Deze methode heet + aaneenschakelen + (concatenation) en heeft het voordeel dat schijven + verschillend van grootte kunnen zijn. Dit werkt prima als + toegang tot de data gelijk verdeeld is over de hele dataset. Als + die toegang beperkt is tot een klein deel van de dataset, is de + snelheidsverbetering een stuk kleiner. + laat de manier zien hoe + aaneengeschakelde schijven hun data opslaan. + + +
+ Aaneengeschakeld georganiseerd + + +
+
- + + verdelen + + disk striping + + + + Vinum + + verdelen + + + Een andere methode is het verdelen van de totale opslag van + de virtuele schijf in kleinere stukjes van gelijke grootte en ze + achter elkaar op verschillende fysieke schijven op te slaan. + Bijvoorbeeld: de eerste 256 sectoren worden op schijf 1 + opgeslagen, de tweede 256 sectoren op schijf 2 enzovoort, tot de + laatste schijf is gebuikt, waarna weer bij schijf 1 verder wordt + gegaan, net zolang tot de schijven vol zijn. Deze methode heet + verdelen (striping) of + RAID-0. + + + + RAID + + + RAID staat voor Redundant + Array of Inexpensive Disks (Redundante Reeks van + Goedkope Disks) en biedt verschillende vormen van + fout-tolerantie. Hoewel die laatste term wat misleidend is: + het biedt namelijk geen redundantie. + . + + Bij RAID-0 kost het iets meer moeite om de data te vinden en het + kan extra I/O belasting met zich meebrengen als data is verdeeld + over verschillende fysieke schijven. Het kan echter ook zorgen + voor een constantere belasting van die schijven. + geeft weer hoe RAID-0 schijven hun + data opslaan. + + +
+ Verdeeld georganiseerd + + +
+
- * Schijven zijn te onbetrouwbaar + Betrouwbaarheid van Data + + Het laatste probleem met de huidige schijven is dat ze + onbetrouwbaar zijn. Hoewel de betrouwbaarheid de laatste jaren + enorm is toegenomen, blijven schijven het vitale onderdeel van + een server dat waarschijnlijk als eerste kapot gaat. Als dat + gebeurt kan het catastrofale gevolgen hebben: het vervangen van + de schijf en het terugplaatsen van de data kan dagen + kosten. + + + spiegelen + + disken spiegelen + + + + Vinum - + spiegelen + + + RAID-1 + + De traditionele manier om dit te voorkomen is + spiegelen (mirroring): het + hebben van een kopie van de data op een andere fysieke schijf. + Sinds de uitvinding van RAID niveau's staat dit bekend als + RAID-1. Een schrijfactie naar de virtuele schijf gebeurt op + beide fysieke schijven. Een leesactie hoeft slechts vanaf + één te gebeuren. Op deze manier kan de virtuele + schijf dus blijven werken als één van de twee + fysieke schijven kapot is. + + RAID-1 heeft twee problemen: + + + + Prijs. Er is twee keer zoveel schijfruimte nodig als bij + een niet-redundante schijf. + + + + Prestatie. Een schrijfacie moet op twee schijven + gebeuren en kost dus twee keer zoveel bandbreedte. Een + leesactie hoeft maar op één schijf te gebeuren + en heeft hier dus geen last van. + + + + + RAID-5 + + + Een andere manier is pariteit, + uitgevoerd in RAID niveau's 2, 3, 4 en 5. + Van deze vier is RAID-5 het meest interessant. + In Vinum is het geïmplementeerd als een variant van een + verdeelde organisatie waarbij één blok van elk deel + is gereserveerd voor de pariteit van de andere blokken. Voor + Vinum is een RAID-5 samenstelling + (plex) dan ook gelijk aan een verdeelde + samenstelling, met als verschil dat het een pariteitblok bevat in + ieder deel. Zoals voorgeschreven door RAID-5 + wisselt de locatie van dit pariteitblok van het ene deel naar het + andere. De nummers in de datablokken geven de relatieve + bloknummers aan. + + +
+ RAID-5 georganiseerd + + +
+
+ + Vergeleken met spiegelen heeft RAID-5 het + voordeel dat er beduidend minder opslagcapaciteit nodig is. + Lezen gebeurt op dezelfde manier als bij een verdeelde + organisatie, maar schrijven kost beduidend meer tijd, ongeveer + 25% van de leesprestaties meer. Als één schijf + uitvalt, kan de reeks doorwerken in een verslechterde + staat (degraded mode): data van een + functionerende schijf kan zonder problemen gelezen worden, maar + data van de defecte schijf moet eerst worden samengesteld uit de + pariteit van de overeenkomende blokken van de resterende + schijven.
- * Vinum objecten + Vinum Objecten + + Om deze problemen op te lossen, hanteert vinum een + hiërarchie met vier niveau's van objecten: + + + + Het meest zichtbare object is de virtuele schijf. Dit + object wordt volume genoemd. Op een + paar kleine details na, hebben volumes dezelfde + eigenschappen als een &unix; schijf. Het belangrijkste + verschil is dat er geen beperking aan de grootte van de + schijf is. + + + + Volumes zijn opgebouwd uit + samenstellingen, die elk de totale + opslagcapaciteit van het volume hebben. Dit niveau in de + hiërarchie biedt daarom redundantie. Een samenstelling + is goed voor te stellen als een individuele schijf in een + RAID-1 systeem. Iedere schijf bevat + dezelfde data. + + + + Omdat Vinum bestaat binnen het &unix; opslagsysteem, moet + het mogelijk zijn om &unix; partities te gebruiken als + bouwstenen voor samenstellingen die uit meerdere schijven + bestaan. Maar het blijkt dat dit te inflexibel is: &unix; + schijven hebben een beperkt aantal partities. In plaats + daarvan verdeelt Vinum een &unix; partitie (de schijf) in + aaneengesloten stukken die subschijven + worden genoemd. Deze subschijven worden vervolgens als + bouwstenen voor de samenstelling gebruikt. + + + + Subschijven bestaan op Vinum drives, + op dit moment &unix; partities. Een Vinum drive kan + een oneindig aantal subdisks bevatten. Met uitzondering van + een klein stukje aan het begin van de schijf, dat wordt + gebruikt om informatie over de configuratie en de toestand op + te slaan, is de gehele schijf beschikbaar voor de opslag van + data. + + + + In de volgende paragrafen wordt beschreven hoe deze objecten + de functionaliteit van Vinum leveren. - * Volume grootte overweginen + Volumegrootte Overwegingen + + Een samenstelling kan meerdere subschijven bevatten die + uitgespreid zijn over alle disks in de Vinum configuratie. Dat + houdt in dat de grootte van een individuele schijf geen limiet + is voor de samenstelling en dus niet voor het volume. - - * Redundante dataopslag + Redundante Dataopslag - + Vinum implementeert RAID-0 door meerdere + samenstellingen aan een volume te koppelen. Elke samenstelling + representeert hierbij de data in het volume. Een volume kan + tussen de één en acht samenstellingen + bevatten. + + Hoewel een samenstelling de totala data van een volume + voorstelt, is het mogelijk dat delen van deze voorstelling + missen, door ontwerp (door geen subdisk voor delen van de + samenstelling te definiëren) of per ongeluk (door een + defecte schijf). Zo lang tenminste één + samenstelling de data voor het gehele volume kan leveren, is + het volume volledig bruikbaar. - * Prestatie problemen + Prestaties + + Vinum implementeert aaneenschakelen en spiegelen op het + niveau van de samenstelling: + + + + Een aaneengeschakelde samenstelling gebruikt de + adresruimte van elke subdisk achter elkaar. + - + + Een verdeelde samenstelling spreidt de data over + iedere subdisk. De subdisks moeten daarvoor allemaal + dezelfde grootte hebben en er moeten tenminste twee + subdisks zijn om onderscheid te kunnen maken met een + aaneengeschakelde samenstelling. + + - * Welke plex organisatie? + Welke Samenstelling? + + De versie van Vinum die met &os; &rel.current; wordt + meegeleverd, kent twee soorten samenstellingen: + + + + Aaneengeschakelde samenstellingen zijn het meest + flexibel: ze kunnen een oneindig aantal subdisks bevatten + die verschillend van lengte mogen zijn. De samenstelling + kan uitgebreid worden door subdisks toe te voegen. Ze + kosten minder CPU tijd dan verdeelde + samenstellingen, hoewel het verschil van de + CPU belasting niet meetbaar is. Aan de + andere kant, ze zijn het meest kwetsbaar voor + hot-spots, waar één disk heel + intensief gebruikt wordt en anderen ongebruikt + blijven. + + + + Het grootste voordeel van verdeelde samenstellingen + (RAID-0) is dat ze geen + hot-spots hebben. Door het kiezen van een + optimale deelgrootte (veelal 256 kB) kan de belasting op de + fysieke schijven gelijk getrokken worden. De nadelen van + deze aanpak zijn (minescuul) complexere code en beperkingen + aan de subdisks: ze moeten allemaal van gelijke grootte + zijn en het uitbreiden van een samenstelling met extra + subdisks is zo gecompliceerd, dat de huidige versie van + Vinum dit niet ondersteunt. Vinum voegt een extra, + triviale, beperking toe: een verdeelde samenstelling moet + tenminste twee subdisks hebben, omdat die anders niet + onderscheiden kan worden van een aaneengeschakelde + samenstelling. + + + + In worden de voor- en + nadelen van elke samenstelling samengevat. + + + Vinum Samenstellingen + + + + + Samenstellingtype + + Min. aantal subdisks + + Subdisks toevoegen + + Gelijke grootte + + Toepassing + + + + + + aaneengeschakeld + + 1 + + ja + + nee + + Veel dataopslag met maximale flexibiliteit en + gemiddelde performance. + + + + verdeeld + + 2 + + nee + + ja - + Hoge prestaties, ook bij veel gelijktijdige + toegang. + + + +
- * Een paar voorbeelden + Voorbeelden + + Vinum houdt een configuratie database + bij waarin beschreven staat welke objecten bekend zijn in het + systeem. Bij het instellen vult de gebruiker deze database uit + één of meer configuratiebestanden &man.vinum.8;. + Vinum bewaart een kopie van de database op iedere slice (die + Vinum device noemt) die door Vinum wordt + beheerd. Deze database wordt na iedere statuswijziging + bijgewerkt, zodat een na een herstart acuraat de toestand van + ieder Vinum object wordt weergegeven. - * Het configuratie bestand + Het Configuratiebestand + + Het configuratiebestand beschijft de individuele vinum + objecten. De definitie van een eenvoudig volume kan er zo + uitzien: + + + drive a device /dev/da3h + volume myvol + plex org concat + sd length 512m drive a + + Dit bestand beschrijft vier Vinum objecten: + + + + De drive regel beschrijft een + partitie (drive) en de relatieve + positie ten opzichte van de onderliggende hardware. Het + heeft de symbolische naam a. Deze + scheiding van de symbolische naam van de schijf maakt het + mogelijk om disks te verplaatsen van de ene locatie naar de + andere, zonder verwarring te veroorzaken. + + + + De volume regel beschrijft een + volume. Het enige benodigde attribuut is de naam: + myvol. + + + + De plex regel beschrijft een + samenstelling. Het enige benodigde attribuut is de + organisatie, in dit geval concat. Er + is geen naam nodig: het systeem genereert automatisch een + naam door .px aan + de volumenaam toe te voegen, waarbij x + het nummer van de samenstelling in het volume is. De naam + van deze samenstelling wordt dus + myvol.p0. + + + + De sd regel beschrijft een + subdisk. De minimale specificaties zijn de naam van een + schijf waar de subdisk kan worden opgeslagen en de lengte + van de subdisk. Net als bij een samenstelling is er geen + naam nodig: het systeem genereert automatisch een naam door + .sx aan de + samenstellingnaam toe te voegen, waarbij + x het nummer van de subdisk is. De + naam van deze subdisk is dus + myvol.p0.s0. + + + + Na het verwerken van deze definitie ziet de uitvoer van + &man.vinum.8; er als volgt uit: + + + &prompt.root; vinum -> create config1 + Configuration summary + Drives: 1 (4 configured) + Volumes: 1 (4 configured) + Plexes: 1 (8 configured) + Subdisks: 1 (16 configured) + + D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%) + + V myvol State: up Plexes: 1 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB - + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB + + Deze uitvoer geeft de korte uitvoer van &man.vinum.8; weer. + Het is grafisch weergegeven in + . + + +
+ Een Eenvoudig Vinum Volume + + +
+
+ + Deze en de volgende figuren stellen een volume voor dat + samenstellingen bevat die weer de subdisks bevatten. In dit + triviale voorbeeld bevat het volume een samenstelling en deze + samenstelling bevat een subdisk. + + Dit speciale volume heeft geen voordeel boven een gewone + schijf paritie. Het bevat één samenstelling, dus + het is niet redundant. De samenstelling bevat + één subdisk, dus er is geen verschil in de plaats + van de data met een conventionele schijf partitie. In de + volgende paragrafen worden meer interesante configuraties + getoond.
- * Verbeterde betrouwbaarheid: Spiegelen + Verbeterde Betrouwbaarheid: Spiegelen + + De betrouwbaarheid van een volume wordt vergroot door + spiegelen. Bij het opzetten van een gespiegeld volume is het + van belang dat subdisks van iedere samenstelling op een + andere schijf staan, zodat een defecte schijf niet beide + samenstellingen beïnvloedt. De volgende configuratie maakt + een gespiegeld volume: + + + drive b device /dev/da4h + volume mirror + plex org concat + sd length 512m drive a + plex org concat + sd length 512m drive b + + In dit voorbeeld was het niet nodig om drive + a opnieuw te definiëren, omdat Vinum + alle objecten bijhoudt in de configuratie database. Na het + verwerken van deze definitie, ziet de configuratie er als volgt + uit: + + + Drives: 2 (4 configured) + Volumes: 2 (4 configured) + Plexes: 3 (8 configured) + Subdisks: 3 (16 configured) + + D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%) + D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%) + + V myvol State: up Plexes: 1 Size: 512 MB + V mirror State: up Plexes: 2 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB - + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB + + Het is grafisch weergegeven in + . + + +
+ Een gespiegeld Vinum Volume + + +
+
+ + In dit voorbeeld bevat iedere samenstelling de volledige 512 + MB van de opslagcapaciteit. Net als in het vorige voorbeeld + bevat iedere samenstelling slechts één + subdisk.
- * Verbeterde performance + Verbeterde Prestatie + + Het gespiegelde volume in het vorige voorbeeld is beter + bestand tegen hardware fouten dan een niet-gespiegeld volume, + maar de prestaties zijn lager: iedere schrijfactie naar het + volume moet op beide schijven worden uitgevoerd, waardoor een + groter deel van de bandbreedte van de schijf nodig is. Als + prestaties een belangrijke rol spelen, moet er een andere + benadering gekozen worden: in plaats van spiegelen wordt de + data verdeeld over zoveel mogelijk schijven. De volgende + configuratie laat een volume zien waarbij een samenstelling + over vier schijven verdeeld is: + + + drive c device /dev/da5h + drive d device /dev/da6h + volume stripe + plex org striped 512k + sd length 128m drive a + sd length 128m drive b + sd length 128m drive c + sd length 128m drive d + + Zoals eerder al te zien was, is het niet nodig om drives + die al bekend zijn bij Vinum opnieuw te definiëren. Na + het verwerken van deze definitie, ziet de configuratie er zo + uit: + + + Drives: 4 (4 configured) + Volumes: 3 (4 configured) + Plexes: 4 (8 configured) + Subdisks: 7 (16 configured) + + D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%) + D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%) + D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%) + D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%) + + V myvol State: up Plexes: 1 Size: 512 MB + V mirror State: up Plexes: 2 Size: 512 MB + V striped State: up Plexes: 1 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB + P striped.p1 State: up Subdisks: 1 Size: 512 MB + + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB + S striped.p0.s0 State: up PO: 0 B Size: 128 MB + S striped.p0.s1 State: up PO: 512 kB Size: 128 MB + S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB + S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB + + +
+ Een verdeeld Vinum Volume - + +
+
+ + + Dit volume wordt weergegeven in + . De grijstinten geven de + positie binnen de samenstelling aan: de lichtste strepen komen + het eerst, de donkerste het laatst.
- * Betrouwbaarheid en performance + Betrouwbaarheid en Prestaties + + Met voldoende hardware is het + mogelijk om een volume te bouwen met zowel verbeterde + betrouwbaarheid als verbeterde prestaties ten opzichte van een + standaard &unix; partitie. De volgende configuratie is een + voorbeeld van zo'n volume: + + + volume raid10 + plex org striped 512k + sd length 102480k drive a + sd length 102480k drive b + sd length 102480k drive c + sd length 102480k drive d + sd length 102480k drive e + plex org striped 512k + sd length 102480k drive c + sd length 102480k drive d + sd length 102480k drive e + sd length 102480k drive a + sd length 102480k drive b + + De subdisks van de tweede samenstelling zijn twee schijven + verschoven ten opzichte van die van de eerste samenstelling. + Dit zorgt ervoor dat een schrijfactie niet naar dezelfde disks + gaat, zelfs niet als die schrijfactie over twee schijven + plaatsvindt. + + laat deze configuratie + zien in grafische vorm. + + +
+ Een gespiegeld en verdeeld Vinum Volume + + +
+
-
- * Object Namen + Objectnamen + + Zoals eerder in dit hoofstuk beschreven staat, kent Vinum + standaardnamen toe aan samenstellingen en subdisks. Er mag + echter een andere naam aan gegeven worden. Een andere naamgeving + wordt niet aangeraden: ervaring met de VERITAS volume manager, + die een willekeurige object benaming toestaat, heeft laten zien + dat deze flexibiliteit geen beduidend voordeel heeft, terwijl het + de kans op verwarring vergroot. + + Namen mogen bestaan uit alle karakters, behalve de spatie, + maar het wordt aanbevolen om alleen letters, cijfers en het + liggende streepje te gebruiken. De namen van de volumes, + samenstellingen en subdisks kunnen 64 tekens lang zijn en de + namen van drives kunnen 32 tekens lang zijn. + + Vinum objecten worden device nodes toegekend in de + /dev/vinum hiërarchie. Met de + configuratie uit de vorige paragraaf creë Vinum de volgende + nodes: + + + + De controle devices + /dev/vinum/control en + /dev/vinum/controld, die &man.vinum.8; + en de Vinum daemon gebruiken. + + + + Blok en karakterdevice instellingen voor elk volume. + Dit zijn de primaire devices die door Vinum gebruikt + worden. De blokdevicenamen zijn de namen van het volume, + terwijl de karakterdevicenamen de BSD benaming volgen door er + de letter r voor te zetten. De zou de + volgende blokdevices bevatten: + /dev/vinum/myvol, + /dev/vinum/mirror, + /dev/vinum/striped, + /dev/vinum/raid5 en + /dev/vinum/raid10, + en de karakterdevices + /dev/vinum/rmyvol, + /dev/vinum/rmirror, + /dev/vinum/rstriped, + /dev/vinum/rraid5 en + /dev/vinum/rraid10. Hier zit duidelijk + een probleem. Er kunnen twee volumes te zijn die + r en rr heten, maar + er ontstaat een confict als device node + /dev/vinum/rr wordt aangemaakt: is het + een karakterdevice voor volume r + of een blokdevice voor volume rr? Nu + heeft Vinum geen oplossing. Het volume dat het eerst gemaakt + wordt, krijgt de naam. + + + + Een map /dev/vinum/drive met entries + voor elke drive. Deze entries zijn eigenlijk symbolic links + naar de bijbehorende schijfnodes. + + + + Een map /dev/vinum/volume met + entries voor elk volume. Het bevat submappen voor elke + samenstelling, die weer submappen voor de subdisks + bevatten. + + + + De mappen + /dev/vinum/plex, + /dev/vinum/sd en + /dev/vinum/rsd, die blokdevicenodes + bevatten voor elke samenstelling en blok- en + karakterdevicenodes voor elke subdisk daarvan. + + + + Dit is een volgend voorbeeld: + + + drive drive1 device /dev/sd1h + drive drive2 device /dev/sd2h + drive drive3 device /dev/sd3h + drive drive4 device /dev/sd4h + volume s64 setupstate + plex org striped 64k + sd length 100m drive drive1 + sd length 100m drive drive2 + sd length 100m drive drive3 + sd length 100m drive drive4 + + Na verwerking maakt &man.vinum.8; de volgende structuur aan + in /dev/vinum: + + + brwx------ 1 root wheel 25, 0x40000001 Apr 13 16:46 Control + brwx------ 1 root wheel 25, 0x40000002 Apr 13 16:46 control + brwx------ 1 root wheel 25, 0x40000000 Apr 13 16:46 controld + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 drive + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex + crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 rs64 + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 rsd + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 rvol + brwxr-xr-- 1 root wheel 25, 2 Apr 13 16:46 s64 + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd + drwxr-xr-x 3 root wheel 512 Apr 13 16:46 vol + + /dev/vinum/drive: + total 0 + lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive1 -> /dev/sd1h + lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive2 -> /dev/sd2h + lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive3 -> /dev/sd3h + lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive4 -> /dev/sd4h + + /dev/vinum/plex: + total 0 + brwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0 + + /dev/vinum/rsd: + total 0 + crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0 + crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1 + crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2 + crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3 + + /dev/vinum/rvol: + total 0 + crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64 + + /dev/vinum/sd: + total 0 + brwxr-xr-- 1 root wheel 25, 0x20000002 Apr 13 16:46 s64.p0.s0 + brwxr-xr-- 1 root wheel 25, 0x20100002 Apr 13 16:46 s64.p0.s1 + brwxr-xr-- 1 root wheel 25, 0x20200002 Apr 13 16:46 s64.p0.s2 + brwxr-xr-- 1 root wheel 25, 0x20300002 Apr 13 16:46 s64.p0.s3 + + /dev/vinum/vol: + total 1 + brwxr-xr-- 1 root wheel 25, 2 Apr 13 16:46 s64 + drwxr-xr-x 3 root wheel 512 Apr 13 16:46 s64.plex + + /dev/vinum/vol/s64.plex: + total 1 + brwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0 + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 s64.p0.sd + + /dev/vinum/vol/s64.plex/s64.p0.sd: + total 0 + brwxr-xr-- 1 root wheel 25, 0x20000002 Apr 13 16:46 s64.p0.s0 + brwxr-xr-- 1 root wheel 25, 0x20100002 Apr 13 16:46 s64.p0.s1 + brwxr-xr-- 1 root wheel 25, 0x20200002 Apr 13 16:46 s64.p0.s2 + brwxr-xr-- 1 root wheel 25, 0x20300002 Apr 13 16:46 s64.p0.s3 + + Hoewel het wordt aangeraden om samenstellingen en subdisks + geen naam mee te geven, moeten Vinum drives een naam hebben. + Hierdoor kan een drive naar een andere locatie verplaatst worden + terwijl hij nog steeds automatisch herkend wordt. Drive namen + mogen maximaal 32 tekens lang zijn. - * Bestandssystemen maken + Bestandssystemen Maken + + Volumes lijken voor het systeem identiek aan schijven, met + één uitzondering: in tegenstelling tot &unix; + schijven partitioneert Vinum het volume niet en het bevat dus + geen partitietabel. Daarom was het nodig een paar + disk hulpprogramma's te veranderen, met name &man.newfs.8;, dat + voorheen probeerde om de laatste letter van een Vinum + volumenaam als een partitie te zien. Bijvoorbeeld: een schijf + kan een naam hebben als /dev/ad0a of + /dev/da2h. Deze namen stellen + respectievelijk de eerste partitie (a) + op de eerste (0) IDE schijf (ad) en de + achtste partitie (h) op de derde (2) + SCSI schijf (da) voor. Een Vinum + volume kan daarintegen /dev/vinum/concat + heten. Een naam die geen enkele relatie met een partitienaam + heeft. + + Normaliter klaagt &man.newfs.8; als het de naam van de + schijf niet kan interpreteren. Bijvoorbeeld: + + &prompt.root; newfs /dev/vinum/concat + newfs: /dev/vinum/concat: can't figure out file system partition + + + Het volgende geldt alleen voor versies van &os; 4.X + en lager: + - + Om een bestandsysyteem op dit volume te maken moet de + van &man.newfs.8; gebruikt worden: + + &prompt.root; newfs -v /dev/vinum/concat - * Het configureren van Vinum + Vinum Configureren + + De GENERIC kernel bevat geen Vinum. Het + is mogelijk een kernel te bouwen waar Vinum in zit, maar dit + wordt niet aangeraden. De standaard manier om Vinum te starten + is als kernelmodule (kld). Het is zelfs niet + nodig om &man.kldload.8; te gebruiken voor Vinum. Als + &man.vinum.8; wordt gestart en de module is niet geladen, dan + gebeurt dit alsnog automatisch. - * Startup + Opstarten + + Vinum slaat de configuratie informatie op op de disk slices + in ongeveer dezelfde vorm als de configuratiebestanden. Bij + het lezen van de configuratie database herkent Vinum een aantal + aleutelwoorden die niet zijn toegestaan in + configuratiebestanden. Een diskconfiguratie kan bijvoorbeeld + de volgende tekst bevatten: + + volume myvol state up +volume bigraid state down +plex name myvol.p0 state up org concat vol myvol +plex name myvol.p1 state up org concat vol myvol +plex name myvol.p2 state init org striped 512b vol myvol +plex name bigraid.p0 state initializing org raid5 512b vol bigraid +sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b +sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b +sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b +sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b +sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b +sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b +sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b +sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b +sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b +sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b +sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b +sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b +sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b + + Duidelijke verschillen zijn de aanwezigheid van explicite + locatie informatie en namen (beide zijn toegestaan, maar worden + afgeraden) en informatie over de toestand (die niet beschikbaar + is voor de gebruiker). Vinum slaat geen informatie over drives + op in de configuratie: het vindt de drives door de + geconfigureerde schijven te scannen naar partities met een + vinum label. Hierdoor kan Vinum zelfs drives detecteren als ze + aan een andere &unix; schijf worden toegekend. - * Automatische Startup + Automatisch Opstarten + + Om Vinum automatisch te laten starten als het systeem + geboot wordt, moet de volgende regel in het + /etc/rc.conf bestand staan: - + start_vinum="YES" # set to YES to start vinum + + Als het /etc/rc.conf bestand niet + bestaat, moet het gemaakt worden met de bovengenoemde inhoud. + Hierdoor laadt het systeem de Vinum kld + tijdens het starten en worden de objecten uit de configuratie + ook gestart. Dit gebeurt voordat de bestandssystemen gemount + worden. &man.fsck.8; kan dus automatisch draaien en + bestandssystemen op Vinum volumes kunnen gemount + worden. + + Als Vinum met vinum start wordt + gestart, leest Vinum de configuratie database van + één van de Vinum drives. Normaal gesproken + bevat iedere drive een identieke kopie van de configuratie + database. Het maakt dus niet uit welke drive gelezen wordt. + Na een crash moet Vinum echter bepalen welke drive het laatst + is bijgewerkt en de configuratie van die drive gebruiken. Als + het nodig is wordt de configuratie van de oudere drives + daarna bijgewerkt, in volgorde van leeftijd. - * Het Root bestandssysteem op Vinum + Het Root Bestandssysteem op Vinum + + Bij een machine die een volledig gespiegeld bestandssysteem + heeft, is het wenselijk ook het root bestandssysteem te + spiegelen. Het bouwen van zo'n configuratie is niet zo + recht-toe-recht-aan als bij een ander bestandssysteem + omdat: + + + + Het root bestandssysteem al heel snel beschikbaar moet + zijn tijdens het opstartproces, dus de Vinum infrastructuur + moet dan al beschikbaar zijn. + + + + Het volume met het root bestandssysteem bevat ook de + bootstrap en de kernel, die gelezen moeten worden door de + eigen systeemprogramma's (bijvoorbeeld de BIOS op PC's), die + meestal geconfigureerd kunnen worden om Vinum te + gebruiken. + + + + In de volgende paragrafen wordt de term + root volume gebruikt voor het Vinum volume dat het + root bestandssysteem bevat. Het is waarschijnlijk een goed idee + om de naam root te gebuiken voor dit volume, + maar dit is niet technisch noodzakelijk. Alle + commandovoorbeelden in de volgende stukken gaan echter uit van + deze naam. - * Vinum op tijd starten voor het root - bestandssysteem + Vinum op Tijd Starten voor het root Bestandssysteem + + Om dit te bereiken, moeten een aantal stappen worden + doorlopen: + + + + Vinum moet beschikbaar zijn voor de kernel tijdens + het opstarten. De methode zoals beschreven in + is dus niet geschikt en + de start_vinum parameter mag zelfs + niet aanwezig zijn als de volgende + opzet wordt gebruikt. De eerste optie is Vinum statisch + in de kernel te compileren, zodat het altijd beschikbaar + is. Maar die is vaak niet wenselijk. Er is nog een + mogelijkheid door /boot/loader + () de Vinum kernel module te + laten laden, voordat de kernel gestart wordt. Dit wordt + gedaan door de volgende regel in + /boot/loader.conf op te nemen: + + vinum_load="YES" + + + + Vinum moet in een vroeg stadium geïnitialiseerd + worden om het volume voor het root bestandssysteem te + kunnen leveren. De Vinum kernel module gaat niet uit + zichzelf op zoek naar drives die mogelijk een Vinum + volume kunnen bevatten totdat de administrator (of een + van de opstartscripts) een vinum start + commando geeft. + + + De volgende paragrafen laten de benodigde + stappen zien voor &os; 5.X. De stappen voor + &os; 4.X zijn anders, zoals wordt uitgelegd in + . + + + Door de ondestaande regel in + /boot/loader.conf te zetten, zoekt + Vinum automatisch alle drives af naar Vinum informatie als + onderdeel van het starten van de kernel: + + vinum.autostart="YES" - + + Het is dus niet nodig om de kernel te vertellen waar + het root bestandssysteem staat. + /boot/loader zoekt de naam voor het + root device op in /etc/fstab en geeft + deze informatie door aan de kernel. Op het moment dat het + root bestandssysteem gemount moet worden, haalt de kernel + uit de devicenaam welke driver gebuikt moet worden om dit + te vertalen naar het interne device ID (major/minor + number). + + + - * Een op Vinum gebaseert Root Volume beschikbaar maken voor - de Bootstrap + Een Vinum Root Volume Beschikbaar Maken voor + Bootstrap + + Omdat de huidige &os; bootstrap maar 7,5 KB code bevat en + al belast is met het lezen van bestanden (zoals + /boot/loader) van het UFS bestandssysteem, + is het bijna onmogelijk om het ook te leren hoe Vinum + informatie gelezen moet worden en deze dan te gebruiken om de + elementen van het boot volume samen te stellen. Er zijn daarom + een paar trucs nodig om de bootstrap code wijs te maken dat er + een standaard "a" partitie aanwezig is met + het root bestandssysteem. + + Om dit mogelijk te maken, moet het root volume aan de + volgende eisen voldoen: + + + + Het root volume mag niet verdeeld of RAID-5 zijn. + + + + Het root volume mag niet meer dan één + aaneengeschakelde subdisk per samenstelling + bevatten. + + + + Het is mogelijk en wenselijk om meer dan één + samenstelling te hebben, ieder met een replica van het root + bestandssysteem. Het bootstrap proces gebruikt wel maar + één van deze replica's om de bootstrap en alle + andere bestanden te vinden, tot het moment dat de kernel het + root bestandssysteem laadt. Iedere subdisk binnen deze + samenstellingen heeft dus zijn eigen "a" + partitievoorstelling nodig om dit device bootbaar te maken. + Het is niet verplicht dat iedere voorgestelde + "a" partitie op dezelfde offset is geplaatst + binnen het device, vergeleken met andere devices die + samenstellingen van het root volume bevatten. Het is wel een + goed idee om op die manier Vinum volumes te maken, zodat de + resulterende gespiegelde devices symmetrisch zijn. Dit om + verwarring te voorkomen. + + Om deze "a" partities voor ieder device + dat een deel van het root volume bevat te maken, moet het + volgende worden gedaan: + + + + De locatie (offset vanaf het begin van het device) en + de grootte van de subdisk die onderdeel is van het root + volume moet als volgt bekeken worden: + + &prompt.root; vinum l -rv root + + De Vinum offsets en groottes worden aangegeven in + bytes. Ze moeten door 512 worden gedeeld om de bloknummers + te krijgen die in disklabel moeten + worden gebruikt. + + + + Voor elk device dat deelneemt aan het root + bestandssysteem moet het onderstaande command uitgevoerd + worden: + + &prompt.root; disklabel -e devname + + devname moet of de naam van + een disk (zoals da0) voor schijven + zonder slice-tabel zijn (ook wel: fdisk), of de naam van de + slice zijn (zoals ad0s1). + + Als er al een "a" partitie op het + device aanwezig is (waarschijnlijk met een pre-Vinum + root bestandssysteem), moet die eerst worden hernoemd, + zodat het wel toegankelijk blijft (voor de zekerheid), maar + niet langer gebruikt wordt om het systeem van op te + starten. Actieve paritities (zoals een root bestandssysteem + dat op dit moment gemount is) kan geen andere naam gegeven + worden. Dit moet dus gebeuren als het systeem vanaf een + Fixit medium opgestart is of in twee + stappen, waar (in een gespiegelde situatie) de disk waar + niet van geboot is als eerste wordt aangepast. - + Daarna moet de offset van de Vinum partitie op dit + device (als het bestaat) opgeteld worden bij de offset van + de root volume subdisk op dit device. De resulterende + waarde wordt de "offset" waarde voor de + nieuwe "a" partitie. De + "size" waarde voor deze partitie kan + worden gehaald uit bovenstaande berekening. De + "fstype" wordt + 4.2BSD. De "fsize", + "bsize" en "cpg" + waardes moeten zo goed mogelijk worden gekozen om een + daadwerkelijk bestandssysteem na te bootsen, hoewel ze + vrij onbelangrijk zijn in deze context. + + Op deze manier wordt een nieuwe "a" + partitie gemaakt dat de Vinum partitie op dit device + overlapt. Het disklabel staat deze + overlap alleen toe als de Vinum partitie gemarkeerd is met + het fstype "vinum". + + + + Dat is het! Er bestaat nu een nep + "a" partitie op ieder device dat een + replica van het root volume heeft. Het is aan te bevelen + om de resultaten nogmaals te verifieren met iets + als: + + &prompt.root; fsck -n /dev/devnaama + + + + + Alle bestanden die controle informatie bevatten + moeten relatief zijn ten opzichte van het root bestandssysteem + in het Vinum volume dat, bij het creëren van een Vinum + volume, niet overeen hoeft te komen met het root + bestandssysteem dat op dit moment in gebruik is. Dit geldt in + het bijzonder voor /etc/fstab en + /boot/loader.conf. + + + Bij de volgende herstart zou de bootstrap de juiste + controle informatie moeten vinden in het nieuwe, op Vinum + gebaseerde, root bestandssysteem en moeten starten. Aan het + einde van het kernel initialisatie proces, nadat alle devices + aangemeld zijn, geeft het volgende bericht aan dat het opzetten + gelukt is: + + Mounting root from ufs:/dev/vinum/root - * Voorbeeld van een op Vinum gebaseerde Root Setup + Een op Vinum Gebaseerde Root Setup + + Nadat het Vinum root volume is opgezet, geeft + vinum l -rv root een volgend + resultaat: + + +... +Subdisk root.p0.s0: + Size: 125829120 bytes (120 MB) + State: up + Plex root.p0 at offset 0 (0 B) + Drive disk0 (/dev/da0h) at offset 135680 (132 kB) + +Subdisk root.p1.s0: + Size: 125829120 bytes (120 MB) + State: up + Plex root.p1 at offset 0 (0 B) + Drive disk1 (/dev/da1h) at offset 135680 (132 kB) + + De interessante waarden zijn 135680 voor + de offset (relatief ten opzichte van de partitie + /dev/da0h). Dit vertaalt zich naar 265 + 512-byte disk blocks in disklabel's termen. + Zo is de grootte van dit root volume 245760 512-byte blocks. + /dev/da1h, dat de tweede replica van dit + root volume bevat, is symmetrische opgezet. + + Disklabel voor deze devices kan er zo uitzien: + + + +... +8 partitions: +# size offset fstype [fsize bsize bps/cpg] + a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*) + c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*) + h: 71771672 16 vinum # (Cyl. 0*- 4467*) + + + Hieruit blijkt dat de "size" parameter + voor de nep "a" partitie overeenkomt met + de waarde als hierboven beschreven en dat de + "offset" parameter de som is van de offset + binnen de Vinum partitie "h" en de offset + van deze partitie binnen het device (of de slice). Dit is een + normale opzet om problemen te voorkomen zoals in + beschreven is. Verder blijkt + dat de hele "a" partitie volledig binnen de + "h" partitie valt die alle Vinum data voor + dit device bevat. - + In het bovenstaande voorbeeld is de volledige schijf voor + Vinum gereserveerd en er is geen restant van de pre-Vinum root + partitie, omdat dit een nieuwe schijf is die vanaf het begin af + aan bedoeld was als onderdeel van een Vinum + configuratie. - * Problemen oplossen + Problemen Oplossen + + Als er iets fout gaat moet er een manier zijn om dat te + herstellen. De volgende lijst bevat een paar bekende valkuilen + en oplossingen. - * Systeem bootstrap laadt, maar het systeem start - niet door + Systeem Bootstrap Laadt, Maar Systeem Start Niet + Door + + Als om wat voor reden dan ook het systeem niet doorgaat + met opstarten, kan de bootstrap worden onderbroken door de + spatie toets in te drukken tijdens de 10 + seconden waarschuwing. Dan kunnen de loader variabelen + (zoals vinum.autostart) bekeken worden + met behulp van show en aangepast worden + met set of + unset. + + Als het enige probleem was dat de Vinum kernel module + nog niet in de lijst van modules staat die automatisch + geladen wordt, dan moet load vinum + voldoende zijn. - + Als alles in orde is, kan het bootproces doorgestart + worden met boot -as. De opties + geven de kernel aan om het root + bestandssysteem te vragen (), + en het boot proces te stoppen in single-user mode + (), waarbij het root bestandssysteem + als read-only gemount wordt. Op die manier is er geen + risico op data inconsistentie tussen de samenstellingen, + zelfs niet als er maar één samenstelling van + een multi-samenstellingen volume gemount is. + + Op de prompt, waar om het root bestandssysteem gevraagd + wordt, kan ieder device dat een valide root bestandssysteem + bevat worden opgegeven. Als /etc/fstab + goed is opgezet, is iets als + ufs:/dev/vinum/root te zien. Een andere + keuze kan ufs:da0d zijn, dat een + hypothetische partitie is die het pre-Vinum root + bestandssysteem bevat. Als één van de alias + "a" partities ingevuld wordt die + eigenlijk een referentie naar de subdisk van het Vinum root + device zijn, dan wordt in een gespiegelde setup maar + éé kant van het gespiegelde volume gemount. + Als dit bestandssysteem later als read-write gemount wordt, + moet(en) de andere samenstelling(en) van het root volume + verwijderd worden, omdat deze samenstellingen anders + inconsistente data bevatten. - * Alleen de primaire bootstrap laadt + Alleen Primaire Bootstrap Laadt - + Als /boot/loader niet start, maar + de primaire bootstrap laadt wel (zichtbaar door een enkel + minnetje in de linker bovenhoek van het scherm, direct na de + start van het boot proces), kan worden geprobeerd het + primaire boot proces te onderbreken door op de + spatie toets te drukken. Dit zorgt ervoor + dat het boot proces stopt bij de tweede fase (zie ook + ). Hier kan worden geprobeerd + vanaf een andere partitie te starten, bijvoorbeeld van de + partitie waar het vorige root bestandssysteem op stond, dat + nu van de "a" verplaatst is. - * Niets start, de bootstrap paniekt + Niets start, Paniek van Bootstrap + + Dit gebeurt als de bootstrap is vernietigd door de Vinum + installatie. Helaas laat Vinum op dit moment slechts 4 KB + vrij aan het begin van zijn paritie voordat de Vinum volume + identificatie geschreven wordt. De stage 1 en 2 bootstraps + en de disklabel informatie hebben ongeveer 8 KB nodig. Dus + als de Vinum partitie op offset 0 van de slice van de schijf + begint die als bootbaar was bedoeld, zal deze Vinum + informatie de bootstrap vernielen. - + Als bovenstaande situatie is omzeild, bijvoorbeeld door + te starten vanaf een Fixit medium, en de + bootstrap opnieuw is aangemaakt met + disklabel -B zoals beschreven in + , overschrijft de nieuwe bootstrap + de Vinum identificatie en kan Vinum de Vinum disks niet + langer vinden. Hoewel geen Vinum configuratie data of + data in de Vinum volumes overschreven wordt en alle data + hersteld kan worden door precies dezelfde Vinum configuratie + data opnieuw in te vullen, is dit een lastige situatie om te + herstellen. Het zou nodig zijn om de complete Vinum + parititie tenminste 4 KB te verplaatsen, om te voorkomen + dat de Vinum identificatie en de bootstrap met elkaar + botsen. - * Verschillen met &os; 4.x + Verschillen met &os; 4.X + + In &os; 4.X missen sommige interne functies die nodig + zijn om Vinum automatisch alle disks te laten scannen en de code + die het interne ID van de root device achterhaalt is niet slim + genoeg om met een naam als /dev/vinum/root + om te gaan. Daarom zijn er een paar verschillen ten opzichte + van &os; 5.X. + + Vinum moet expliciet verteld worden welke disks bekeken + moeten worden door iets als het volgende in + /boot/loader.conf: + + vinum.drives="/dev/da0 /dev/da1" + + Het is belangrijk dat alle schijven die Vinum data kunnen + bevatten genoemd worden. Het maakt niet uit of er + meer schijven genoemd worden en het is ook + niet nodig om iedere slice en/of partitie expliciet op te + geven, omdat Vinum alle slices en paritities van de genoemde + schijven afgaat voor valide Vinum identificatie + informatie. + + Omdat de routines die de naam van het root bestandssysteem + verwerken en daar het device ID (major/minor nummers) uit halen + alleen maar met de klassieke devicenamen als + /dev/ad0s1a overweg kunnen, kunnen ze + niets maken van een root volume naam als + /dev/vinum/root. Daarom moet Vinum zelf + de interne kernel parameter dat het ID van het root volume + bevat aanpassen tijdens zijn eigen initialisatie. Dit gaat + door de naam van het root volume op te geven in de loader + variable vinum.root. Dit ziet er in + /boot/loader.conf zo uit: + + vinum.root="root" + + Als de kernel initialisatie probeert uit te vinden welk + root device gemount moet worden, ziet het dat sommige + kernelmodules al parameters gezet hebben. In dat geval + en als het device dat het root device + claimt hetzelfde major nummer heeft als de driver die gevonden + is uit de naam van het root device (Vinum in + dit geval), dan gebruikt het het van te voren gedefinieerde + device ID, in plaats van het zelf proberen uit te vinden. Zo + kan het normale automatische boot process doorgaan met het + mounten van het Vinum root volume voor het root + bestandssysteem. - + Maar als boot -a is gegeven om de naam + van het root device te vragen, kan het nog steeds niet overweg + met een naam die refereert aan een Vinum volume. Als er een + devicenaam is gegeven die niet refereert aan een Vinum device, + dan zorgt het verschil tussen de major nummers van de van te + voren ingestelde root parameter en de driver zoals die uit de + gegeven naam wordt afgeleid ervoor dat deze routine zijn eigen + afgeleide naam gebruikt. Invoer als + ufs:da0d werkt zoals verwacht. Als dit + mislukt, is het niet meer mogelijk om nogmaals iets als + ufs:vinum/root in te voeren, omdat het + niet een tweede keer verwerkt kan worden. De enige uitweg is + het systeem opnieuw te starten en opnieuw te beginnen. Op de + askroot prompt kan /dev/ + altijd achterwege gelaten worden.