diff --git a/nl_NL.ISO8859-1/books/handbook/Makefile b/nl_NL.ISO8859-1/books/handbook/Makefile index cc1fd2a8d7..7ef0b5d2c6 100644 --- a/nl_NL.ISO8859-1/books/handbook/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/Makefile @@ -1,359 +1,351 @@ # # $FreeBSD$ # # %SOURCE% en_US.ISO8859-1/books/handbook/Makefile -# %SRCID% 41710 +# %SRCID% 42118 # # Bouw het Nederlandse FreeBSD Handboek. # # ------------------------------------------------------------------------ # # Handboekspecifieke variabelen # # WITH_PGPKEYS De gedrukte verie van het handboek geeft standaard # alleen PGP vingerafdrukken weer. Als het gewenst # is dat de complete sleutel wordt weergegeven dan # dient deze variabele insteld te worden. De optie # heeft geen invloed op de HTML formaten. # # Handboekspecifieke doelen # # pgpkeyring Dit doel leest de inhoud van pgpkeys/chapter.xml # en schrijft dan alle PGP sleutels naar stdout. # De uitvoer kan omgeleid worden naar een bestand # en verspreid worden als een publieke sleutelring # van FreeBSD ontwikkelaars die eenvoudig in # PGP/GPG ingelezen kan worden. # # ------------------------------------------------------------------------ # Om een nieuw hoofdstuk aan het Handboek toe te voegen: # # - Werk deze Makefile, chapters.ent en book.xml bij # - Voeg een beschrijving voor het nieuwe hoofdstuk toe aan preface/preface.xml # # ------------------------------------------------------------------------ .PATH: ${.CURDIR}/../../share/xml/glossary MAINTAINER= remko@FreeBSD.org DOC?= book FORMATS?= html-split HAS_INDEX= true INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= IMAGES_EN = advanced-networking/isdn-bus.eps IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps IMAGES_EN+= advanced-networking/natd.eps IMAGES_EN+= advanced-networking/net-routing.pic IMAGES_EN+= advanced-networking/pxe-nfs.png IMAGES_EN+= advanced-networking/static-routes.pic IMAGES_EN+= bsdinstall/bsdinstall-adduser1.png IMAGES_EN+= bsdinstall/bsdinstall-adduser2.png IMAGES_EN+= bsdinstall/bsdinstall-adduser3.png IMAGES_EN+= bsdinstall/bsdinstall-boot-loader-menu.png IMAGES_EN+= bsdinstall/bsdinstall-choose-mode.png IMAGES_EN+= bsdinstall/bsdinstall-config-components.png IMAGES_EN+= bsdinstall/bsdinstall-config-hostname.png IMAGES_EN+= bsdinstall/bsdinstall-config-keymap.png IMAGES_EN+= bsdinstall/bsdinstall-config-services.png IMAGES_EN+= bsdinstall/bsdinstall-config-crashdump.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-dhcp.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-static.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv6.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv6-static.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-slaac.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-ipv4-dns.png IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-accesspoints.png IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-scan.png IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-wpa2setup.png IMAGES_EN+= bsdinstall/bsdinstall-distfile-extracting.png IMAGES_EN+= bsdinstall/bsdinstall-distfile-fetching.png IMAGES_EN+= bsdinstall/bsdinstall-distfile-verifying.png IMAGES_EN+= bsdinstall/bsdinstall-final-confirmation.png IMAGES_EN+= bsdinstall/bsdinstall-finalconfiguration.png IMAGES_EN+= bsdinstall/bsdinstall-final-modification-shell.png IMAGES_EN+= bsdinstall/bsdinstall-keymap-select-default.png IMAGES_EN+= bsdinstall/bsdinstall-mainexit.png IMAGES_EN+= bsdinstall/bsdinstall-netinstall-files.png IMAGES_EN+= bsdinstall/bsdinstall-netinstall-mirrorselect.png IMAGES_EN+= bsdinstall/bsdinstall-part-entire-part.png IMAGES_EN+= bsdinstall/bsdinstall-part-guided-disk.png IMAGES_EN+= bsdinstall/bsdinstall-part-guided-manual.png IMAGES_EN+= bsdinstall/bsdinstall-part-manual-addpart.png IMAGES_EN+= bsdinstall/bsdinstall-part-manual-create.png IMAGES_EN+= bsdinstall/bsdinstall-part-manual-partscheme.png IMAGES_EN+= bsdinstall/bsdinstall-part-review.png IMAGES_EN+= bsdinstall/bsdinstall-post-root-passwd.png IMAGES_EN+= bsdinstall/bsdinstall-set-clock-local-utc.png IMAGES_EN+= bsdinstall/bsdinstall-timezone-confirm.png IMAGES_EN+= bsdinstall/bsdinstall-timezone-country.png IMAGES_EN+= bsdinstall/bsdinstall-timezone-region.png IMAGES_EN+= bsdinstall/bsdinstall-timezone-zone.png IMAGES_EN+= geom/striping.pic IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr IMAGES_EN+= install/boot-loader-menu.scr IMAGES_EN+= install/boot-mgr.scr IMAGES_EN+= install/config-country.scr IMAGES_EN+= install/config-keymap.scr IMAGES_EN+= install/console-saver1.scr IMAGES_EN+= install/console-saver2.scr IMAGES_EN+= install/console-saver3.scr IMAGES_EN+= install/console-saver4.scr IMAGES_EN+= install/disklabel-auto.scr IMAGES_EN+= install/disklabel-ed1.scr IMAGES_EN+= install/disklabel-ed2.scr IMAGES_EN+= install/disklabel-fs.scr IMAGES_EN+= install/disklabel-root1.scr IMAGES_EN+= install/disklabel-root2.scr IMAGES_EN+= install/disklabel-root3.scr IMAGES_EN+= install/disk-layout.eps IMAGES_EN+= install/dist-set.scr IMAGES_EN+= install/dist-set2.scr IMAGES_EN+= install/docmenu1.scr IMAGES_EN+= install/ed0-conf.scr IMAGES_EN+= install/ed0-conf2.scr IMAGES_EN+= install/edit-inetd-conf.scr IMAGES_EN+= install/fdisk-drive1.scr IMAGES_EN+= install/fdisk-drive2.scr IMAGES_EN+= install/fdisk-edit1.scr IMAGES_EN+= install/fdisk-edit2.scr IMAGES_EN+= install/ftp-anon1.scr IMAGES_EN+= install/ftp-anon2.scr IMAGES_EN+= install/hdwrconf.scr IMAGES_EN+= install/keymap.scr IMAGES_EN+= install/main1.scr IMAGES_EN+= install/mainexit.scr IMAGES_EN+= install/main-std.scr IMAGES_EN+= install/main-options.scr IMAGES_EN+= install/main-doc.scr IMAGES_EN+= install/main-keymap.scr IMAGES_EN+= install/media.scr IMAGES_EN+= install/mouse1.scr IMAGES_EN+= install/mouse2.scr IMAGES_EN+= install/mouse3.scr IMAGES_EN+= install/mouse4.scr IMAGES_EN+= install/mouse5.scr IMAGES_EN+= install/mouse6.scr IMAGES_EN+= install/mta-main.scr IMAGES_EN+= install/net-config-menu1.scr IMAGES_EN+= install/net-config-menu2.scr IMAGES_EN+= install/nfs-server-edit.scr IMAGES_EN+= install/ntp-config.scr IMAGES_EN+= install/options.scr IMAGES_EN+= install/pkg-cat.scr IMAGES_EN+= install/pkg-confirm.scr IMAGES_EN+= install/pkg-install.scr IMAGES_EN+= install/pkg-sel.scr IMAGES_EN+= install/probstart.scr IMAGES_EN+= install/routed.scr IMAGES_EN+= install/security.scr IMAGES_EN+= install/sysinstall-exit.scr IMAGES_EN+= install/timezone1.scr IMAGES_EN+= install/timezone2.scr IMAGES_EN+= install/timezone3.scr IMAGES_EN+= install/userconfig.scr IMAGES_EN+= install/userconfig2.scr IMAGES_EN+= mail/mutt1.scr IMAGES_EN+= mail/mutt2.scr IMAGES_EN+= mail/mutt3.scr IMAGES_EN+= mail/pine1.scr IMAGES_EN+= mail/pine2.scr IMAGES_EN+= mail/pine3.scr IMAGES_EN+= mail/pine4.scr IMAGES_EN+= mail/pine5.scr IMAGES_EN+= install/example-dir1.eps IMAGES_EN+= install/example-dir2.eps IMAGES_EN+= install/example-dir3.eps IMAGES_EN+= install/example-dir4.eps IMAGES_EN+= install/example-dir5.eps IMAGES_EN+= security/ipsec-network.pic IMAGES_EN+= security/ipsec-crypt-pkt.pic IMAGES_EN+= security/ipsec-encap-pkt.pic IMAGES_EN+= security/ipsec-out-pkt.pic -IMAGES_EN+= vinum/vinum-concat.pic -IMAGES_EN+= vinum/vinum-mirrored-vol.pic -IMAGES_EN+= vinum/vinum-raid10-vol.pic -IMAGES_EN+= vinum/vinum-raid5-org.pic -IMAGES_EN+= vinum/vinum-simple-vol.pic -IMAGES_EN+= vinum/vinum-striped-vol.pic -IMAGES_EN+= vinum/vinum-striped.pic IMAGES_EN+= virtualization/parallels-freebsd1.png IMAGES_EN+= virtualization/parallels-freebsd2.png IMAGES_EN+= virtualization/parallels-freebsd3.png IMAGES_EN+= virtualization/parallels-freebsd4.png IMAGES_EN+= virtualization/parallels-freebsd5.png IMAGES_EN+= virtualization/parallels-freebsd6.png IMAGES_EN+= virtualization/parallels-freebsd7.png IMAGES_EN+= virtualization/parallels-freebsd8.png IMAGES_EN+= virtualization/parallels-freebsd9.png IMAGES_EN+= virtualization/parallels-freebsd10.png IMAGES_EN+= virtualization/parallels-freebsd11.png IMAGES_EN+= virtualization/parallels-freebsd12.png IMAGES_EN+= virtualization/parallels-freebsd13.png IMAGES_EN+= virtualization/virtualpc-freebsd1.png IMAGES_EN+= virtualization/virtualpc-freebsd2.png IMAGES_EN+= virtualization/virtualpc-freebsd3.png IMAGES_EN+= virtualization/virtualpc-freebsd4.png IMAGES_EN+= virtualization/virtualpc-freebsd5.png IMAGES_EN+= virtualization/virtualpc-freebsd6.png IMAGES_EN+= virtualization/virtualpc-freebsd7.png IMAGES_EN+= virtualization/virtualpc-freebsd8.png IMAGES_EN+= virtualization/virtualpc-freebsd9.png IMAGES_EN+= virtualization/virtualpc-freebsd10.png IMAGES_EN+= virtualization/virtualpc-freebsd11.png IMAGES_EN+= virtualization/virtualpc-freebsd12.png IMAGES_EN+= virtualization/virtualpc-freebsd13.png IMAGES_EN+= virtualization/vmware-freebsd01.png IMAGES_EN+= virtualization/vmware-freebsd02.png IMAGES_EN+= virtualization/vmware-freebsd03.png IMAGES_EN+= virtualization/vmware-freebsd04.png IMAGES_EN+= virtualization/vmware-freebsd05.png IMAGES_EN+= virtualization/vmware-freebsd06.png IMAGES_EN+= virtualization/vmware-freebsd07.png IMAGES_EN+= virtualization/vmware-freebsd08.png IMAGES_EN+= virtualization/vmware-freebsd09.png IMAGES_EN+= virtualization/vmware-freebsd10.png IMAGES_EN+= virtualization/vmware-freebsd11.png IMAGES_EN+= virtualization/vmware-freebsd12.png # Afbeeldingen van de afbeeldingenbibliotheek IMAGES_LIB= callouts/1.png IMAGES_LIB+= callouts/2.png IMAGES_LIB+= callouts/3.png IMAGES_LIB+= callouts/4.png IMAGES_LIB+= callouts/5.png IMAGES_LIB+= callouts/6.png IMAGES_LIB+= callouts/7.png IMAGES_LIB+= callouts/8.png IMAGES_LIB+= callouts/9.png IMAGES_LIB+= callouts/10.png IMAGES_LIB+= callouts/11.png IMAGES_LIB+= callouts/12.png IMAGES_LIB+= callouts/13.png IMAGES_LIB+= callouts/14.png IMAGES_LIB+= callouts/15.png # # SRCS-lijsten van de individuele XML-bestanden die het document vormen. # Veranderingen aan een van deze bestanden zal een nieuwe build afdwingen # # XML-inhoud SRCS+= audit/chapter.xml SRCS+= book.xml SRCS+= bsdinstall/chapter.xml SRCS+= colophon.xml SRCS+= dtrace/chapter.xml SRCS+= advanced-networking/chapter.xml SRCS+= basics/chapter.xml SRCS+= bibliography/chapter.xml SRCS+= boot/chapter.xml SRCS+= config/chapter.xml SRCS+= cutting-edge/chapter.xml SRCS+= desktop/chapter.xml SRCS+= disks/chapter.xml SRCS+= eresources/chapter.xml SRCS+= firewalls/chapter.xml SRCS+= filesystems/chapter.xml SRCS+= geom/chapter.xml SRCS+= install/chapter.xml SRCS+= introduction/chapter.xml SRCS+= jails/chapter.xml SRCS+= kernelconfig/chapter.xml SRCS+= l10n/chapter.xml SRCS+= linuxemu/chapter.xml SRCS+= mac/chapter.xml SRCS+= mail/chapter.xml SRCS+= mirrors/chapter.xml SRCS+= multimedia/chapter.xml SRCS+= network-servers/chapter.xml SRCS+= pgpkeys/chapter.xml SRCS+= ports/chapter.xml SRCS+= ppp-and-slip/chapter.xml SRCS+= preface/preface.xml SRCS+= printing/chapter.xml SRCS+= security/chapter.xml SRCS+= serialcomms/chapter.xml SRCS+= users/chapter.xml -SRCS+= vinum/chapter.xml SRCS+= virtualization/chapter.xml SRCS+= x11/chapter.xml # Entiteiten SRCS+= chapters.ent SYMLINKS= ${DESTDIR} index.html handbook.html # Neem alle hoofdstukken mee. CHAPTERS?= ${SRCS:M*chapter.xml} XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./} XMLFLAGS+= -i chap.freebsd-glossary pgpkeyring: pgpkeys/chapter.xml @${XSLTPROC} ${XSLPGP} ${DOC}.parsed.xml # # Handboekspecifieke variablen # .if defined(WITH_PGPKEYS) JADEFLAGS+= -V withpgpkeys .endif URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. # # regels die lijsten met mirrors vanuit de XML-database genereren. # XMLDOCS= lastmod:::mirrors.lastmod.inc \ mirrors-ftp-index:::mirrors.xml.ftp.index.inc \ mirrors-ftp:::mirrors.xml.ftp.inc \ mirrors-cvsup-index:::mirrors.xml.cvsup.index.inc \ mirrors-cvsup:::mirrors.xml.cvsup.inc \ eresources-index:::eresources.xml.www.index.inc \ eresources:::eresources.xml.www.inc DEPENDSET.DEFAULT= transtable mirror XSLT.DEFAULT= ${XSL_MIRRORS} XML.DEFAULT= ${XML_MIRRORS} PARAMS.lastmod+= --param 'target' "'lastmod'" PARAMS.mirrors-ftp-index+= --param 'type' "'ftp'" \ --param 'proto' "'ftp'" \ --param 'target' "'index'" PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \ --param 'proto' "'ftp'" \ --param 'target' "'handbook/mirrors/chapter.xml'" PARAMS.mirrors-cvsup-index+= --param 'type' "'cvsup'" \ --param 'proto' "'cvsup'" \ --param 'target' "'index'" PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \ --param 'proto' "'cvsup'" \ --param 'target' "'handbook/mirrors/chapter.xml'" PARAMS.eresources-index+= --param 'type' "'www'" \ --param 'proto' "'http'" \ --param 'target' "'index'" PARAMS.eresources+= --param 'type' "'www'" \ --param 'proto' "'http'" \ --param 'target' "'handbook/eresources/chapter.xml'" SRCS+= mirrors.lastmod.inc \ mirrors.xml.ftp.inc \ mirrors.xml.ftp.index.inc \ mirrors.xml.cvsup.inc \ mirrors.xml.cvsup.index.inc \ eresources.xml.www.inc \ eresources.xml.www.index.inc .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/nl_NL.ISO8859-1/books/handbook/book.xml b/nl_NL.ISO8859-1/books/handbook/book.xml index 87900cf3df..ef317b8e72 100644 --- a/nl_NL.ISO8859-1/books/handbook/book.xml +++ b/nl_NL.ISO8859-1/books/handbook/book.xml @@ -1,311 +1,310 @@ %chapters; %txtfiles; %pgpkeys; ]> &os; handboek The &os; Dutch Documentation Project $FreeBSD$ $FreeBSD$ 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 The &os; Dutch Documentation Project &legalnotice; &tm-attrib.freebsd; &tm-attrib.3com; &tm-attrib.3ware; &tm-attrib.arm; &tm-attrib.adaptec; &tm-attrib.adobe; &tm-attrib.apple; &tm-attrib.creative; &tm-attrib.cvsup; &tm-attrib.heidelberger; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; &tm-attrib.intuit; &tm-attrib.linux; &tm-attrib.lsilogic; &tm-attrib.m-systems; &tm-attrib.macromedia; &tm-attrib.microsoft; &tm-attrib.nexthop; &tm-attrib.opengroup; &tm-attrib.oracle; &tm-attrib.realnetworks; &tm-attrib.redhat; &tm-attrib.sap; &tm-attrib.sun; &tm-attrib.themathworks; &tm-attrib.thomson; &tm-attrib.usrobotics; &tm-attrib.vmware; &tm-attrib.waterloomaple; &tm-attrib.wolframresearch; &tm-attrib.xfree86; &tm-attrib.xiph; &tm-attrib.general; Welkom bij &os;! Dit handboek behandelt de installatie en het dagelijks gebruik van &os; &rel2.current;-RELEASE en &os; &rel.current;-RELEASE. Aan deze handleiding wordt nog gewerkt, en is het resultaat van het werk van veel mensen. Veel hoofdstukken of paragrafen bestaan nog niet en wat bestaat dient soms nog bijgewerkt te worden. Als de lezer mee wil helpen aan dit project kan een mail gestuurd worden naar de &a.doc;. De meest recente versie van dit document is te vinden op de &os; website. Eerdere versies van dit handboek zijn te vinden op . Het kan ook gedownload worden in veel verschillende formaten en compressiewijzen van de &os; FTP server of een van de vele mirrorsites. Een gedrukt exemplaar van het handboek is te koop bij de &os; Mall (Engels). Het handboek kan ook doorzocht worden. &chap.preface; Beginnen Dit deel van het &os; handboek is voor gebruikers en beheerders die net beginnen met &os;. Deze hoofdstukken: Geven een inleiding in &os;; Lichten het installatieproces toe; Bespreken de &unix; basisbegrippen en grondslag; Tonen hoe de vele aanvullende applicaties voor &os; geïnstalleerd kunnen worden; Introduceren X, het venstersysteem van &unix; en gaan uitvoerig in op hoe een bureaubladomgeving wordt ingesteld die een gebruiker helpt productiever te zijn. Er is geprobeerd het aantal vooruitwijzingen tot een minimum te beperken zodat het handboek van begin tot einde gelezen kan worden zonder bladeren. &chap.introduction; &chap.install; &chap.bsdinstall; &chap.basics; &chap.ports; &chap.x11; Algemene taken Na de inleiding gaat dit deel van het &os; handboek over een aantal vaak gebruikte mogelijkheden van &os;. De volgende hoofdstukken: Geven een inleiding in populaire en handige desktop toepassingen: browsers, productieviteitsgereedschappen, documentviewers, etc; Geven een inleiding in een aantal multimediatoepassingen die in &os; beschikbaar zijn; Geven uitleg over het proces waarmee een aangepaste kernel voor &os; kan worden gemaakt om extra functionaliteit aan een systeen toe te voegen; Beschrijven gedetailleerd het afdruksysteem, zowel voor met een desktop verbonden als met het netwerk verbinden printers; Beschrijven hoe applicaties voor &linux; op &os; kunnen draaien. In een aantal van de hoofdstukken wordt voorkennis aangeraden. Dit staat vermeld in de inleiding van ieder hoofdstuk. &chap.desktop; &chap.multimedia; &chap.kernelconfig; &chap.printing; &chap.linuxemu; Systeembeheer De verdere hoofdstukken van het &os; handboek beslaan alle aspecten van het &os; systeembeheer. Ieder hoofdstuk begint met een omschrijving van wat de leerstof in een hoofdstuk is en wat de verwachte voorkennis is. De hoofdstukken zijn ook ontworpen om gelezen te worden als de specifieke informatie nodig is. Ze hoeven niet in een bepaalde volgorde gelezen te worden en ze hoeven ook niet gelezen te zijn voordat een gebruiker met &os; aan de slag kan. &chap.config; &chap.boot; &chap.users; &chap.security; &chap.jails; &chap.mac; &chap.audit; &chap.disks; &chap.geom; &chap.filesystems; - &chap.vinum; &chap.virtualization; &chap.l10n; &chap.cutting-edge; &chap.dtrace; Netwerkcommunicatie Als het om servers gaat die hoge prestaties moeten leveren, wordt wereldwijd vaak &os; toegepast. De hoofdstukken in dit deel behandelen: Seriëe communicatie; PPP en PPP over Ethernet; E-mail; Netwerkdiensten; Firewalls; Overig gevorderd netwerken. Deze hoofdstukken zijn geschreven om gelezen te worden als de informatie nodig is. Ze hoeven niet allemaal in een bepaalde volgorde gelezen te worden. Ze hoeven ook niet allemaal gelezen te worden om &os; in een netwerkomgeving in te zetten. &chap.serialcomms; &chap.ppp-and-slip; &chap.mail; &chap.network-servers; &chap.firewalls; &chap.advanced-networking; Appendix &chap.mirrors; &chap.bibliography; &chap.eresources; &chap.pgpkeys; &freebsd-glossary; &chap.index; &chap.colophon; diff --git a/nl_NL.ISO8859-1/books/handbook/chapters.ent b/nl_NL.ISO8859-1/books/handbook/chapters.ent index 32e3eb91c6..2251ad7c6c 100644 --- a/nl_NL.ISO8859-1/books/handbook/chapters.ent +++ b/nl_NL.ISO8859-1/books/handbook/chapters.ent @@ -1,75 +1,74 @@ %pgpkeys; - diff --git a/nl_NL.ISO8859-1/books/handbook/disks/chapter.xml b/nl_NL.ISO8859-1/books/handbook/disks/chapter.xml index e9152f8daf..da4872df81 100644 --- a/nl_NL.ISO8859-1/books/handbook/disks/chapter.xml +++ b/nl_NL.ISO8859-1/books/handbook/disks/chapter.xml @@ -1,5013 +1,5008 @@ René Ladan Vertaald door Opslag Overzicht Dit hoofdstuk behandelt het gebruik van schijven in &os;. Dit omvat geheugenschijven, schijven die met het netwerk verbonden zijn, SCSI/IDE-opslagapparaten en apparaten die gebruik maken van de USB-interface. Na het lezen van dit hoofdstuk weet de lezer: Welke terminologie &os; gebruikt om de gegevensindeling op een fysieke schijf te beschrijven (partities en slices); Hoe aanvullende harde schijven aan een systeem toe te voegen; Hoe &os; in te stellen om het gebruik te laten maken van USB-opslagapparaten; Hoe virtuële bestandssystemen, zoals geheugenschijven, aan te maken; Hoe quota te gebruiken om het schijfgebruik te beperken; Hoe schijven te versleutelen om ze tegen inbrekers te beschermen; Hoe vanuit &os; CD's en DVD's aan te maken en te branden; Wat de verschillende mogelijkheden zijn voor opslagmedia voor back-ups; Hoe back-upprogramma's te gebruiken die beschikbaar zijn in &os;; Hoe een back-up naar diskettes te maken; Wat bestandssysteem snapshots zijn en hoe ze efficiënt te gebruiken. Aangeraden voorkennis: Hoe een nieuwe &os;-kernel in te stellen en te installeren (). Apparaatnamen De volgende lijst noemt de fysieke opslagapparaten die in &os; ondersteund worden, samen met de bijhorende namen. Naamconventies voor fysieke Schijven Type medium Apparaatnaam medium IDE harde schijven ad IDE CD-ROM-stations acd SCSI harde schijven en USB-apparaten voor massa-opslag da SCSI CD-ROM-schijven cd Overige niet-standaard-CD-ROM-stations mcd voor Mitsumi CD-ROM en scd voor Sony CD-ROM apparaten. Diskettestations fd SCSI bandstations sa IDE bandstations ast Flashdrives fla voor &diskonchip; flashapparaten RAID-schijven aacd voor &adaptec; AdvancedRAID, mlxd en mlyd voor &mylex;, amrd voor AMI &megaraid;, idad voor Compaq Smart RAID, twed voor &tm.3ware; RAID.
David O'Brien Origineel bijgedragen door Schijven toevoegen schijven toevoegen De volgende sectie beschrijft hoe een nieuwe SCSI schijf aan een machine toe te voegen die slechts een enkele drive heeft. Ten eerste dient de computer uitgeschakeld te worden en dient de schijf volgens de instructies van de computer, controller en schijffabrikant geïnstalleerd te worden. Wegens de grote variéteiten om dit soort procedures uit te voeren, vallen de details buiten het bereik van dit document. Er dient als gebruiker root ingelogd te worden. Nadat de schijf is toegevoegd, dient /var/run/dmesg.boot bekeken te worden om er zeker van te zijn dat de nieuwe schijf is gevonden. Volgens het voorbeeld heet de nieuw toegevoegde schijf da1 en die wordt aangekoppeld op /1 (als er een IDE-schijf wordt toegevoegd, is de apparaatnaam ad1). partities slices fdisk &os; draait op IBM-PC-compatibele computers. Daarom moet het rekening houden met de PC-BIOS-partities. Deze wijken af van de traditionele BSD-partities. Een PC-schijf bevat tot vier ingangen voor BIOS-partities. Indien de schijf geheel aan &os; wordt gewijd, kan de toegewijde-modus gebruikt worden. In het andere geval moet &os; binnen één van de vier PC-BIOS-partities draaien. De PC-BIOS-partities worden door &os; slices genoemd om ze niet met de traditionele BSD-partities te verwarren. Slices kunnen ook op een schijf worden gebruikt die toegewijd is aan &os;, maar in een computer zit die ook andere besturingssystemen heeft geïnstalleerd. Dit is een goede manier om verwarring met het programma fdisk van andere, niet-&os; besturingssystemen te voorkomen. Als er met slices gewerkt wordt, wordt de schijf toegevoegd als /dev/da1s1e. Dit moet worden gelezen als: SCSI-schijf, eenheid 1 (tweede SCSI-schijf), slice 1 (PC-BIOS-partitie 1) en BSD-partitie e. Als de schijf toegewijd is, wordt deze simpelweg als /dev/da1e toegevoegd. Omdat 32-bit-integers worden gebruikt om het aantal sectoren op te slaan, is &man.bsdlabel.8; beperkt tot 2^32-1 sectoren per schijf, wat meestal neerkomt op 2 TB. Het programma &man.fdisk.8; staat geen hogere startsector toe dan 2^32-1 en geen grotere lengte dan 2^32-1, meestal worden hiermee partities tot 2 TB begrensd en schijven tot 4 TB. Het formaat van &man.sunlabel.8; is beperkt tot 2^32-1 sectoren per partitie en 8 partities per schijf, in totaal dus 16 TB. Voor grotere schijven kan &man.gpart.8; worden gebruikt om GPT-partities aan te maken. GPT heeft het bijkomende voordeel dat het niet tot 4 slices beperkt is. &man.sysinstall.8; gebruiken sysinstall schijven toevoegen su Navigeren door <application>sysinstall</application> sysinstall kan gebruikt worden om een nieuwe schijf te partitioneren en te labelen met eenvoudig te gebruiken menu's. Hiervoor dient òfwel als gebruiker root ingelogd te zijn, òfwel gebruik te worden gemaakt van su. Draai sysinstall en ga naar het menu Configure. Scroll binnen het &os; Configuration Menu naar beneden en kies de optie Fdisk. <application>fdisk</application> partitie-bewerker Eenmaal binnen fdisk kan op A gedrukt worden om de gehele schijf voor &os; te gebruiken. Wanneer gevraagd wordt of het systeem compatibel dient te blijven met mogelijk toekomstige besturingssystemen, dient met YES geantwoord te worden. Met W kunnen de veranderingen naar de schijf worden geschreven. Nu dient de FDISK-bewerker verlaten te worden door op Q te drukken. Vervolgens wordt er een vraag gesteld over het Master Boot Record. Omdat er een schijf aan een reeds draaiend systeem wordt toegevoegd, dient hier None gekozen te worden. Schijflabelbewerker BSD-partities Vervolgens dient sysinstall verlaten en opnieuw gestart te worden. Volg bovenstaande aanwijzingen, maar kies deze keer voor de optie Label. Dit geeft toegang tot de Disk Label Editor. Hier worden de traditionele BSD-partities aangemaakt. Een schijf kan tot acht partities bevatten, gelabeld a-h. Enkele partitielabels hebben een speciale functie. De partitie a wordt gebruikt voor de rootpartitie (/). Alleen de systeemschijf (bijvoorbeeld de schijf van waaruit opgestart wordt) moet een partitie a hebben. De partitie b wordt voor swappartities gebruikt, en het is mogelijk om vele schijven met swappartities te hebben. De partitie c adresseert de gehele schijf in toegewijde modus, of de gehele &os;-slice in slice-modus. De andere partities zijn voor algemeen gebruik. sysinstall's Labelbewerker heeft een voorkeur voor de partitie e voor niet-root-niet-swap-partities. Binnen de Labelbewerker dient een enkel bestandssysteem te worden aangemaakt door op C te drukken. Kies FS wanneer gevraagd wordt of dit een FS (file system) of swap wordt, en geef een koppelpunt in (bijvoorbeeld /mnt). Wanneer een schijf in post-installatie-modus wordt toegevoegd, maakt sysinstall geen ingangen aan in /etc/fstab, dus dan is het opgegeven koppelpunt niet van belang. Nu kan het nieuwe label naar de schijf worden geschreven en er een bestandssysteem op aangemaakt worden. Dit kan gedaan worden door op W te drukken. Fouten van sysinstall dat de nieuwe partitie niet aankoppeld kon worden kunnen genegeerd worden. De Labelbewerker en sysinstall kunnen nu volledig verlaten worden. Afronden De laatste stap bestaat uit het bewerken van /etc/fstab om hier een regel voor de nieuwe schijf aan toe te voegen. Het gebruik van opdrachtregelgereedschappen Het gebruik van slices Deze installatie zorgt ervoor dat de schijf correct samenwerkt met andere besturingssystemen die eventueel op de computer zijn geïnstalleerd en dat de fdisk-gereedschappen van andere besturingssystemen niet verward raken. Het wordt aangeraden om deze methode te gebruiken voor de installatie van nieuwe schijven. Gebruik de toegewijde modus alleen als hier een goede reden voor bestaat! &prompt.root; dd if=/dev/zero of/dev/da1 bs=1k count=1 &prompt.root; fdisk -BI da1 # Initialiseer de nieuwe schijf. &prompt.root; bsdlabel -B -w da1s1 auto # Label de schijf. &prompt.root; bsdlabel -e da1s1 # Bewerk de zojuist aangemaakte schijflabel en voeg partities toe. &prompt.root; mkdir -p /1 &prompt.root; newfs /dev/da1s1e # Herhaal dit voor alle aangemaakte partities. &prompt.root; mount /dev/da1s1e /1 # Mount de partitie(s). &prompt.root; vi /etc/fstab # Voeg de juiste regel(s) aan /etc/fstab toe. Vervang voor een IDE-schijf da door ad. Toegewijd OS/2 Indien de nieuwe schijf niet met een ander besturingssysteem gedeeld wordt, kan de toegewijde modus gebruikt worden. Denk eraan dat deze modus besturingssystemen van Microsoft kan verwarren. Ze richten echter geen schade aan. IBM's &os2; fatsoeneert echter partities die het niet begrijpt. &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; bsdlabel -Bw da1 auto &prompt.root; bsdlabel -e da1 # Maak de `e'-partitie aan. &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # Voeg een regel voor /dev/da1e toe. &prompt.root; mount /1 Een alternatieve methode is: &prompt.root; dd if=/dev/zero of=/dev/da1 count=2 &prompt.root; bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 # Voeg een regel voor /dev/da1e toe. &prompt.root; mount /1 RAID Software RAID Christopher Shumway Origineel werk van Jim Brown Herzien door Concatenated Disk Driver (CCD) instellingen RAID softwarematig RAID CCD Bij het kiezen van een medium voor massa-opslag zijn de belangrijkste afwegingen snelheid, betrouwbaarheid en kosten. Het komt zelden voor dat alle drie in balans zijn. Normaalgesproken is een snel, betrouwbaar apparaat voor massa-opslag duur en kosten sparen gaat ten koste van òfwel snelheid òfwel betrouwbaarheid. Bij het ontwerpen van het onderstaande systeem werd primair op de kosten gelet, gevolgd door snelheid en als laatste betrouwbaarheid. De overdrachtsnelheid van gegevens wordt voor dit systeem uiteindelijk beperkt door het netwerk. En hoewel betrouwbaarheid erg belangrijk is, wordt onderstaande CCD-schijf gebruikt voor het serven van on-line gegevens die reeds volledig op CD-R's zijn geback-upt en eenvoudig vervangen kunnen worden. De eerste stap in het kiezen van een massa-opslagoplossing is het bepalen van de eigen benodigdheden. Indien snelheid belangrijker is dan betrouwbaarheid of kosten, wijkt de oplossing af van het systeem dat in deze sectie wordt beschreven. Hardware installeren Als aanvulling op de IDE systeemschijf zijn drie Western Digital IDE-schijven van 30 GB, 5400 RPM vanuit de kern van de onderstaande CCD-schijf aanwezig, die ongeveer 90 GB aan on-line opslag bieden. Ideaal gezien heeft iedere IDE-schijf een eigen IDE-controller en kabel, maar om de kosten te minimaliseren zijn geen aanvullende IDE-kabels gebruikt. In plaats hiervan zijn de schijven zodanig met jumpers ingesteld dat elke IDE-controller één master en één slave heeft. Tijdens het opnieuw opstarten werd het systeem-BIOS zodanig ingesteld dat het automatisch de aangekoppelde schijven detecteerde. Het was belangrijker dat &os; ze tijdens het opnieuw opstarten herkende: ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33 Indien &os; niet alle schijven detecteert, moet gecontroleerd worden of de jumpers juist zijn ingesteld. De meeste IDE-schijven hebben ook een jumper voor Cable Select. Dit is niet de jumper voor de master/slave-instelling. Voor hulp met het identificeren van de juiste jumper dient de documentatie van de schijf geraadpleegd te worden. Vervolgens dient besloten te worden hoe ze deel gaan uitmaken van het bestandssysteem. Hiervoor dienen &man.vinum.4; () en &man.ccd.4; bestudeerd te worden. Voor deze instellingen werd voor &man.ccd.4; gekozen. CCD installeren Het stuurprogramma &man.ccd.4; biedt de mogelijkheid om meerdere identieke schijven aaneen te rijgen tot één logisch bestandssysteem. Om gebruik te kunnen maken van &man.ccd.4; is een kernel met ingebouwde ondersteuning voor &man.ccd.4; nodig. De volgende regel dient toegevoegd te worden aan het kernelinstellingenbestand en de kernel dient opnieuw gebouwd en geïnstalleerd te worden: device ccd Om &man.ccd.4; te installeren dient eerst &man.bsdlabel.8; gebruikt te worden om de schijven te labelen: bsdlabel -w -ad1 auto bsdlabel -w ad2 auto bsdlabel -w ad3 auto Bovenstaande maakt een schijflabel aan voor ad1c, ad2c en ad3c die de gehele schijf beslaat. Vervolgens dient het labeltype van de schijf veranderd te worden. Voor het bewerken van de schijven kan &man.bsdlabel.8; gebruikt worden: bsdlabel -e ad1 bsdlabel -e ad2 bsdlabel -e ad3 Dit zorgt ervoor dat het huidige schijflabel van elke schijf met de tekstverwerker wordt geopend die door de omgevingsvariabele EDITOR wordt gespecificeerd, vaak &man.vi.1;. Een ongewijzigd schijflabel ziet er ongeveer als volgt uit: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) Er dient een nieuwe partitie e toegevoegd te worden die door &man.ccd.4; gebruikt kan worden. Deze kan gewoonlijk van partitie c overgenomen worden, maar het moet 4.2BSD zijn. Het schijflabel ziet er nu ongeveer als volgt uit: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) Bestandssysteem aanmaken Nu alle schijven gelabeld zijn, moet de &man.ccd.4; gebouwd worden. Om dit te doen, dient &man.ccdconfig.8; gebruikt te worden met opties die ongeveer gelijk zijn aan de volgende: ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e Hieronder staat het gebruik en de betekenis van elke optie: Het eerste argument is het in te stellen apparaat, in dit geval /dev/ccd0c. Het gedeelte /dev/ is optioneel. De interleave voor het bestandssysteem. De interleave definiëert de grootte van een stripe in schijfblokken, elk schijfblok is normaalgesproken 512 bytes groot. Een interleave van 32 is dus 16.384 bytes groot. Vlaggen voor &man.ccdconfig.8;. Indien het gewenst is om schijfspiegeling aan te zetten, kan er hier een vlag voor gespecificeerd worden. Deze opstelling biedt geen spiegeling voor &man.ccd.4;, dus is die op 0 (nul) ingesteld. De laatste argumenten voor &man.ccdconfig.8; zijn de apparaten die in de rij geplaatst dienen te worden. Voor elk apparaat dient de complete padnaam gebruikt te worden. Nadat &man.ccdconfig.8; gedraaid is, is de &man.ccd.4; ingesteld. Er kan een bestandssysteem worden geïnstalleerd. Er kan in &man.newfs.8; worden gekeken voor opties, of het draaien van het onderstaande commando is ook toereikend: newfs /dev/ccd0c Alles automatisch maken In het algemeen is het wenselijk om de &man.ccd.4; telkens te mouten wanneer er opnieuw opgestart wordt. Dit dient eerst ingesteld te worden. Met het volgende commando worden de huidige instellingen naar /etc/ccd.conf geschreven: ccdconfig -g > /etc/ccd.conf Tijdens het opstarten draait het script /etc/rc ccdconfig -C indien /etc/ccd.conf bestaat. Dit stelt automatisch de &man.ccd.4; in, zodat die kan worden aangekoppeld. Indien er in enkele-gebruiker-modus wordt opgestart, dient het volgende commando te worden uitgevoerd om de rij in te stellen voordat de &man.ccd.4; aangekoppeld kan worden: ccdconfig -C Om de &man.ccd.4; automatisch aan te koppelen, kan er een regel voor de &man.ccd.4; in /etc/fstab geplaatst worden, zodat die tijdens het opstarten aangekoppeld wordt: /dev/ccd0c /media ufs rw 2 2 Volumebeheerder Vinum RAID software RAID Vinum De volumebeheerder Vinum is een blokstuurprogramma dat virtuele schijven implementeert. Het isoleert schijfhardware van de blokapparaat-interface en projecteert gegevens op een manier die de flexibiliteit, prestatie en betrouwbaarheid verhoogt in vergelijking met de traditionele slice-blik op schijfopslag. &man.vinum.4; implementeert de modellen RAID-0, RAID-1 en RAID-5, zowel individueel als als combinatie. In staat meer informatie over &man.vinum.4;. Hardwarematige RAID RAID hardwarematig &os; ondersteunt ook een verscheidenheid aan hardwarematige RAID-stuurprogramma's. Deze apparaten besturen een RAID-deelsysteem zonder dat er &os;-specifieke software nodig is om de rij te beheren. Door gebruik te maken van een BIOS die op de kaart aanwezig is, beheert de kaart de meeste schijfbewerkingen zelf. Nu volgt een korte beschrijving van een opzet waarbij een Promise IDE-stuurprogramma is gebruikt. Wanneer deze kaart geïnstalleerd en het systeem opgestart is, beeldt het een prompt af waarbij om informatie wordt gevraagd. De instructies dienen opgevolgd te worden om bij het instelscherm van de kaart te komen. Van hieruit kunnen alle aangekoppelde schijven gecombineerd worden. Nadat dit gedaan is, zien de schijven er voor &os; als één enkele schijf uit. Andere RAID-niveaus kunnen overeenkomstig ingesteld worden. ATA RAID1-rijen opnieuw bouwen Met &os; is het mogelijk om een defecte schijf in een rij te vervangen terwijl de computer aanstaat (hot replace). Hiervoor dient de schijf vóór het opnieuw opstarten vervangen te zijn. Waarschijnlijk is zoiets als het volgende in /var/log/messages of in de uitvoer van &man.dmesg.8; te zien: ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\ status=59 error=40 ar0: WARNING - mirror lost Meer informatie kan met behulp van &man.atacontrol.8; gezocht worden: &prompt.root; atacontrol list ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED Ontkoppel eerst het ata kanaal met de falende schijf zodat deze veilig kan worden verwijderd: &prompt.root; atacontrol detach ata3 Vervang de schijf. Koppel het ata kanaal opnieuw aan: &prompt.root; atacontrol attach ata3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present Voeg de nieuwe schijf toe aan de rij als reserve: &prompt.root; atacontrol addspare ar0 ad6 De rij dient nu opnieuw opgebouwd te worden: &prompt.root; atacontrol rebuild ar0 Het is mogelijk de voortgang te volgen met het volgende commando: &prompt.root; dmesg | tail -10 [uitvoer verwijderd] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed Nu moet er gewacht worden tot de bewerking voltooid is. Marc Fonvieille Bijgedragen door USB-opslagapparaten USB schijven Veel externe opslagoplossingen gebruiken tegenwoordig de Universele Seriële Bus (USB): harde schijven, USB-duimdrives, CD-R-branders, etc. &os; biedt voor al dit soort apparaten ondersteuning. Instellen Het stuurprogramma &man.umass.4; biedt de ondersteuning voor USB-opslagapparaten. Indien de kernel GENERIC wordt gebruikt, hoeft er niets aan de instellingen gewijzigd te worden. Als er een eigen kernel wordt gebruikt, dienen de volgende regels in het kernelinstellingenbestand aanwezig zijn: device scbus device da device pass device uhci device ohci device ehci device usb device umass Het stuurprogramma &man.umass.4; gebruikt het subsysteem SCSI om toegang te krijgen tot de USB-opslagapparaten. Het USB-apparaat wordt door het systeem als een SCSI-apparaat gezien. Afhankelijk van de chipset op het moederbord is slechts òf device uhci òf device ohci nodig voor ondersteuning van USB 1.X. Het kan echter geen kwaad om ze beiden in het kernelinstellingenbestand te hebben. Ondersteuning voor USB 2.0 wordt geleverd door het stuurprogramma &man.ehci.4; (de regel met device ehci). Indien er regels zijn toegevoegd dient de kernel opnieuw gecompileerd en geïnstalleerd te worden. Indien het USB-apparaat een CD-R- of DVD-brander is, dient het SCSI CD-ROM-stuurprogramma &man.cd.4; met de volgende regel aan de kernel toegevoegd te worden: device cd Aangezien de brander als een SCSI-schijf gezien wordt, dient het stuurprogramma &man.atapicam.4; niet in de kernelinstellingen gebruikt te worden. Instellingen testen De instellingen zijn klaar om getest te worden: het USB-apparaat dient aangesloten te worden en in de buffer voor systeemmeldingen (&man.dmesg.8;) dient het stuurprogramma ongeveer als volgt te verschijnen: umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C) Uiteraard kunnen het merk, de apparaatnode (da0) en andere details verschillen naar gelang de instelling. Aangezien het USB-apparaat als een SCSI-apparaat gezien wordt, kan het commando camcontrol gebruikt worden om de USB-opslagapparaten weer te geven die aan het systeem gekoppeld zijn: &prompt.root; camcontrol devlist <Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0) Indien er een bestandssysteem op de schijf aanwezig is, kan dat aangekoppeld worden. biedt indien nodig hulp bij het formatteren en aanmaken van partities op de USB-drive. Door het toestaan dat gewone gebruikers verschillende media kunnen koppelen door bijvoorbeeld het aanzetten van vfs.usermount zoals hieronder beschreven, zou niet als veilig beschoud moeten worden uit een beveiligings oogpunt. Veel bestandssystemen in &os; zijn niet geschreven om beveiliging te bieden tegen kwaadaardige apparaten. Om het apparaat koppelbaar te maken voor de gewone gebruiker moeten er een aantal stappen ondernomen worden. Als eerste moeten de apparaten die gecreeerd worden wanneer het USB opslag- medium wordt toegevoegd toegankelijk zijn voor de gebruiker. Een oplossing is om alle gebruikers die deze rechten nodig hebben toe te voegen aan de operator groep. Dit kan gedaan worden met &man.pw.8;. Daarna moet het voor de operator groep mogelijk zijn te lezen en te schrijven naar de gecreeerde apparaten. Dit kan bewerkstelligd worden door de volgende regels toe te voegen aan /etc/devfs.rules: [localrules=5] add path 'da*' mode 0660 group operator Als er SCSI schijven in het systeem aanwezig zijn moet dit anders aangepakt worden. Stel dat het systeem reeds over de volgende schijven beschikt da0 tot en met da2, verander de regel dan in het volgende: add path 'da[3-9]*' mode 0660 group operator Dit sluit de reeds bestaande schijven buiten van toegang door de operator groep. Erna moet ook de nieuwe ruleset voor &man.devfs.rules.5; ingeschakeld worden door middel van /etc/rc.conf: devfs_system_ruleset="localrules" Hierna moet de kernel worden geconfigureerd zodat gewone gebruikers rechten krijgen om bestandssystemen te koppelen. De makkelijkste manier is door de volgende regel toe te voegen aan /etc/sysctl.conf: vfs.usermount=1 Let op, deze wijziging wordt pas actief na de volgende start van het systeem. Als alternatief kan ook &man.sysctl.8; gebruikt worden om deze variabele te zetten. De laatste stap is het creëeren van de map waar het bestandssysteem gekoppeld wordt. Deze map moet eigendom zijn van de gebruiker die het bestandssysteem gaat koppelen. Een manier om dat te bewerkstelligen is door met de gebruiker root een submap aan te maken die eigendom is van de gebruiker als /mntgebruikersnaam (verander gebruikersnaam door de loginnaam van de daadwerkelijke gebruiker en gebruikersgroep door de primaire groep van de gebruiker): &prompt.root; mkdir /mnt/gebruikersnaam &prompt.root; chown gebruikersnaam:gebruikersgroep /mnt/gebruikersnaam Stel dat er vervolgens een USB-stick ingeplugged wordt en er een /dev/da0s1 aangemaakt wordt. Omdat deze apparaten meestal voorgeformatteerd met een FAT-bestandssysteem komen, kan deze als volgende gekoppeld worden: &prompt.user; mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/gebruikersnaam Indien het apparaat losgekoppeld wordt (nadat de schijf afgekoppeld is), dient in de buffer voor systeemmeldingen iets als het volgende te zien te zijn: umass0: at uhub0 port 1 (addr2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached Referenties Naast de onderdelen Schijven toevoegen en Bestandssystemen aan- en afkoppelen, kunnen de volgende hulppagina's ook nuttig zijn: &man.umass.4;, &man.camcontrol.8; en &man.usbconfig.8; voor &os; 8.X of &man.usbdevs.8; voor eerdere versies van &os;. Mike Meyer Bijgedragen door Optische media (CD's) aanmaken en gebruiken CD-ROM's aanmaken Inleiding CD's hebben een aantal eigenschappen waardoor ze verschillen van conventionele schijven. Initieel zijn ze door de gebruiker niet beschrijfbaar. Ze zijn zó ontworpen dat ze continu, zonder vertragingen van het verplaatsen van de kop tussen tracks, gelezen kunnen worden. Ze zijn ook veel gemakkelijker tussen twee systemen te verplaatsen dan gelijksoortige media in hun tijd waren. CD's hebben tracks, maar die verwijzen naar secties van gegevens die continu gelezen dienen te worden en niet naar fysieke eigenschappen van de schijf. Om een CD op &os; te produceren, dienen de gegevensbestanden waaruit de tracks op de CD gaan bestaan te worden voorbereid, waarna de tracks op de CD worden geschreven. ISO 9660 bestandssystemen ISO 9660 Het bestandssysteem ISO 9660 is ontworpen om met deze verschillen om te gaan. Helaas codeert het bestandssysteemgrenzen die destijds gebruikelijk waren. Gelukkig biedt het een uitbreidingsmechanisme dat correct geschreven CD's toestaat om deze grenzen te overschrijden en nog steeds te werken met systemen die deze uitbreidingen niet ondersteunen. sysutils/cdrtools De port sysutils/cdrtools bevat &man.mkisofs.8;, een programma dat gebruikt kan worden om een gegevensbestand aan te maken dat een ISO 9660-bestandssysteem bevat. Het bevat opties die verschillende uitbreidingen ondersteunen en wordt hieronder beschreven. CD-brander ATAPI Het gereedschap om de CD te branden hangt af van het feit of de CD-brander ATAPI of iets anders is. ATAPI CD-branders gebruiken het programma burncd dat deel uitmaakt van het basissysteem. SCSI en USB CD-branders dienen cdrecord van de port sysutils/cdrtools te gebruiken. Het is ook mogelijk om cdrecord en andere gereedschappen voor SCSI-drives op ATAPI-hardware te gebruiken door middel van de module ATAPI/CAM. Indien CD-brandsoftware met een grafische gebruikersinterface gewenst is, is X-CD-Roast of K3b een mogelijkheid. Deze gereedschappen zijn beschikbaar als package of vanuit de ports sysutils/xcdroast en sysutils/k3b. X-CD-Roast en K3b hebben de module ATAPI/CAM met ATAPI-hardware nodig. <application>mkisofs</application> Het programma &man.mkisofs.8;, dat deel uitmaakt van de port sysutils/cdrtools, maakt een ISO 9660-bestandssysteem aan dat een beeld is van een boomstructuur in de &unix; bestandssysteem-namespace. De eenvoudigste gebruiksvorm is: &prompt.root; mkisofs -o beeldbestand.iso /pad/naar/boomstructuur bestandssystemen ISO 9660 Dit commando maakt een beeldbestand.iso aan dat een ISO 9660-bestandssysteem bevat dat een kopie is van de boomstructuur in /pad/naar/boomstructuur. Tijdens het proces beeldt het bestandsnamen af op namen die aan de beperkingen van het standaard ISO 9660-bestandssysteem voldoen en sluit het bestanden uit die namen hebben die niet karakteristiek zijn voor ISO-bestandssystemen. bestandssystemen HFS bestandssystemen Joliet Er is een aantal opties beschikbaar om over deze beperkingen heen te komen. In het bijzonder zet de Rock Ridge-uitbreidingen aan die gangbaar zijn voor &unix; systemen, zet de Rock Ridge-uitbreidingen aan die gebruikt worden op Microsoft-systemen en kan gebruikt worden om HFS-bestandssystemen aan te maken die door &macos; gebruikt worden. Voor CD's die alleen op &os;-systemen gebruikt gaan worden, kan gebruikt worden om alle restricties op bestandsnamen uit te zetten. Indien het met gebruikt wordt, maakt het een bestandssysteembeeld aan dat identiek is aan de &os;-boomstructuur van waaruit begonnen is, alhoewel het mogelijk is dat het zich op aantal manieren niet aan de ISO 9660-standaard houdt. CD-ROM's opstartbaar maken De laatste optie voor algemeen gebruik is . Deze wordt gebruikt om de plaats van het opstartbeeld aan te geven om een El Torito opstartbare CD te maken. Deze optie heeft een argument nodig, namelijk het pad naar een opstartbeeld dat het begin van de boomstructuur die naar de CD geschreven wordt voorstelt. Gewoonlijk maakt &man.mkisofs.8; een ISO-beeld aan in de zogenaamde diskette-emulatie-modus en verwacht het dus dat het beeldbestand exact 1200, 1440 of 2880 KB groot is. Sommige bootloaders, zoals degene die door de distributieschijven van &os; wordt gebruikt, gebruiken de emulatiemodus niet. In dat geval dient de optie gebruikt te worden. Dus indien /tmp/myboot een opstartbaar &os;-systeem met het beeldbestand in /tmp/myboot/boot/cdboot bevat, kan het beeld van een ISO 9660-bestandssysteem als volgt in /tmp/bootable.iso aangemaakt worden: &prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot Als dit gedaan is en md in de kernel is ingesteld, kan het bestandssysteem gekoppeld worden: &prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 &prompt.root; mount -t cd9660 /dev/md0 /mnt Nu kan gecontroleerd worden of /mnt en /tmp/myboot identiek zijn. Er zijn vele andere opties die met &man.mkisofs.8; gebruikt kunnen worden om het gedrag af te stemmen. In het bijzonder wijzigingen aan een ISO 9660-structuur en het aanmaken van Joliet- en HFS-schijven. Details staan in &man.mkisofs.8;. <application>burncd</application> CD-ROM's branden Indien er een ATAPI CD-brander aanwezig is, kan het commando burncd gebruikt worden om een ISO-beeld naar een CD te branden. burncd maakt deel uit van het basissysteem en is geïnstalleerd als /usr/sbin/burncd. Het gebruik is erg eenvoudig, aangezien het weinig opties heeft. &prompt.root; burncd -f cd-apparaat gegevens beeldbestand.iso fixate Het bovenstaande commando brandt een kopie van beeldbestand.iso naar cd-apparaat. Het standaardapparaat is /dev/acd0. Opties om de schrijfsnelheid in te stellen, de CD na het branden uit te werpen en geluidsgegevens te schrijven staan in &man.burncd.8;. <application>cdrecord</application> Indien er geen ATAPI CD-brander aanwezig is, dient cdrecord gebruikt te worden om CD's te branden. cdrecord maakt geen deel uit van het basissysteem. Het dient òfwel vanuit de port in sysutils/cdrtools òfwel als package geïnstalleerd te worden. Veranderingen in het basissysteem kunnen ervoor zorgen dat binaire versies van dit programma falen, wat mogelijk tot een coaster leidt. Daarom dient òfwel de port bijgewerkt te worden als het systeem wordt bijgewerkt, òwel, als -STABLE gevolgd wordt, dient de port bijgewerkt te worden wanneer er een nieuwe versie beschikbaar komt. Hoewel cdrecord vele opties heeft, is het gebruik voor gewone situaties nog eenvoudiger dan dat van burncd. Een ISO 9660-beeld kan gebrand worden met: &prompt.root; cdrecord dev=device beeldbestand.iso Het lastige gedeelte in het gebruik van cdrecord is het vinden van de juiste . Om de juiste instelling te vinden, kan de vlag van cdrecord gebruikt worden, wat resultaten zoals de onderstaande kan geven: CD-ROM's branden &prompt.root; cdrecord -scanbus Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) * Dit geeft de gepaste -waarden voor de apparaten in de lijst. De CD-brander dient gezocht te worden, waarna de drie getallen gescheiden door komma's gebruikt kunnen worden als de waarde voor . In dit geval is het CD-RW-apparaat 1,5,0, dus is de juiste invoer . Er zijn eenvoudigere manieren om deze waarde te specificeren. In &man.cdrecord.1; staan meer details. Hier staat ook informatie over geluidstracks, de snelheid instellen en meer. Audio-CD's dupliceren Een audio-CD kan gedupliceerd worden door de geluidsgegevens van de CD naar een serie bestanden te schrijven en deze bestanden daarna naar een lege CD te schrijven. Het proces verschilt licht tussen ATAPI- en SCSI-drives. SCSI-drives Onttrek cdda2wav de audio: &prompt.user; cdda2wav -vall -D2,0 -B -Owav Schrijf met cdrecord de .wav-bestanden: &prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav Controleer of 2,0 juist is opgegeven, zoals beschreven in . ATAPI-drives Met behulp van de ATAPI/CAM module kan cdda2wav ook gebruikt worden voor ATAPI-drives. Dit gereedschap is vaak een betere keuze voor de meeste gebruikers (jitter-correctie, endianness-zaken, etc.) dan de methode die hieronder wordt voorgesteld. Het ATAPI CD-stuurprogramma maakt elke track beschikbaar als /dev/acddtnn, waarin d het stationsnummer is en nn het tracknummer is in twee decimale cijfers, dat indien nodig vooraf wordt gegaan door een nul. Dus is de eerste track op de eerste schijf /dev/acd0t01, de tweede /dev/acd0t02, de derde /dev/acd0t03, enzovoort. Controleer of de juiste bestanden in /dev bestaan. Als de benodigde namen er niet bijstaan, forceer het systeem dan om opnieuw te kijken: &prompt.root; dd if=/dev/acd0 of=/dev/null count=1 De track kan met &man.dd.1; onttrokken worden. Bij het onttrekken van de bestanden dient een specifieke blokgrootte gebruikt te worden. &prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352 &prompt.root;dd if=/dev/acd0t02 of=track2.cdr bs=2352 ... Brand de onttrokken bestanden met burncd. Er dient opgegeven te worden dat het geluidsbestanden zijn en dat burncd de schijf moet fixeren wanneer na afronding van het proces. &prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate Gegevens-CD's dupliceren Een gegevens-CD kan gekopieerd worden naar een beeldbestand dat functioneel gelijk is aan het beeldbestand dat met &man.mkisofs.8; gemaakt is en het kan gebruikt worden om elke gegevens-CD te dupliceren. Het hier gegeven voorbeeld neemt aan dat het CD-ROM-apparaat acd0 is. &prompt.root; dd if=/dev/acd0 of=bestand.iso bs=2048 Nu het beeld beschikbaar is, kan het naar CD geschreven worden zoals hierboven beschreven. Gegevens-CD's gebruiken Nu er een standaard gegevens-CD-ROM is aangemaakt moet deze waarschijnlijk aangekoppeld worden om de gegevens die er op staan te lezen. Normaalgesproken neemt &man.mount.8; aan dat een bestandssysteem van het soort ufs is. Als zoiets als onderstaande geprobeerd wordt komt er een klacht over Incorrect super block en wordt er niet aangekoppeld: &prompt.root; mount /dev/cd0 /mnt De CD-ROM bevat geen UFS-bestandssysteem, dus pogingen om zo aan te koppelen mislukken. Er dient aan &man.mount.8; verteld te worden dat het bestandssysteem van het soort ISO9660 is en dan werkt alles. Dit kan door de optie van &man.mount.8; op te geven. Het CD-ROM-apparaat /dev/cd0 onder /mnt aankoppelen kan zo: &prompt.root; mount -t cd9660 /dev/cd0 /mnt De apparaatnaam (in dit voorbeeld /dev/cd0) kan afwijken, afhankelijk van de interface die de CD-ROM gebruikt. Verder voert de optie gewoon &man.mount.cd9660.8; uit. Bovenstaand voorbeeld kan verkort worden tot: &prompt.root; mount_cd9660 /dev/cd0 /mnt Het is in het algemeen mogelijk om gegevens-CD-ROMs van elke fabrikant op deze manier te gebruiken. Schijven met bepaalde uitbreidingen op ISO 9660 kunnen zich echter vreemd gedragen. Joliet-schijven bijvoorbeeld, slaan alle bestandsnamen op in twee-byte Unicode-karakters. De &os;-kernel spreekt geen Unicode, maar het &os; CD9660 stuurprogramma is in staat om Unicode karakters direct te converteren. Als er niet-Engelse karakters verschijnen als vraagtekens, moet de lokale karakterset gedefinieerd worden met de optie. Zie de &man.mount.cd9660.8; handleiding voor meer informatie. Om in staat te zijn om de karakter conversie te doen met behulp van de optie, heeft de kernel de cd9660_iconv.ko module nodig. Deze kan ingeladen worden door het volgende toe te voegen aan /boot/loader.conf: cd9660_iconv_load="YES" en daarna de machine te herstarten of door de module direct in te laden met &man.kldload.8;. Zo nu en dan kan Device not configured verschijnen als geprobeerd wordt om een CD-ROM aan te koppelen. Dit betekent meestal dat het CD-ROM-station denkt dat er geen schijf in de lade ligt of dat het station niet zichtbaar is op de bus. Omdat het enkele seconden kan duren voordat een CD-ROM-station doorheeft dat er een CD-ROM in ligt, is geduld geboden. Soms wordt een SCSI CD-ROM gemist omdat het station niet genoeg tijd had om antwoord te geven op de busreset. Indien er een SCSI CD-ROM aanwezig is, dient de volgende optie aan de kernelinstellingen toegevoegd te worden en de kernel opnieuw gebouwd te worden. options SCSI_DELAY=15000 Dit zorgt ervoor dat de SCSI-bus 15 seconden pauzeert tijdens het opstarten opdat het CD-ROM-station elke gelegenheid krijgt om de busreset te beantwoorden. Rauwe gegevens-CD's branden Een bestand kan direct naar CD geschreven worden zonder een ISO 9660-bestandssysteem aan te maken. Sommige mensen doen dit voor back-updoeleinden. Dit gaat sneller dan een standaard-CD branden: &prompt.root; burncd -f /dev/acd1 -s 12 gegevens archief.tar.gz fixate Om de gegevens terug te halen die op zo'n CD gebrand zijn, is het noodzakelijk om gegevens van de rauwe apparaatnode te lezen: &prompt.root; tar xzvf /dev/acd1 Het is niet mogelijk om deze schijf aan te koppelen zoals dat voor een normale CD-ROM gedaan wordt. Zo'n CD-ROM kan onder geen enkel besturingssysteem, behalve &os;, gelezen worden. Om de CD aan te kunnen koppelen of gegevens te delen met een ander besturingssysteem, dient &man.mkisofs.8; gebruikt te worden, zoals boven beschreven is. Marc Fonvieille Bijgedragen door Het ATAPI/CAM-stuurprogramma gebruiken CD-brander ATAPI/CAM-stuurprogramma Dit stuurprogramma stelt ATAPI-apparaten (CD-ROM, CD-RW, DVD-stations, enzovoort) in staat om vanuit het SCSI-subsysteem benaderd te worden en maakt daarmee het gebruik van applicaties zoals sysutils/cdrdao of &man.cdrecord.1; mogelijk. Om dit stuurprogramma te gebruiken, is het noodzakelijk om de volgende regel aan het /boot/loader.conf bestand toe te voegen: atapicam_load="YES" om daarna de machine opnieuw op te starten. Als het noodzakelijk is om &man.atapicam.4; statisch toe te voegen aan de kernel moet de volgende regel worden toegevoegd aan het kernelinstellingenbestand: device atapicam Ook zijn de volgende regels in het kernelinstellingenbestand nodig, die meestal wel aanwezig zijn: device ata device scbus device cd device pass Hierna dient de nieuwe kernel opnieuw gebouwd en geïnstalleerd te worden en dient de machine opnieuw gestart te worden. Tijdens het opstartproces dient de brander als volgt te verschijnen: acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CD-RW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed Het station is nu toegankelijk via de apparaatnaam /dev/cd0. Om bijvoorbeeld een CD-ROM op /mnt aan te koppelen: &prompt.root; mount -t cd9660 /dev/cd0 /mnt Als root kan het volgende commando gegeven worden om het SCSI-adres van de brander te verkrijgen: &prompt.root; camcontrol devlist <MATSHITA CD-RW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0) Dus 1,0,0 is het SCSI-adres dat met &man.cdrecord.1; en andere SCSI-toepassingen gebruikt dient te worden. Meer informatie over het ATAPI/CAM en het SCSI-systeem staat in de hulppagina's van &man.atapicam.4; en &man.cam.4;. Marc Fonvieille Bijgedragen door Andy Polyakov Met toevoegingen van Optische media (DVD's) aanmaken en gebruiken DVD branden Inleiding Vergeleken met de CD behoort de DVD de tot de volgende generatie van optische media-opslagtechnologie. De DVD kan meer gegevens bevatten dan enige CD en is tegenwoordig de standaard voor videopublicatie. Er kunnen vijf fysieke opneembare formaten gedefinieerd worden die opneembare DVD heten: DVD-R: dit was het eerst beschikbare opneembare DVD-formaat. De DVD-R-standaard is gedefinieerd door het DVD Forum. Dit formaat is voor eenmalig schrijven. DVD-RW: dit is de herschrijfbare versie van de DVD-R-standaard. Een DVD-RW kan tot ongeveer 1.000 maal herschreven worden. DVD-RAM: dit is ook een herschrijfbaar formaat dat door het DVD Forum ondersteund wordt. Een DVD-RAM kan gezien worden als een verwisselbare harde schijf. Dit medium is echter niet uitwisselbaar met de meeste DVD-ROM-stations en DVD-Video-spelers. Slechts enkele DVD-schrijvers ondersteunen het DVD-RAM-formaat. Lees voor meer informatie over het gebruik van DVD-RAM. DVD+RW: dit is het herschrijfbare formaat dat is gedefinieerd door de DVD+RW Alliance. Een DVD+RW kan tot ongeveer 1.000 maal herschreven worden. DVD+R: dit formaat is de eenmalig beschrijfbare versie van het DVD+RW-formaat. Een enkellaags opneembare DVD kan maximaal 4.700.000.000 bytes bevatten, wat eigenlijk 4,38 GB of 4.485 MB is (1 kB is 1024 bytes). Er dient onderscheid gemaakt te worden tussen het fysieke medium en de toepassing. Een DVD-Video bijvoorbeeld is een specifiek bestandsschema dat op elk fysiek opneembaar DVD-medium geschreven kan worden: DVD-R, DVD+R, DVD-RW, enzovoort. Voordat het mediumtype gekozen wordt, dient het zeker te zijn dat zowel de brander als de DVD-Video-speler (een onafhankelijke speler of een DVD-ROM-station in een computer) overweg kunnen met het overwogen medium. Instellingen Het programma &man.growisofs.1; wordt gebruikt om DVD's op te nemen. Dit commando is deel van de dvd+rw-tools gereedschappen (sysutils/dvd+rw-tools). dvd+rw-tools ondersteunt alle types DVD-media. Deze gereedschappen gebruiken het SCSI-subsysteem om toegang tot de apparaten te krijgen, daarvoor moet ondersteuning voor ATAPI/CAM aan de kernel toegevoegd worden. Indien de brander de USB-interface gebruikt, is deze toevoeging nutteloos en dient gelezen te worden voor meer details over het instellen van USB-apparaten. De DMA-toegang voor ATAPI-apparaten dient ook aangezet te worden door de volgende regel aan het bestand /boot/loader.conf toe te voegen: hw.ata.atapi_dma="1" Voordat de dvd+rw-tools gebruikt kunnen worden, dienen de dvd+rw-tools' hardware compatibility notes geraadpleegd te worden voor enige informatie die betrekking heeft op de DVD-brander. Indien een grafische gebruikersinterface gewenst is, is K3b (sysutils/k3b), die een gebruikersvriendelijke interface biedt voor &man.growisofs.1; en vele andere brandprogramma's, het bekijken waard. Gegevens-DVD's branden Het commando &man.growisofs.1; is een frontend voor mkisofs. Het roept &man.mkisofs.8; aan om het bestandssysteemoverzicht aan te maken en het schrijft naar de DVD. Hierdoor is het niet nodig om een beeld van de gegevens aan te maken voordat met branden begonnen wordt. Om de gegevens uit de map /pad/naar/gegevens op een DVD+R of een DVD-R te branden: &prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /pad/naar/gegevens De opties worden doorgegeven aan &man.mkisofs.8; voor het aanmaken van het bestandssysteem (in dit geval een ISO 9660-bestandssysteem met Joliet en Rock Ridge uitbreidingen). Meer details staan in de hulppagina &man.mkisofs.8;. De optie wordt gebruikt voor het opnemen van de eerste sessie, ook bij meerdere sessies. Het DVD-apparaat, /dev/cd0, dient aan de hand van de instellingen aangepast te worden. De parameter sluit de schijf zodat er niets aan de opname toegevoegd kan worden. Dit zou als tegenprestatie betere uitwisselbaarheid met DVD-ROM-stations moeten geven. Het is ook mogelijk om een vooraf gemastered beeld te branden, om bijvoorbeeld het beeld beeldbestand.iso te branden: &prompt.root; growisofs -dvd-compat -Z /dev/cd0=beeldbestand.iso De schrijfsnelheid moet automatisch gedetecteerd en ingesteld worden, afhankelijk van het medium en het gebruikte station. Om de schrijfsnelheid te forceren, dient de parameter gebruikt te worden. Meer informatie staat in de hulppagina &man.growisofs.1;. Om bestanden groter dan 4,38GB in de compilatie op te nemen dient een UDF/ISO-9660 hybride bestandssysteem aangemaakt te worden door de aanvullende parameter aan &man.mkisofs.8; en alle gerelateerde programma's (i.e., &man.growisofs.1;) door te geven. Dit is alleen nodig als een ISO beeldbestand wordt aangemaakt, of als bestanden direct naar een schijf worden geschreven. Schijven die op deze manier zijn aangemaakt moeten als een UDF-bestandssysteem worden aangekoppeld met het hulpmiddel &man.mount.udf.8;, zodat het alleen bruikbaar is op een besturingssysteem dat zich van UDF bewust is, anders zal het lijken of er corrupte bestanden op staan. Om zo'n ISO-bestand aan te maken: &prompt.user; mkisofs -R -J -udf -iso-level 3 -o beeldbestand.iso /pad/naar/gegevens Om de bestanden direct naar een schijf te schrijven: &prompt.root; growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /pad/naar/gegevens Wanneer u een ISO-beeld heeft dat al grote bestanden bevat, zijn er geen extra opties nodig om met &man.growisofs.1; het beeld naar een schijf te schrijven. Zorg er ook voor dat u een actuele versie van sysutils/cdrtools heeft (welke &man.mkisofs.8; bevat), aangezien oudere versies geen ondersteuning voor grote bestanden bieden. Als u problemen tegenkomt, gebruik dan de ontwikkelversie, sysutils/cdrtools-devel en lees de handleidingpagina &man.mkisofs.8;. DVD-Video branden DVD DVD-Video Een DVD-Video is een specifiek bestandsschema dat gebaseerd is op de ISO 9660 en de micro-UDF (M-UDF) specificaties. DVD-Video heeft ook een specifieke hiërarchie voor de gegevensstructuur, de reden waarom een speciaal programma zoals multimedia/dvdauthor nodig is om de DVD te schrijven. Indien er reeds een beeld van het bestandssysteem van de DVD-Video beschikbaar is, kan het zoals elk ander beeld gebrand worden. In de vorige sectie staat een voorbeeld. Als het resultaat voor de inhoud voor de DVD bijvoorbeeld in de map /pad/naar/video staat, kan de DVD-Video als volgt gebrand worden: &prompt.root; growisofs -Z /dev/cd0 -dvd-video /pad/naar/video De optie wordt doorgegeven aan &man.mkisofs.8; en geeft het opdracht om een bestandssysteemschema voor een DVD-Video aan te maken. Verder impliceert de optie de optie van &man.growisofs.1;. DVD+RW gebruiken DVD DVD+RW In tegenstelling tot een CD-RW dient een nieuwe DVD+RW voor het eerste gebruik geformatteerd te worden. Het programma &man.growisofs.1; regelt dit automatisch als nodig. Dit is de aanbevolen manier. Het is ook mogelijk om dvd+rw-format te gebruiken om een DVD+RW te formatteren: &prompt.root; dvd+rw-format /dev/cd0 Deze operatie hoeft slechts één maal uitgevoerd te worden. Onthoud dat alleen nieuwe DVD+RW-media geformatteerd dienen te worden. Daarna is het mogelijk om de DVD+RW op dezelfde manier te branden zoals in bovenstaande secties staat vermeldt. Om nieuwe gegevens op een DVD+RW te branden (een geheel nieuw bestandssysteem branden, niet wat gegevens toevoegen), is het niet nodig om deze te wissen. Het is voldoende om de vorige opname te overschrijven (tijdens het aanmaken van een initiële sessie), zoals hieronder: &prompt.root; growisofs -Z /dev/cd0 -J -R /pad/naar/nieuwe gegevens Het DVD+RW-formaat biedt de mogelijkheid om eenvoudig nieuwe gegevens aan een vorige opname toe te voegen. De operatie bestaat uit het samenvoegen van een nieuwe sessie en de bestaande. Het is geen multisessie-schrijven. &man.growisofs.1; laat het ISO 9660-bestandssysteem dat aanwezig is op het medium groeien. Om gegevens aan de vorige DVD+RW toe te voegen: &prompt.root; growisofs -M /dev/cd0 -J -R /pad/naar/volgende gegevens Dezelfde opties van &man.mkisofs.8; die gebruikt werden om de initiële sessie te branden, dienen gebruikt te worden tijdens schrijfsessies. De optie kan gebruikt worden als betere uitwisselbaarheid met DVD-ROM-stations gewenst is. In het geval van een DVD+RW verhindert dit het toevoegen van gegevens niet. Om het medium te wissen: &prompt.root; growisofs -Z /dev/cd0=/dev/zero DVD-RW gebruiken DVD DVD-RW Een DVD-RW accepteert twee schijfformaten: de incrementele sequentiële en beperkt overschrijven. Standaard zijn DVD-RW-schijven in het sequentiële formaat. Een nieuwe DVD-RW kan direct beschreven worden zonder deze te formatteren. Een gebruikte DVD-RW in sequentieel formaat dient echter gewist te worden voordat het mogelijk is om een nieuwe initiële sessie te schrijven. Om een DVD-RW in sequentiële toestand te wissen, dient het volgende gedaan te worden: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Volledig wissen () neemt ongeveer één uur in beslag op een 1x-medium. Het is mogelijk om snel te wissen door gebruik te maken van de optie als de DVD-RW in Disk-At-Once-modus (DAO) wordt opgenomen. Om de DVD-RW in DAO-modus te branden: &prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=beeldbestand.iso De optie is niet nodig aangezien &man.growisofs.1; probeert om minimale (snel gewiste) media te detecteren en gebruik te maken van DAO-schrijven. Eigenlijk moet beperkt overschrijven gebruikt worden met elke DVD-RW. Dit formaat is flexibeler dan het standaard incrementeel sequentiële. Om gegevens op een sequentiële DVD-RW te schrijven, worden dezelfde instructies gebruikt als voor de andere DVD-formaten: &prompt.root; growisofs -Z /dev/cd0 -J -R /pad/naar/gegevens Om wat gegevens aan de vorige opname toe te voegen, dient de optie van &man.growisofs.1; gebruikt te worden. Als echter gegevens aan een DVD-RW in incrementeel sequentiële modus worden toegevoegd, wordt een nieuwe sessie op de schijf aangemaakt wat resulteert in een multisessie schijf. Een DVD-RW in het beperkt overschrijven formaat hoeft niet gewist te worden vóór een nieuwe initiële sessie. Het is voldoende om de schijf te overschrijven met de optie , wat analoog is aan het geval van de DVD+RW. Het is ook mogelijk om een bestaand ISO 9660-bestandssysteem te laten groeien op soortgelijke wijze als voor een DVD+RW met de optie . Het resultaat is een enkelsessie DVD. Om een DVD-RW in het beperkt overschrijven-formaat te zetten: &prompt.root; dvd+rw-format /dev/cd0 Om terug te gaan naar het sequentiële formaat: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Multisessie Multisessie DVD's worden door zeer weinig DVD-ROM-stations geaccepteerd en meestal lezen ze hopelijk tenminste de eerste sessie. DVD+R, DVD-R en DVD-RW kunnen in het sequentiële formaat meerdere sessies accepteren. Het idee van meerdere sessies bestaat niet voor de formaten DVD+RW en DVD-RW in beperkt overschrijven. Om een nieuwe sessie achter een initiële (niet-gesloten) sessie op een DVD+R, DVD-R of DVD-RW in sequentieel formaat toe te voegen: &prompt.root; growisofs -M /dev/cd0 -J -R /pad/naar/volgende gegevens Het gebruik van dit commando met een DVD+RW of een DVD-RW in beperkt overschrijven-formaat voegt gegevens toe door de nieuwe sessie samen te voegen met de bestaande. Dit leidt tot een enkelsessie schijf. Deze manier kan gebruikt worden om gegevens achter een initiële sessie aan deze media toe te voegen. Op deze media wordt wat ruimte gebruikt tussen elke sessie om het einde en begin van de sessies aan te geven. Daarom dienen sessies met grote hoeveelheden gegevens toegevoegd te worden om de mediaruimte te optimaliseren. Het aantal sessies is beperkt tot 154 voor een DVD+R, ongeveer 2000 voor een DVD-R en 127 voor een dubbellaags DVD+R. Meer informatie Om meer informatie over een DVD te verkrijgen kan het commando dvd+rw-mediainfo /dev/cd0 met de schijf in het station gebruikt worden. Meer informatie over dvd+rw-tools staat in de hulppagina &man.growisofs.1;, op de dvd+rw-tools website en in de archieven van de cdwrite mailing list. De uitvoer van dvd+rw-mediainfo met betrekking tot de resulterende opname of het medium met problemen is verplicht voor elk probleemrapport. Zonder deze uitvoer volgt geen hulp. DVD-RAM gebruiken DVD DVD-RAM Configuratie DVD-RAM schrijvers komen met of een SCSI of een ATAPI interface. DMA toegang voor ATAPI apparaten moet worden ingeschakeld, wat gedaan kan worden door de volgende regel toe te voegen aan /boot/loader.conf: hw.ata.atapi_dma="1" Voorbereiden van het medium Zoals vermeld in de introductie van dit hoofdstuk kan DVD-RAM gezien worden als een verwijderbare harde schijf. Zoals elke andere harde schijf moet de DVD-RAM voorbereid worden voor het eerste gebruik. In het voorbeeld wordt alle beschikbare ruimte gebruikt voor een standaard UFS2 bestandssysteem: &prompt.root; dd if=/dev/zero of=/dev/acd0 bs=2k count=1 &prompt.root; bsdlabel -Bw acd0 &prompt.root; newfs /dev/acd0 Het DVD apparaat, acd0 moet worden gewijzigd naar gelang de configuratie. Het medium gebruiken Zodra de voorgaande operaties uitgevoerd zijn op de DVD-RAM kan het gekoppeld worden net als een normale harde schijf: &prompt.root; mount /dev/acd0 /mnt Hierna zal de DVD-RAM zowel lees- als beschrijfbaar zijn. Julio Merino Origineel werk door Martin Karlsson Herschreven door Diskettes aanmaken en gebruiken Soms is het opslaan van gegevens op een diskette nuttig, bijvoorbeeld als er geen andere verwijderbare opslagmedia beschikbaar zijn of als kleine hoeveelheden gegevens naar een andere computer moeten worden overgedragen. In deze sectie wordt beschreven hoe diskettes in &os; gebruikt dienen te worden. Hier worden hoofdzakelijk het formatteren en gebruik van 3,5 inch DOS-diskettes behandeld, maar de concepten zijn vergelijkbaar voor andere disketteformaten. Diskettes formatteren Het apparaat Diskettes worden benaderd door ingangen in /dev net zoals andere apparaten. Om een rauwe floppy te benaderen gebruikt u /dev/fdN. Formatteren Een diskette dient op laag niveau geformatteerd te worden voordat deze kan worden gebruikt. Dit wordt meestal door de fabrikant gedaan, maar formatteren is een goede manier om de integriteit van het medium te controleren. Hoewel het mogelijk is om grotere (of kleinere) schijfgroottes te forceren, zijn de meeste diskettes ontworpen voor 1440kB. Een diskette kan op laag niveau geformatteerd worden met &man.fdformat.1;. Dit gereedschap verwacht de apparaatnaam als parameter. Op basis van eventuele foutmeldingen kan bepaald worden of een schijf goed of slecht is. Formatteren van floppies Voor het formatteren van de diskette dienen de apparaten /dev/fdN gebruikt te worden. Nadat een 3,5 inch diskette in het station is gestoken: &prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0 Schijflabels Nadat de diskette op laag niveau is geformatteerd, dient er schijflabel aan gekoppeld te worden. Dit schijflabel wordt later vernietigd, maar het systeem heeft het nodig om later de grootte en de geometrie van de schijf te bepalen. Het nieuwe schijflabel neemt de gehele schijf over en bevat alle benodigde informatie over de geometrie van de diskette. De geometriewaarden van het schijflabel staan vermeld in /etc/disktab. Nu kan &man.bsdlabel.8; als volgt gedraaid worden: &prompt.root; /sbin/bsdlabel -B -w /dev/fd0 fd1440 Bestandssystemen Nu is de diskette klaar om op hoog niveau geformatteerd te worden. Hiermee wordt een nieuw bestandssysteem opgezet, wat &os; in staat stelt om naar de schijf te lezen en te schrijven. Nadat het nieuwe bestandssysteem is aangemaakt, wordt het schijflabel vernietigd, dus om de schijf te herformatteren is het noodzakelijk om het schijflabel opnieuw aan te maken. Het bestandssysteem voor diskettes kan zowel UFS als FAT zijn. FAT is over het algemeen een betere keuze voor diskettes. Om een nieuw bestandssysteem op de diskettes te zetten: &prompt.root; /sbin/newfs_msdos /dev/fd0 De schijf is nu klaar voor gebruik. Diskettes gebruiken Om de diskette te gebruiken kan &man.mount.msdosfs.8; gebruikt worden om het medium aan te koppelen. Ook kan emulators/mtools uit de Portscollectie worden gebruikt. Gegevensbanden aanmaken en gebruiken bandmedia Bandtechnologie is zich blijven ontwikkelen maar het is minder waarschijnlijk dat het in moderne systemen wordt gebruikt. Moderne back-upsystemen neigen om offsite gecombineerd met technologieën voor plaatselijke verwisselbare schijfstations te gebruiken. &os; zal nog steeds elk bandstation dat SCSI gebruikt zoals LTO en oudere apparaten zoals DAT ondersteunen. Er is ook beperkte ondersteuning voor SATA- en USB-bandstations. Seriële toegang met &man.sa.4; bandstations &os; gebruikt het stuurprogramma &man.sa.4;, dat /dev/sa0, /dev/nsa0 en /dev/esa0 aanbiedt. Voor normaal gebruik is alleen /dev/sa0 nodig. /dev/nsa0 is fysiek hetzelfde apparaat als /dev/sa0 maar spoelt de band niet terug nadat een bestand is geschreven. Dit maakt het mogelijk om meer dan één bestand naar een band te schrijven. /dev/esa0 werpt, indien van toepassing, de band uit nadat het apparaat is gesloten. Het bandstation met &man.mt.1; beheren bandmedia mt &man.mt.1; is het hulpmiddel van &os; om andere bewerkingen op het bandstation uit te voeren, zoals bestanden op een band doorzoeken of controlepunten naar de band schrijven. Als voorbeeld kunnen de eerste drie bestanden op een band bewaard worden door ze over te slaan voordat een nieuw bestand wordt geschreven: &prompt.root; mt -f /dev/nsa0 fsf 3 &man.tar.1; gebruiken om back-ups op banden te lezen en schrijven &man.tar.1; gebruiken om een enkel bestand naar band te schrijven: &prompt.root; tar cvf /dev/sa0 bestand Bestanden vanuit een &man.tar.1;-archief op band naar de huidige map herstellen: &prompt.root; tar xvf /dev/sa0 &man.dump.8; en &man.restore.8; gebruiken om back-ups aan te maken en te herstellen Een eenvoudige back-up van /usr maken met &man.dump.8;: &prompt.root; dump -0aL -b64 -f /dev/nsa0 /usr Interactief bestanden van een &man.dump.8;-bestand vanaf band naar de huidige map herstellen: &prompt.root; restore -i -f /dev/nsa0 Andere bandsoftware Er zijn programma's op hoger niveau beschikbaar om het back-uppen naar banden eenvoudiger te maken. De populairste zijn AMANDA en Bacula. Deze programma's hebben als doel om back-uppen eenvoudiger en aangenamer te maken, of om complexe back-ups van meerdere machines te automatiseren. De Portscollectie bevat deze beide en andere toepassingen om met banden te werken. Naar diskettes back-uppen Kunnen diskettes gebruikt worden om gegevens te back-uppen? back-updiskettes diskettes Diskettes zijn niet bepaald een geschikt medium om back-ups mee te maken, omdat: Het medium onbetrouwbaar is, in het bijzonder op de langere termijn; Het back-uppen en terugzetten erg traag is; Diskettes een zeer beperkte capaciteit hebben. De tijden dat een hele harde schijf naar een tiental diskettes kon worden geback-upped zijn allang verstreken. Maar als er geen andere manier beschikbaar is om de gegevens te back-uppen, is een back-up naar diskettes beter dan helemaal geen back-up. Gebruikte diskettes moet van goede kwaliteit zijn. Diskettes die al jaren op kantoor rondgeslingerd hebben, zijn een slechte keuze. In het ideale geval dienen nieuwe diskettes van een reputabele fabrikant gebruikt te worden. Hoe de gegevens naar diskettes back-uppen? Het beste kan naar diskettes worden geback-upped door gebruik te maken van &man.tar.1; met de optie (meerdere volumes), die back-ups over meerdere diskettes ondersteunt. Om alle bestanden in de huidige map en de submappen te back-uppen (als root): &prompt.root; tar Mcvf /dev/fd0 * Als de eerste diskette vol is, vraagt &man.tar.1; om het volgende volume. Omdat &man.tar.1; media-onafhankelijk is, refereert het aan volumes, in deze context diskettes. Prepare volume #2 for /dev/fd0 and hit return: Dit wordt herhaald (met oplopend volumenummer) totdat alle gespecificeerde bestanden zijn geback-upped. Kunnen back-ups gecomprimeerd worden? tar gzip compressie Helaas staat &man.tar.1; het gebruik van de optie niet toe voor archieven over meerdere volumes. Het is uiteraard mogelijk om alle bestanden met &man.gzip.1; te comprimeren, ze met &man.tar.1; op diskettes te zetten en ze daarna met &man.gunzip.1; weer te decomprimeren! Hoe worden de back-ups teruggezet? Om een volledige archief terug te zetten: &prompt.root; tar Mxvf /dev/fd0 Er zijn twee manieren om alleen specifieke bestanden terug te zetten. Ten eerste kan met de eerste diskette begonnen worden: &prompt.root; tar Mxvf /dev/fd0 bestandsnaam Het programma &man.tar.1; vraagt om de vervolgdiskettes totdat het benodigde bestand is gevonden. Als alternatief kan, als bekend is op welke diskette het bestand staat, de betreffende diskette worden ingestoken en bovenstaand commando gebruikt worden. Als het eerste bestand op de diskette een vervolg is van de vorige diskette, waarschuwt &man.tar.1; dat het bestand niet teruggezet kan worden, zelfs als hier niet om gevraagd is! Lowell Gilbert Oorspronkelijk werk van Back-up strategieën Het eerste wat nodig is voor het ontwepken van een back-upplan, is er voor te zorgen dat de volgende mogelijke problemen worden ondervangen: Schijffalen Per ongeluk verwijderde bestanden Willekeurige bestandscorruptie Complete machinevernietiging (door bijvoorbeeld brand), inclusief de vernietiging van lokaal beschikbare back-ups. Het is goed mogelijk dat een aantal systemen het best geholpen zijn door voor al deze problemen een andere techniek te gebruiken. Behalve voor volledig persoonlijke systemen met niet echt belangrijke gegevens, is het zelfs onwaarschijnlijk dat één techniek alle mogelijke problemen kan afvangen. Een aantal technieken in de gereedschapskist zijn: Archiveren van een heel systeem op een back-up die niet lokaal wordt bewaard. Dit biedt bescherming tegen alle hierboven beschreven problemen, maar het is langzaam en onhandig om er een restore van te maken. Het is mogelijk om lokaal een kopie aan te houden en/of online, maar dan zijn er nog steeds onhandigheden, in het bijzonder voor restores voor gebruikers met beperkte rechten. Snapshots van bestandssystemen. Dit werkt eigenlijk alleen in het geval bestanden per ongelijk verwijderd worden, maar het kan in dat geval erg handig zijn en het werkt snel en eenvoudig. Een kopie maken van hele bestandssystemen en/of schijven (bijvoorbeeld een periodieke &man.rsync.1; van een hele machine). Dit is in het algemeen het meest bruikbaar in netwerken met specifieke eisen. Voor algemene bescherming tegen het falen van een schijf, is het meestal minder geschikt dan RAID. Voor het herstellen van per ongeluk verwijderde bestanden is het vergelijkbaar aan UFS snapshots, maar dat hangt af van persoonlijke voorkeuren. RAID. Minimaliseert of voorkomt downtijd als een schijf faalt. Dit ten koste van het vaker hebben van schijven die falen (omdat er meer van zijn), maar wel met een veel lagere urgentie. Controleren van fingerprints van bestanden. Het hulpprogramma &man.mtree.8; kan hier bij helpen. Hoewel dit geen back-uptechniek is, zorgt het er wel voor dat kan worden opgemerkt wanneer back-ups geraadpleegd moeten worden. Dit is in het bijzonder belangrijk voor offline back-ups en de fingerprints horen periodiek gecontroleerd te worden. Het is makkelijk om met nog meer technieken op de proppen te komen, waaronder veel variaties op de bovengenoemde. Bijzondere eisen leiden vaak tot bijzondere oplossingen. Het back-uppen van een draaiende database vereist bijvoorbeeld een methode die toegespitst is op de gebruikte database software als tussenstap. Het is van groot belang om te onderkennen tegen welke gevaren er bescherming dient te zijn en hoe daarmee om te gaan. Back-upbeginselen De drie grote back-upprogramma's zijn &man.dump.8;, &man.tar.1; en &man.cpio.1;. Dump en Restore back-upsoftware dump / restore dump restore De traditionele back-upprogramma's voor &unix; zijn dump en restore. Deze zien het station als een verzameling van schijfblokken, onder de abstracties van bestanden, koppelingen en mappen die door de bestandssystemen worden aangemaakt. In tegenstelling tot andere back-upprogramma's, verzorgt dump een back-up van een compleet bestandssysteem op een apparaat. Het is niet in staat om slechts een gedeelte van een bestandssysteem of een mapstructuur die meer dan één bestandssysteem in beslag neemt te back-uppen. Het commando dump schrijft geen bestanden en mappen naar band, maar de rauwe gegevensblokken waaruit de bestanden en mappen bestaan. Wanneer het gebruikt wordt om gegevens te extraheren, slaat restore tijdelijke bestanden standaard op in /tmp/ — als u werkt vanaf een herstelschijf met een kleine map /tmp, moet u wellicht de omgevingsvariabele TMPDIR op een map met meer vrije ruimte instellen zodat de restore kan slagen. Indien dump op een hoofdmap wordt gebruikt, wordt er geen back-up gemaakt van /home , /usr of van de vele andere mappen, aangezien dit typisch koppelpunten voor andere bestandssystemen of symbolische koppelingen binnen deze bestandssystemen zijn. dump bevat eigenaardigheden die uit de begintijd in Versie 6 van AT&T &unix; (circa 1975) zijn overgebleven. De standaardparameters zijn geschikt voor banden met 9 sporen (6.250 bpi), niet voor de media met hoge dichtheid die vandaag beschikbaar zijn (tot 62.182 ftpi). Deze standaardwaarden dienen op de opdrachtregel overschreven te worden om de capaciteit van de huidige bandstations te benutten. .rhosts Het is ook mogelijk om gegevens met rdump en rrestore over een netwerk naar een bandstation dat aan een andere computer gekoppeld is te back-uppen. Beide programma's maken gebruik van &man.rcmd.3; en &man.ruserok.3; om toegang tot het bandstation op afstand te krijgen. De gebruiker die de back-up uitvoert moet vermeld staat in het bestand .rhosts op de computer op afstand. De argumenten die aan rdump en rrestore gegeven worden dienen geschikt te zijn voor gebruik op de computer op afstand. Als rdump gebruikt wordt om een dump te maken van een &os; computer naar een Exabyte-bandstation dat met een Sun-computer genaamd komodo verbonden is: &prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1 Let op: er kleven veiligheidsbezwaren aan het toestaan van authenticatie met .rhosts. De situatie dient goed geëvalueerd te worden. Het is ook mogelijk om dump en restore op een veiligere manier via ssh te gebruiken. Het gebruik van <command>dump</command> via <application>ssh</application> &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ doelgebruiker@doelmachine.example.com dd of=/mijngrotebestanden/dump-usr-10.gz Ook kan de ingebouwde manier van dump gebruikt worden, door de omgevingsvariabele RSH in te stellen: Het gebruik van <command>dump</command> via <application>ssh</application> met ingestelde <envar>RSH</envar> &prompt.root; env RSH=/usr/bin/ssh /sbin/dump -0uan -f doelgebruiker@doelmachine.example.com:/dev/sa0 /usr <command>tar</command> back-upsoftware tar &man.tar.1; stamt ook uit de tijd van Versie 6 van AT&T &unix; (circa 1975). Het werkt samen met het bestandssysteem. tar schrijft bestanden en mappen naar band en ondersteunt niet het volledige scala aan opties dat beschikbaar is met &man.cpio.1;, maar tar heeft niet de ongebruikelijke opdrachtpijplijn nodig die cpio gebruikt. tar Om tar toe te passen op een Exabyte-bandstation die met een Sun genaamd komodo verbonden is: &prompt.root; tar cf - . | rsh komodo dd of=tape-device obs=20b Indien de veiligheid van back-uppen over een netwerk een punt is, dient gebruik te worden gemaakt van het commando ssh en niet van rsh. <command>cpio</command> back-upsoftware cpio &man.cpio.1; is het originele &unix; bandprogramma voor magnetische media om bestanden uit te wisselen. cpio heeft opties (naast vele anderen) om byte-swapping uit te voeren, een aantal verschillende archiefformaten te schrijven en de gegevens over een pijplijn naar andere programma's te voeren. Deze laatste optie maakt cpio een uitstekende keuze voor installatiemedia. cpio weet niet hoe het door een mapstructuur moet lopen. Er dient een lijst met bestanden door stdin aangeleverd te worden. cpio cpio biedt geen ondersteuning voor back-ups over het netwerk. Er kan gebruik worden gemaakt van een pijplijn en rsh om de gegevens naar een banddrive op afstand te sturen. &prompt.root; for f in maplijst; do find $f >> back-up.lijst done &prompt.root; cpio -v -o --format=newc < back-up.lijst | ssh gebruiker@host "cat > back-upapparaat" Hier is maplijst een lijst van de mappen waarvan een back-up gemaakt dient te worden, gebruiker@host de gebruiker/hostnaam-combinatie die de back-ups uitvoert, en back-upapparaat het apparaat waar de back-ups naar toe geschreven te worden (bijvoorbeeld /dev/nsa0). <command>pax</command> back-upsoftware pax pax POSIX IEEE &man.pax.1; is het antwoord van IEEE en &posix; op tar en cpio. In de loop der jaren zijn de verscheidene versies van tar en cpio licht incompatibel geworden. Dus in plaats van dit uit te vechten en ze volledig te standaardiseren, heeft &posix; een nieuw archiveringsprogramma gemaakt. pax poogt om veel van de verscheidene formaten van cpio en tar te lezen en te schrijven, met daarbij nog nieuwe, eigen formaten. De commandoverzameling lijkt meer op die van cpio dan op die van tar. <application>Amanda</application> back-upsoftware Amanda Amanda Amanda (Advanced Maryland Network Disk Archiver) is een client/server-back-upsysteem, in plaats van een enkel programma. Een Amanda server back-upt elk aantal computers dat een Amanda client en een netwerkverbinding met de Amanda server heeft naar een enkel bandstation. Een veelvoorkomend probleem bij bedrijven met een groot aantal schijven is dat de tijd die nodig is om de gegevens direct naar band te back-uppen langer is dan de tijd die voor de taak gereserveerd is. Amanda lost dit probleem op. Amanda kan gebruik maken van een tussenschijf om verschillende bestandssystemen tegelijkertijd te back-uppen. Amanda maakt archiefverzamelingen aan, een groep banden die gedurende een tijd gebruikt wordt om volledige back-ups te maken van alle bestandssystemen die in het instellingenbestand van Amanda vermeld staan. De archiefverzameling bevat ook incrementele (of differentiële) back-ups van alle bestandssystemen. Voor het herstellen van een beschadigd bestandssysteem zijn de meest recente volledige back-up en de incrementele back-ups nodig. Het instellingenbestand biedt verfijnde controle over de back-ups en het netwerkverkeer door Amanda. Amanda kan elk bovenstaand back-upprogramma gebruiken om de gegevens naar de band te schijven. Amanda is òf als port òf als package beschikbaar. Nietsdoen Nietsdoen is geen computerprogramma, maar de de meest gebruikte back-upstrategie. Er zijn geen initiële kosten. Er is geen back-upschema om te volgen. Zeg gewoon nee. Als er iets met gegevens gebeurt, lach erom en leef ermee! Als tijd en gegevens weinig tot niets waard zijn, is Nietsdoen het meest geschikte back-upprogramma. Maar wees bedacht, &unix; is een nuttig stuk gereedschap en er is zo maar binnen zes maanden een verzameling bestanden die wèl van waarde is. Nietsdoen is de juiste back-upmethode voor /usr/obj en andere mapstructuren die zo opnieuw aangemaakt kunnen worden. Een voorbeeld zijn de bestanden waaruit de HTML- of &postscript; versie van dit Handboek bestaan. Deze documentformaten zijn vanuit XML-invoerbestanden aangemaakt. Het back-uppen van de HTML- of &postscript; bestanden is niet nodig. Van de XML-bestanden dient regelmatig een back-up gemaakt te worden. Welk back-upprogramma is het beste? LISA &man.dump.8;. Punt uit.. Elizabeth D. Zwicky heeft stresstesten op alle hierboven besproken back-upprogramma's uitgevoerd. De heldere keuze voor het behouden van alle gegevens en alle eigenaardigheden van &unix; bestandssystemen is dump. Elizabeth heeft bestandssystemen aangemaakt met een grote verscheidenheid aan ongewone omstandigheden (en enkele minder ongebruikelijke) en heeft elk programma getest door een back-up van die bestandssystemen uit te voeren en ze te herstellen. De eigenaardigheden omvatten bestanden met gaten, bestanden met gaten en een blok nullen, bestanden met vreemde tekens in hun namen, onleesbare en onschrijfbare bestanden, apparaten, bestanden waarvan de grootte verandert tijdens het back-uppen, bestanden die aangemaakt/verwijderd worden tijdens het back-uppen en meer. Ze presenteerde de resultaten op LISA V in oktober 1991. Zie torture-testing Backup and Archive Programs. Noodterugzetprocedure Vóór de ramp Er zijn slechts vier stappen om te volgen bij het voorbereiden op elke ramp die voor kan komen. bsdlabel Het schijflabel van elke schijf dient afgedrukt te worden (bijvoorbeeld met bsdlabel da0 | lpr), de bestandssysteemtabel (/etc/fstab) en alle opstartboodschappen, alles in tweevoud. livefs CD Ten tweede dient een livefs CD-ROM gebrandt te worden. Deze CD-ROM biedt ondersteuning voor het opstarten in een &os; livefs reddingsmodus die gebruiker in staat stelt om vele taken uit te voeren zoals het draaien van &man.dump.8;, &man.restore.8;, &man.fdisk.8;, &man.bsdlabel.8;, &man.newfs.8; en meer. Een livefs CD-beeld voor &os;/&arch.i386; &rel2.current;-RELEASE is beschikbaar op . Livefs CD-beelden zijn niet beschikbaar voor &os; &rel.current;-RELEASE en nieuwer. Naast de beelden voor CDROM-installaties kunnen ook beelden voor flash-drive-installaties gebruikt worden om een systeem te redden. Het memstick-beelden voor &os;/&arch.i386; &rel.current;-RELEASE is beschikbaar op . Ten derde dienen regelmatig back-upbanden aangemaakt te worden. Alle veranderingen die na de laatste back-up zijn gemaakt kunnen onherroepelijk verloren zijn gegaan. De back-upbanden dienen beveiligd te worden tegen overschrijven. Ten vierde dienen de livefs CD-ROM die in stap twee gemaakt is en de back-upbanden getest te worden. Van de handelingen dienen aantekeningen gemaakt te worden. De aantekeningen, de CD-ROM, de afdrukken en de back-upbanden dienen gezamenlijk bewaard te worden. Tijdens het herstellen kunnen de notities ervoor zorgen dat de back-upbanden vernietigd worden. Hoe? In plaats van tar xvf /dev/sa0 kan per ongeluk tar cvf /dev/sa0 worden ingetypt, waardoor de back-upband overschreven wordt. Als extra veiligheidsmaatregel dienen telkens een livefs CD-ROM en twee back-upbanden gemaakt te worden. Eén van deze banden dient op een plaats op afstand bewaard te worden. Zo'n plaats is NIET de kelder van het zelfde kantoorgebouw. Een aantal bedrijven in het World Trade Center heeft deze les op de harde manier geleerd. Zo'n plaats dient fysiek gescheiden te zijn van de computers en de schijven door een significante afstand. Na de ramp De hamvraag is: heeft de hardware het overleefd? Er zijn regelmatig back-ups gemaakt, dus zorgen over de software zijn niet nodig. Indien hardware beschadigd is, dienen kapotte onderdelen vervangen te worden voordat gepoogd wordt om een computer te gebruiken. Plaats de livefs CD-ROM in de CD-ROM drive indien de hardware in orde is en start de computer op. Het originele installatiemenu wordt op het scherm getoond. Kies het land van toepassing en kies daarna Fixit -- Repair mode with CDROM/DVD/floppy en kies het item CDROM/DVD -- Use the live filesystem CDROM/DVD. restore en de andere benodigde programma's staan in /mnt2/rescue. Herstel elk bestandssysteem apart. mount rootpartitie bsdlabel newfs Probeer de rootpartitie van de eerste schijf aan te koppelen (bijvoorbeeld mount /dev/da0a /mnt). Als het schijflabel beschadigd is, gebruik dan bsdlabel om de schijf opnieuw te partitioneren en te labelen zodat deze overeenkomt met het afgedrukte en bewaarde label. Gebruik voor het opnieuw aanmaken van de bestandssystemen newfs. Koppel de rootpartitie van de schijf opnieuw aan voor lezen en schrijven (mount -u -o rw /mnt). Gebruik voor het herstellen van de gegevens van dit bestandssysteem het back-upprogramma en de back-upbanden (bijvoorbeeld restore vrf /dev/sa0). Koppel nu het bestandssysteem af (bijvoorbeeld umount /mnt). Herhaal dit voor elk beschadigd bestandssysteem. Back-up de gegevens naar nieuwe banden als het systeem weer draait. De omstandigheden die verantwoordelijk waren voor de crash of het gegevensverlies kunnen weer voorkomen. Nu een extra uur investeren, kan later grote zorgen besparen. Marc Fonvieille Geherstructureerd en verbeterd door Netwerk-, geheugen-, en bestandsgebaseerde bestandssystemen virtuele schijven schijven virtueel Naast de schijven die fysiek in de computer zitten, diskettes, CD's, harde schijven, enzovoort, worden er ook andere vormen van schijven door &os; begrepen: de virtuele schijven. NFS Coda schijven geheugen Dit omvat netwerkbestandssystemen zoals het Network File System en Coda, geheugengebaseerde bestandssystemen en bestandsgebaseerde bestandssystemen. Nagelang de gebruikte versie van &os;, zijn er andere gereedschappen voor het aanmaken en gebruiken van bestandsgebaseerde en geheugengebaseerde bestandssystemen. Gebruik &man.devfs.8; om de apparaatnodes transparant voor de gebruiker toe te wijzen. Bestandsgebaseerd bestandssysteem schijven bestandsgebaseerd Met &man.mdconfig.8; kunnen geheugenschijven, &man.md.4;, ingesteld worden en aangezet worden. Om &man.mdconfig.8; te gebruiken, moet de module &man.md.4; geladen worden of ondersteuning aan het kernelinstellingenbestand toegevoegd worden: device md Het commando &man.mdconfig.8; ondersteunt drie types geheugen-gebaseerde virtuele schijven: geheugenschijven die met &man.malloc.9; toegewezen zijn, geheugenschijven die een bestand als basis gebruiken en geheugenschijven die swapruimte als basis gebruiken. Een mogelijk gebruik is het aankoppelen van een beeld van een diskette of CD dat in een bestand bewaard wordt. Om een bestaand beeld van een bestandssysteem aan te koppelen: <command>mdconfig</command> gebruiken om een bestaand beeld van een bestandssysteem aan te koppelen &prompt.root; mdconfig -a -t vnode -f schijfbeeld -u 0 &prompt.root; mount /dev/md0 /mnt Om een nieuw beeld van een bestandssysteem aan te maken met &man.mdconfig.8;: Nieuwe bestandsgebaseerde schijf aanmaken met <command>mdconfig</command> &prompt.root; dd if=/dev/zero of=nieuwbeeld bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdconfig -a -t vnode -f nieuwbeeld -u 0 &prompt.root; bsdlabel -w md0 auto &prompt.root; newfs md0a /dev/md0a: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840 &prompt.root; mount /dev/md0a /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 0% /mnt Indien het eenheidsnummer niet met de optie gespecificeerd wordt, gebruikt &man.mdconfig.8; de automatische toewijzing van &man.md.4; om een ongebruikt apparaat te selecteren. De naam van het toegewezen apparaat wordt op stdout weergegeven als md4. Meer details staan in de hulppagina van &man.mdconfig.8;. Het commando &man.mdconfig.8; is erg nuttig, hoewel het veel opdrachten vergt om een bestandsgebaseerd bestandssysteem aan te maken. &os; wordt met &man.mdmfs.8; geleverd. Dit programma stelt een &man.md.4;-schijf in door gebruik te maken van &man.mdconfig.8;, zet er een bestandssysteem op door gebruik te maken van &man.newfs.8; en koppel het aan door gebruik te maken van &man.mount.8;. Om hetzelfde bestandssysteembeeld als hierboven aan te maken en aan te koppelen: Instellen en aankoppelen van een bestandsgebaseerde schijf met <command>mdmfs</command> &prompt.root; dd if=/dev/zero of=nieuwbeeld bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdmfs -F nieuwbeeld -s 5m md0 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt Als de optie zonder eenheidsnummer gebruikt wordt, gebruikt &man.mdmfs.8; de automatische toewijzing van &man.md.4; om automatisch een ongebruikt apparaat te selecteren. Meer details staan in de hulppagina van &man.mdmfs.8;. Geheugengebaseerd bestandssysteem schijven geheugenbestandssysteem Voor een geheugen gebaseerd bestands systeem moet normaal gesproken wisselbestand geheugen gebruikt worden. Gebruik maken van wisselbestand geheugen wil niet perse zeggen dat de geheugen schijf direct in het wisselbestand gezet wordt, maar dat het bestand naar het wisselbestand geschreven kan worden indien nodig. Het is ook mogelijk om &man.malloc.9; gebaseerde geheugen schijven te maken, maar door hiervan gebruik te maken kan het gebeuren dat het systeem crashed als de kernel uit het geheugen loopt. Nieuwe geheugengebaseerde schijf aanmaken met <command>mdconfig</command> &prompt.root; mdconfig -a -t swap -s 5m -u 1 &prompt.root; newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 &prompt.root; mount /dev/md1 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt Nieuwe geheugengebaseerde schijf aanmaken met <command>mdmfs</command> &prompt.root; mdmfs -s 5m md2 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt Geheugenschijf van het systeem afkoppelen schijven geheugenschijf afkoppelen Als een geheugen- of bestandsgebaseerd bestandssysteem niet gebruikt wordt, dienen alle bronnen aan het systeem vrijgegeven te worden. Koppel als eerste het bestandssysteem af, gebruikt daarna &man.mdconfig.8; om de schijf van een systeem los te koppelen en de bronnen vrij te geven. Om bijvoorbeeld alle bronnen die door /dev/md4 gebruikt worden los te koppelen en vrij te geven: &prompt.root; mdconfig -d -u 4 Het is mogelijk om de informatie over ingestelde &man.md.4; apparaten weer te geven door gebruik te maken van mdconfig -l. Tom Rhodes Bijgedragen door Snapshots van bestandssystemen bestandssystemen snapshots &os; biedt een mogelijkheid om samen met Soft Updates: snapshots van bestandssystemen. Snapshots bieden de mogelijkheid om beelden van een gespecificeerd bestandssysteem te maken en ze als bestand te behandelen. Snapshotbestanden moeten aangemaakt worden in het bestandssysteem waarop de handeling wordt uitgevoerd en er mogen niet meer dan 20 snapshots per bestandssysteem worden aangemaakt. Actieve snapshots worden opgeslagen in het superblok zodat ze persistent zijn met afkoppel- en heraankoppelbewerkingen en met het opnieuw opstarten van het systeem. Als een snapshot niet langer nodig is, kan het met het standaardcommando &man.rm.1; worden verwijderd. Snapshots kunnen in elke volgorde verwijderd worden, alhoewel misschien niet alle gebruikte ruimte teruggewonnen wordt omdat sommige vrijgegeven blokken mogelijk door een ander snapshot geclaimd worden. De onveranderlijke bestandsvlag wordt door &man.mksnap.ffs.8; ingesteld nadat het snapshotbestand initieel is aangemaakt. Het commando &man.unlink.1; maakt een uitzondering voor snapshotbestanden aangezien het toestaat dat ze verwijderd worden. Snapshotbestanden worden aangemaakt met &man.mount.8;. Om een snapshot van /var in het bestand /var/snapshot/snap te plaatsen: &prompt.root; mount -o -o snapshot /var/snapshot/snap /var Als alternatief kan &man.mksnap.ffs.8; gebruikt worden om een snapshot aan te maken: &prompt.root; mksnap_ffs /var /var/snapshot/snap Snapshotbestanden kunnen gezocht worden op een bestandssysteem (bijvoorbeeld /var) door gebruik te maken van het commando &man.find.1;: &prompt.root; find /var -flags snapshot Nadat een snapshot is aangemaakt, kan het voor een aantal dingen gebruikt worden: Sommige systeembeheerders gebruiken een snapshotbestand voor back-updoeleinden, omdat het snapshot naar CD's of band overgezet kan worden; De bestandssysteem integriteit controle, &man.fsck.8; kan gebruikt worden op het snapshot. Ervan uitgaande dat het bestandssysteem schoon was toen het werd aangekoppeld, zou dit altijd een schoon (en onveranderlijk) resultaat moeten opleveren. Dit is in principe wat het &man.fsck.8;-achtergrondsproces doet; Het commando &man.dump.8; draaien op het snapshot. Er wordt een dump teruggegeven die consistent is met het bestandssysteem en tijdsstempel van het snapshot. &man.dump.8; kan ook in één commando een snapshot maken, een dumpbeeld aanmaken en daarna het snapshot verwijderen door gebruik te maken van de vlag ; Het snapshot kan met &man.mount.8; als bevroren beeld van het bestandssysteem worden aangekoppeld. Om het snapshot /var/snapshot/snap aan te koppelen: &prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4 &prompt.root; mount -r /dev/md4 /mnt Het is nu mogelijk om door de structuur van het bevroren bestandssysteem /var te lopen dat aangekoppeld is op /mnt. Alles zal initieel in dezelfde toestand verkeren als op het moment dat het snapshot werd aangemaakt. De enige uitzondering hierop is dat eerdere snapshots als bestanden met lengte nul verschijnen. Als een snapshot niet meer nodig is, kan het als volgt afgekoppeld worden: &prompt.root; umount /mnt &prompt.root; mdconfig -d -u 4 Meer informatie over en snapshots van bestandssystemen, inclusief technische documenten, staat op de website van Marshall Kirk McKusick op . Bestandssysteemquota accounten schijfruimte schijfquota Quota zijn een optionele mogelijkheid van het besturingssysteem om de hoeveelheid schijfruimte en/of het aantal bestanden dat gebruikers of leden van een groep per bestandssysteem mogen gebruiken te beperken. Dit wordt het meeste gebruikt op timesharing-systemen waar het wenselijk is om het aantal bronnen dat elke gebruiker of groep van gebruikers mag gebruiken te beperken. Dit voorkomt dat één gebruiker of groep van gebruikers alle beschikbare schijfruimte in beslag neemt. Schijfquota inschakelen Controleer alvorens te proberen om schijfquota te gebruiken of quota ingesteld zijn in de kernel. Dit gebeurt door het toevoegen van de volgende regel aan het kernelinstellingenbestand: options QUOTA De standaardkernel GENERIC heeft deze optie niet aanstaan, dus is het nodig om een eigen kernel in te stellen, te bouwen en te installeren om gebruik te kunnen maken van schijfquota. Meer informatie over het instellen van de kernel staat in . Vervolgens dienen schijfquota aangezet te worden in /etc/rc.conf. Op &os; 7.X en eerder wordt deze regel toegevoegd: enable_quotas="YES" Voeg op &os; 8.0-RELEASE en nieuwer in plaats daarvan deze regel toe: quota_enable="YES" schijfquota controleren Voor fijnere controle over de opstartquota zijn extra instellingsvariabelen beschikbaar. Normaalgesproken wordt de integriteit van de quota van elk bestandssysteem tijdens het opstarten door &man.quotacheck.8; gecontroleerd. &man.quotacheck.8; verzekert dat de gegevens in de quotadatabase een juiste afspiegeling vormen van de gegevens op het bestandssysteem. Dit proces neemt erg veel tijd in beslag en beïnvloedt de tijd die een systeem nodig heeft om op te starten significant. Om deze stap over te slaan, bestaat een variabele in /etc/rc.conf: check_quotas="NO" Als laatste dient /etc/fstab bewerkt te worden om schijfquota per bestandssysteem aan te zetten. Hier kunnen gebruiker- of groepquota of beide worden aangezet voor alle bestandssystemen. Om quota per gebruiker op een bestandssysteem aan te zetten, dient de optie aan het optieveld toegevoegd te worden aan de regel in /etc/fstab voor het bestandssysteem waar quota worden aangezet. Bijvoorbeeld: /dev/da1s2g /home ufs rw,userquota 1 2 Analoog, om groepquota aan te zetten, dient de optie in plaats van gebruikt te worden. Om zowel gebruikers- als groepsquota aan te zetten, dient de regel als volgt veranderd te worden: /dev/da1s2g /home ufs rw,userquota,groupquota 1 2 Standaard worden de quotabestanden opgeslagen in de hoofdmap van het bestandssysteem onder de namen quota.user en quota.group voor respectievelijk gebruikers- en groepsquota. Meer informatie staat in &man.fstab.5;. Alhoewel de hulppagina &man.fstab.5; vermeld dat een alternatieve plaats voor de quotabestanden gespecificeerd kan worden, wordt dit niet aangeraden omdat de verschillende quotagereedschappen dit niet juist schijnen af te handelen. Hier aangekomen dient het systeem opnieuw opgestart te worden met de nieuwe kernel. /etc/rc voert automatisch de juiste commando's uit om de initiële quotabestanden aan te maken voor alle quota die in /etc/fstab zijn aangezet. Het is dus niet nodig om handmatig quotabestanden met lengte nul aan te maken. Tijdens normale bewerkingen moet het niet nodig zijn om de commando's &man.quotacheck.8;, &man.quotaon.8; of &man.quotaoff.8; handmatig te draaien. Lees wel de betreffende hulppagina's om bekend te raken met de werking ervan. Quotalimieten instellen schijfquota limieten Indien het systeem ingesteld voor gebruik van quota, controleer dan of ze echt aanstaan. Een eenvoudige manier om dit te doen is de volgende: &prompt.root; quota -v Er hoort een eenregelige samenvatting te verschijnen over het schijfgebruik en de huidige quotalimieten voor elk bestandssysteem waarop quota aanstaan. Nu kunnen quotalimieten toegewezen worden met &man.edquota.8;. Er zijn verschillende opties om grenzen te stellen aan de hoeveelheid schijfruimte die een gebruiker of groep mag toewijzen en het aantal bestanden dat ze mogen aanmaken. Toewijzingen kunnen begrensd worden met betrekking tot schijfruimte (blokquota) of het aantal bestanden (inode-quota) of een combinatie van beide. Elk van deze limieten is op zijn beurt weer opgesplitst in twee categoriën: harde en zachte limieten. harde limiet Een harde limiet mag niet overschreden worden. Indien een gebruiker de harde limiet bereikt, mag deze geen verdere toewijzingen maken op het betreffende bestandssysteem. Indien een gebruiker bijvoorbeeld een harde limiet heeft van 500 kB op een bestandssysteem en er 490 kB van gebruikt, kan deze nog slechts 10 kB toewijzen. Een poging om 11 kB toe te wijzen zal mislukken. zachte limiet Zachte limieten kunnen voor een beperkte tijd overschreden worden. Deze periode staat bekend als de gratieperiode, die standaard een week bedraagt. Als een gebruiker de zachte limiet langer dan de gratieperiode overschrijdt, verandert de zachte limiet in een harde limiet en zijn er geen verdere toewijzingen toegestaan. Als de gebruiker onder de zachte limiet komt, wordt de gratieperiode opnieuw ingesteld. Het volgende is een voorbeeld van een mogelijk gebruik van &man.edquota.8;. Als het commando &man.edquota.8; gestart wordt, wordt de tekstverwerker opgestart die door de omgevingsvariabele EDITOR gespecificeerd is, of de tekstverwerker vi als de variabele EDITOR niet is ingesteld. Nu kunnen de quotalimieten bewerkt worden. &prompt.root; edquota -u test Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) Normaalgesproken worden er twee regels weergegeven voor elk bestandssysteem waarvoor quota gelden: één regel voor de bloklimieten, en één voor de inode-limieten. Om de quotalimieten te veranderen dient de waarde ervan veranderd te worden. Om bijvoorbeeld de bloklimiet van een gebruiker te veranderen van een zachte limiet van 50 en een harde limiet van 75 in een zachte limiet van 500 en een harde limiet van 600, dient het volgende veranderd te worden: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) In: /usr: kbytes in use: 65, limits (soft = 500, hard = 600) De nieuwe quotalimieten gelden zodra de tekstverwerker verlaten wordt. Soms is het gewenst om quotalimieten in te stellen op een aantal UID's. Dit kan gedaan worden door de optie van &man.edquota.8; te gebruiken. Wijs eerst de gewenste quotalimiet aan een gebruiker toe en draai daarna edquota -p protogebruiker beginuid-einduid. Indien bijvoorbeeld gebruiker test de gewenste quotalimieten heeft, kan het volgende commando gebruikt worden om deze quotalimieten te dupliceren voor UID's 10.000 tot en met 19.999: &prompt.root; edquota -p test 10000-19999 Meer informatie staat in de hulppagina voor &man.edquota.8;. Quotalimieten en schijfgebruik controleren schijfquota controleren Zowel &man.quota.1; als &man.repquota.8; kunnen gebruikt worden om de quotalimieten en het schijfgebruik te controleren. Het commando &man.quota.1; kan gebruikt worden om de quota van zowel individuele gebruikers als groepen en het schijfgebruik te controleren. Een gebruiker mag alleen de eigen quota en de quota van een groep waarvan deze lid is controleren. Alleen de beheerder mag alle gebruikers- en groepsquota bekijken. Het commando &man.repquota.8; kan gebruikt worden om een overzicht te krijgen van alle quota en gebruik van bestandssystemen waarvan quota aanstaan. Het volgende is een mogelijke uitvoer van het commando quota -v voor een gebruiker die quotalimieten heeft op twee bestandssystemen. Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 gratieperiode Voor het bestandssysteem /usr in bovenstaand voorbeeld overschrijdt deze gebruiker de zachte limiet van 50 kB momenteel met 15 kB en heeft deze 5 dagen van de gratieperiode over. De asterisk, * geeft aan dat de gebruiker momenteel de quotalimiet overschrijdt. Normaalgesproken worden bestandssystemen waarvan de gebruiker geen schijfruimte gebruikt niet weergegeven in de uitvoer van &man.quota.1;, zelfs niet als er de gebruiker een quotalimiet heeft voor dat bestandssysteem. De optie geeft deze bestandssystemen weer, zoals het bestandssysteem /usr/var in bovenstaand voorbeeld. Quota over NFS NFS Quota worden afgedwongen door het quota-subsysteem op de NFS-server. De daemon &man.rpc.rquotad.8; stelt quota-informatie beschikbaar aan het commando &man.quota.1; op de NFS-cliënts, wat de gebruikers op deze machines in staat stelt hun quota-statistieken in te zien. rpc.rquotad dient als volgt in /etc/inetd.conf aangezet te worden: rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad Vervolgens dient inetd opnieuw gestart te worden: &prompt.root; service inetd restart Lucky Green Bijgedragen door
shamrock@cypherpunks.to
Schijfpartities versleutelen schijven versleutelen &os; biedt uitstekende on-line bescherming tegen onbevoegde gegevenstoegang. Bestandsrechten en Mandatory Access Control (MAC) (zie ) helpen voorkomen dat onbevoegde derde partijen toegang tot de gegevens krijgen als het besturingssysteem actief is en de computer aanstaat. De door het besturingssysteem afgedwongen rechten zijn echter niet relevant als een aanvaller fysieke toegang tot een computer heeft en deze de harde schijf van de computer in een ander systeem kan plaatsen om de gevoelige gegevens te kopiëren en te analyseren. Afgezien van hoe een aanvaller in het bezit van een harde schijf of een uitgezette computer gekomen is, kan GEOM Based Disk Encryption (gbde) de gegevens op het bestandssysteem van de computer zelfs tegen hooggemotiveerde aanvallers met aanzienlijke middelen beschermen. In tegenstelling tot lastige versleutelmethoden die alleen losse bestanden versleutelen, versleutelt gbde gehele bestandssystemen op een transparante manier. De harde schijf komt nooit in aanraking met klare tekst. Los van hoe een aanvaller in het bezit van een harde schijf of een uitgezette computer gekomen is, kunnen de cryptografische subsystemen GEOM Based Disk Encryption (gbde) en geli in &os; gegevens op bestandssystemen van een computer beschermen tegen zelfs de meer gemotiveerde belagers die ook nog eens adequate middelen hebben. Anders dan met lastige versleutelingsmethoden die alleen individuele bestanden versleutelen, versleutelen gbde en geli transparant complete bestandssystemen. Er komt nooit platte tekst op een harde schijf. Schijven versleutelen met <application>gbde</application> Word <username>root</username> Het instellen van gbde vereist beheerdersrechten. &prompt.user; su - Password: Voeg ondersteuning voor &man.gbde.4; aan het kernelinstellingenbestand toe Voeg de volgende regel toe aan het kernelinstellingenbestand: options GEOM_BDE Herbouw de kernel opnieuw zoals beschreven in . Start op met de nieuwe kernel. Een alternatief voor het hercompileren van de kernel is door gebruik te maken van &man.kldload.8; om &man.gbde.4; te laden: &prompt.root; kldload geom_bde Versleutelde harde schijf voorbereiden In het volgende voorbeeld wordt aangenomen dat er een nieuwe harde schijf aan het systeem wordt toegevoegd die een enkele versleutelde partitie zal bevatten. Deze partitie wordt aangekoppeld als /private. gbde kan ook gebruikt worden om /home en /var/mail te versleutelen, maar daarvoor zijn complexere instructies nodig die buiten het bereik van deze inleiding vallen. Voeg een nieuwe harde schijf toe Voeg de nieuwe harde schijf toe zoals beschreven in . In dit voorbeeld is een nieuwe harde schijfpartitie toegevoegd als /dev/ad4s1c. De apparaten /dev/ad0s1* stellen bestaande standaard &os; partities van het voorbeeldsysteem voor. &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 Maak een map aan voor gbde lockbestanden &prompt.root; mkdir /etc/gbde Het lockbestand voor gbde bevat informatie die gbde nodig heeft om toegang te krijgen tot versleutelde partities. Zonder toegang tot de lockbestand is gbde niet in staat om de gegevens die op de versleutelde partitie staan te ontsleutelen zonder aanzienlijke handmatige tussenkomst die niet door de software ondersteund wordt. Elke versleutelde partitie gebruikt een ander lockbestand. Initialiseer de gbde-partitie Een gbde-partitie dient geïnitialiseerd te worden voordat deze kan worden gebruikt. Deze initialisatie dient slechts eenmalig uitgevoerd te worden: &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock &man.gbde.8; opent een tekstverwerker om verschillende instellingen in een sjabloon te kunnen instellen. Stel de sector_size in op 2048 als UFS of UFS2 wordt gebruikt: # $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...] &man.gbde.8; vraagt twee keer om de wachtwoordzin voor het beveiligen van de gegevens. De wachtwoordzin dient beide keren hetzelfde te zijn. De mogelijkheid van gbde om de gegevens te beveiligen is geheel afhankelijk de gekozen wachtwoordzin. Tips met betrekking tot het kiezen van veilige wachtwoordzinnen die gemakkelijk te onthouden zijn staan op de website Diceware Passphrase. Het commando gbde init maakt een lockbestand aan voor de gbde-partitie die in dit voorbeeld is opgeslagen als /etc/gbde/ad4s1c.lock. gdbde slotbestanden moeten eindigen op .lock om correct door het opstartscript /etc/rc.d/gbde gedetecteerd te worden. gbde lockbestanden moeten samen met de inhoud van versleutelde partities geback-upped worden. Hoewel het verwijderen van een lockbestand op zich een gedreven aanvaller er niet van weerhoudt een gbde partitie te ontsleutelen, is de wettige eigenaar zonder het lockbestand niet in staat om de gegevens op de versleutelde partitie te benaderen zonder een aanzienlijke hoeveelheid werk die in het geheel niet ondersteund wordt door &man.gbde.8; of de ontwerper ervan. Koppel de versleutelde partitie aan de kernel &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock Er wordt om de wachtwoordzin gevraagd die gekozen is tijdens de initialisatie van de versleutelde partitie. Het nieuwe versleutelde apparaat verschijnt in /dev als /dev/apparaatnaam.bde: &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde Maak een bestandssysteem op het versleutelde apparaat Nu het versleutelde apparaat aan de kernel gekoppeld is, kan een bestandssysteem op het apparaat aangemaakt worden. Met &man.newfs.8; kan een bestandssysteem op het versleutelde apparaat aangemaakt wordne. Aangezien het veel sneller is om een nieuw UFS2 bestandssysteem te initialiseren dan om een oud UFS1 bestandssysteem te initialiseren, is het aan te raden om &man.newfs.8; met de optie te gebruiken. &prompt.root; newfs -U -O2 /dev/ad4s1c.bde Voer &man.newfs.8; uit op een aangekoppelde gbde-partitie die geïndificeerd wordt door de uitbreiding *.bde op de apparaatnaam. Mount de versleutelde partitie Maak een koppelpunt voor het versleutelde bestandssysteem aan: &prompt.root; mkdir /private Mount het versleutelde bestandssysteem: &prompt.root; mount /dev/ad4s1c.bde /private Controleer of het versleutelde bestandssysteem beschikbaar is Het versleutelde bestandssysteem is nu zichtbaar met &man.df.1; en gebruiksklaar: &prompt.user; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private Bestaande versleutelde bestandssystemen aankoppelen Elke keer nadat het systeem is opgestart dient elk versleuteld bestandssysteem opnieuw aan de kernel gekoppeld te worden, op fouten gecontroleerd te worden, en aangekoppeld te worden voordat de bestandssystemen gebruikt kunnen worden. De benodigde commando's dienen als de gebruiker root uitgevoerd te worden. Koppel de gbde-partitie aan de kernel &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock Er wordt om de wachtwoordzin gevraagd die gekozen is tijdens de initialisatie van de versleutelde gbde-partitie. Controleer het bestandssysteem op fouten Aangezien het nog niet mogelijk is om versleutelde bestandssystemen op te nemen in /etc/fstab voor automatische controle, dienen de bestandssystemen voordat ze aangekoppeld worden handmatig op fouten gecontroleerd te worden door &man.fsck.8; uit te voeren: &prompt.root; fsck -p -t ffs /dev/ad4s1c.bde Mount het versleutelde bestandssysteem &prompt.root; mount /dev/ad4s1c.bde /private Het versleutelde bestandssysteem is nu klaar voor gebruik. Versleutelde partities automatisch aankoppelen Het is mogelijk om een script aan te maken om automatisch een versleutelde partitie aan te koppelen, op fouten te controleren en aan te koppelen, maar vanwege veiligheidsredenen dient het script niet het wachtwoord voor &man.gbde.8; te bevatten. In plaats hiervan wordt het aangeraden om zulke scripts handmatig uit te voeren en het wachtwoord via de console of &man.ssh.1; te geven. Als alternatief, wordt er een rc.d script bijgeleverd. De argumenten kunnen via &man.rc.conf.5; doorgegeven worden. Bijvoorbeeld: gbde_autoattach_all="YES" gbde_devices="ad4s1c" gbde_lockdir="/etc/gbde" Hierdoor is het noodzakelijk dat de wachtwoordzin voor gbde bij het starten wordt ingegeven. Na het invoeren van de juiste wachtwoordzin wordt de met gbde versleutelde partitie automatisch aangekoppeld. Dit kan erg handig zijn bij het gebruik van gbde op notebooks. Door gbde gebruikte cryptografische beschermingen &man.gbde.8; versleutelt de sectorlading door gebruik te maken van 128-bit AES in CBC-modus. Elke sector op de schijf wordt met een andere AES-sleutel versleuteld. Meer informatie over het cryptografische ontwerp van gbde, inclusief de methode die gebruikt wordt om de sectorsleutels van de door de gebruiker gegeven wachtwoordzin af te leiden, staan in &man.gbde.4;. Compatibiliteitspunten &man.sysinstall.8; is niet compatibel met apparaten die met gbde versleuteld zijn. Alle *.bde apparaten moeten van de kernel ontkoppeld worden voordat &man.sysinstall.8; gebruikt wordt om te voorkomen dat het crasht tijdens het initiële zoeken naar apparaten. Om het versleutelde apparaat dat in dit voorbeeld gebruikt wordt te ontkoppelen: &prompt.root; gbde detach /dev/ad4s1c - - gbde kan niet met - vinum volumes gebruikt worden, - omdat &man.vinum.4; geen gebruik maakt van het subsysteem - &man.geom.4;. Daniel Gerzo Bijgedragen door Schijfversleuteling met <command>geli</command> Een alternatieve cryptografische GEOM klassie is beschikbaar - geli. Deze wordt op het moment ontwikkeld door &a.pjd.email;. geli verschilt van gbde in de mogelijkheden en in het gebruik van een andere methode voor het versleutelen. De meest belangrijke mogelijkheden van &man.geli.8; zijn: Gebruikt het &man.crypto.9; framework; als cryptografische hardware aanwezig is, gebruikt geli die automatisch; Ondersteunt meedere cryptografische algoritmen. Op dit moment AES, Blowfish en 3DES; Staat toe dat de root-partitie wordt versleuteld. De wachtwoordzin die wordt gebruikt om de root-partitie te versleutelen wordt opgevraagd tijdens het starten van een systeem; Staat het gebruik van twee onafhankelijke sleutels toe, bijvoorbeeld een sleutel en een bedrijfssleutel); geli is snel; het werkt met sector-naar-sector versleuteling; Ondersteunt back-up en restore van Master Keys. Als een gebruiker sleutels moet vernietigen, is het mogelijk weer toegang te krijgen tot de gegevens door sleutels uit een back-up te halen; Ondersteunt het koppelen van een schijf met een willekeurige, eenmalige sleutel. Handig voor swap-partities en tijdelijke bestandssystemen. Meer mogelijkheden van geli staan beschreven in de handleiding van &man.geli.8;. De volgende stappen beschrijven hoe ondersteuning voor geli in de &os;-kernel ingeschakeld kan worden en hoe een nieuwe geli versleutelingsvoorziening gemaakt kan worden. Het is noodzakelijk super-user rechten te hebben omdat de kernel wordt aangepast. Toevoegen van <command>geli</command>-ondersteuning Voeg de volgende regels toe aan het bestand met kernelinstellingen: options GEOM_ELI device crypto Herbouw de kernel zoals beschreven is in . De geli-module kan ook bij het opstarten geladen worden. Voeg de volgende regel toe aan /boot/loader.conf: geom_eli_load="YES" Nu hoort &man.geli.8; door de kernel ondersteund te worden. Een Master Key genereren Het volgende voorbeeld beschrijft hoe een sleutelbestand te maken, dat wordt gebruikt als onderdeel van de Master Key voor de versleutelde dienst die wordt aangekoppeld onder /private. Het sleutelbestand zorgt voor wat willekeurige gegevens die worden gebruikt om de Master Key te versleutelen. De Master Key wordt ook door een wachtwoordzin beschermd. De sectorgrootte van de dienst wordt 4 kB. Ook wordt beschreven hoe de geli-dienst te koppelen, er een bestandsysteem op te maken, dat aan te koppelen, hoe ermee te werken en tenslotte hoe te ontkoppelen. Het wordt aangeraden een grotere sectorgrootte in te stellen (zoals 4 kB) voor betere prestaties. De Master Key wordt beschermd door een wachtwoordzin en de gegevensbron voor het sleutelbestand wordt /dev/random. De sectorgrootte van /dev/da2.eli, die als dienst wordt aangeduid, wordt 4 kB. &prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1 &prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2 Enter new passphrase: Reenter new passphrase: Het is niet verplicht om zowel een wachtwoordzijn als een sleutelbestand te gebruiken. De methodes kunnen onafhankelijk van elkaar gebruikt worden. Als een sleutelbestand wordt opgegeven als -, wordt de standaardinvoer gebruikt. In het onderstaande voorbeeld wordt aangegeven hoe meer dan een sleutelbestand kan worden gebruikt. &prompt.root; cat sleutelbestand1 sleutelbestand2 sleutelbestand3 | geli init -K - /dev/da2 De dienst koppelen met de gemaakte sleutel &prompt.root; geli attach -k /root/da2.key /dev/da2 Enter passphrase: Het nieuwe platte tekst-apparaat wordt /dev/da2.eli genoemd. &prompt.root; ls /dev/da2* /dev/da2 /dev/da2.eli Het nieuwe bestandssysteem maken &prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m &prompt.root; newfs /dev/da2.eli &prompt.root; mount /dev/da2.eli /private Het versleutelde bestandssysteem moet nu zichtbaar zijn voor &man.df.1; en beschikbaar zijn voor gebruik: &prompt.root; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 248M 89M 139M 38% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr /dev/ad0s1d 989M 1.5M 909M 0% /tmp /dev/ad0s1e 3.9G 1.3G 2.3G 35% /var /dev/da2.eli 150G 4.1K 138G 0% /private De dienst afkoppelen Als het werk met de versleutelde partitie is afgehandeld en de /private-partitie niet langer nodig is, dan is het verstandig te overwegen de met geli versleutelde partitie af te koppelen van het bestandssysteem en de kernel. &prompt.root; umount /private &prompt.root; geli detach da2.eli Meer informatie over &man.geli.8; staat in de handleiding. Gebruik maken van het <filename>geli</filename> <filename>rc.d</filename> script. Bij geli hoort een rc.d script dat gebruikt kan worden om het gebruik van geli te vereenvoudigen. Een voorbeeld van hoe geli met &man.rc.conf.5; ingesteld kan worden volgt: geli_devices="da2" geli_da2_flags="-p -k /root/da2.key" Hiermee wordt /dev/da2 ingesteld als geli-dienst met Master Key-bestand /root/da2.key en geli gebruikt geen wachtwoordzin als de dienst wordt gekoppeld (dit kan alleen gebruikt worden als is meegegeven tijdens de geli init fase van geli). Een systeem ontkoppelt de geli-dienst van de kernel voordat het afsluit. Meer informatie over het instellen van rc.d staat in het onderdeel over rc.d.
Christian Brüffer Geschreven door Remko Lodder Vertaald door Het versleutelen van de wisselbestand ruimte swap encrypting Het versleutelen van de wisselbestand ruimte is gemakkelijk met &os; te configureren. Afhankelijk van welke versie er gebruikt wordt zijn er verschillende configuratie opties en instellingen mogelijk. De &man.gbde.8; en &man.geli.8; programma's kunnen gebruikt worden voor het versleutelen van het wisselbestand. Beide systemen maken gebruik van het encswap rc.d script. De vorige sectie, Schijfpartities versleutelen, biedt een korte discussie over de verschillende versleutel systemen. Waarom moet het wisselbestand versleuteld worden? Net als met het versleutelen van harde schijven, wordt het versleutelen van het wisselbestand gebruikt om gevoelige data te beschermen. Stelt u eens een applicatie voor dat omgaat het wachtwoorden. Zolang deze wachtwoorden in het fysieke geheugen blijven is er niets aan de hand. Echter zodra deze verplaatst worden naar het wisselbestand om ruimte te maken voor andere applicaties, kan het gebeuren dat de wachtwoorden onbeschermd op de harde schijf geschreven worden, waardoor het makkelijk te achterhalen is voor iemand die kwaad wilt. Het versleutelen van het wisselbestand biedt hierin een mogelijke uitkomst. Voorbereiding Tot het einde van deze sectie zal ad0s1b het wisselbestand bevatten. Tot op dit moment is het wisselbestand niet versleuteld. Het is mogelijk dat er reeds wachtwoorden of andere gevoelige data onbeschermd op de harde schijf geschreven zijn. Om dit te corrigeren, moet de data op de swap partitie overschreven worden met willekeurige data: &prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1m Versleutelen van het wisselbestand met &man.gbde.8; Er moet gebruik gemaakt worden van het .bde achtervoegsel aan het apparaat in de respectievelijke /etc/fstab-regel betreffende het wisselbestand: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0 Versleutelen van het wisselbestand met &man.geli.8; Het opzetten van &man.geli.8; voor het versleutelen van het wisselbestand is hetzelfde als dat van &man.gbde.8;. Hier moet echter gebruik gemaakt worden van het .eli achtervoegsel aan het apparaat in de respectievelijke /etc/fstab wisselbestand regel: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0 &man.geli.8; maakt standaard gebruik van het AES algoritme met een sleutellengte van 128 bits. Optioneel kunnen deze standaardwaarden worden aangepast door gebruik te maken van de geli_swap_flags optie in /etc/rc.conf. De volgende regel verteld het encswap rc.d bestand om een &man.geli.8; wisselbestand te maken met het Blowfish algoritme met een sleutel lengte van 128 bit, een sectorgrootte van 4 kilobytes en met de optie ontkoppelen nadat de laatste afsluiting gezet: geli_swap_flags="-e blowfish -l 128 -s 4096 -d" Zie de uitleg over het onetime commando in de &man.geli.8; handleiding voor een lijst van mogelijke opties. Controleren of het werkt Zodra het systeem opnieuw opgestart is kan gekeken worden of alles nog goed werkt door gebruik te maken van het swapinfo commando. Als gebruik gemaakt wordt van &man.gbde.8;: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0% Als gebruik gemaakt wordt van &man.geli.8;: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0% Daniel Gerzo Bijgedragen door Freddie Cash Met informatie van Pawel Jakub Dawidek Michael W. Lucas Viktor Petersson Highly Available Storage (HAST) HAST hoge beschikbaarheid Overzicht Hoge beschikbaarheid is een van de hoofdzaken in serieuze zakelijke toepassingen en hoog beschikbare opslag is een sleutelonderdeel in zulke omgevingen. Hoog beschikbare opslag, of HASTHighly Available STorage, werd ontwikkeld door &a.pjd.email; als een raamwerk dat transparante opslag van dezelfde gegevens toestaat over fysiek gescheiden machines die verbonden zijn door een TCP/IP-netwerk. HAST kan gezien worden als een netwerkgebaseerde RAID1 (spiegel) en is vergelijkbaar met het DRBD® opslagsysteem bekend van het GNU/&linux; platform. In combinatie met andere eigenschappen voor hoge beschikbaarheid van &os; zoals CARP maakt HAST het mogelijk om een opslagcluster met hoge beschikbaarheid te bouwen dat resistent is tegen falende hardware. Na het lezen van deze sectie weet u: Wat HAST is, hoe het werkt en welke mogelijkheden het biedt. Hoe HAST op &os; te op te zetten en te gebruiken. Hoe CARP en &man.devd.8; te integreren om een robuust opslagsysteem te bouwen. Voor het lezen van deze sectie dient u: De beginselen van &unix; en &os; te begrijpen (). Te weten hoe de netwerkinterfaces en andere kerndeelsystemen van &os; in te stellen (). Netwerken op &os; goed te begrijpen (). &os; 8.1-RELEASE of nieuwer te gebruiken. Het HAST-project werd gesponsord door The &os; Foundation met ondersteuning van OMCnet Internet Service GmbH en TransIP BV. Eigenschappen van HAST De belangrijkste eigenschappen van HAST zijn: Het kan gebruikt worden om I/O-fouten op lokale harde schijven te maskeren. Agnostisch qua bestandssysteem, dus het werkt met elk bestandssysteem dat door &os; wordt ondersteund. Efficiënte en snelle hersynchronisatie, alleen de blokken die zijn veranderd toen een knooppunt uitstond worden gesynchroniseerd. Het kan gebruikt worden in reeds uitgerolde omgevingen om aanvullende redundantie toe te voegen. Samen met CARP, Heartbeat of andere gereedschappen kan het worden gebruikt om een robuust en duurzaam opslagsysteem te bouwen. Werking van HAST Omdat HAST synchrone replicatie op blokniveau van elk opslagmedium naar verscheidene machines biedt, heeft het tenminste twee knooppunten (fysieke machines) nodig — het primaire (ook bekend als meester) knooppunt en het secundaire (slaaf) knooppunt. Tezamen worden deze twee machines een cluster genoemd. HAST is momenteel beperkt tot een totaal van twee clusterknooppunten. Aangezien HAST in een primaire-secundaire configuratie werkt, kan er op elk moment slechts één van de clusterknooppunten actief zijn. Het primaire knooppunt, ookwel actief, is degene die alle I/O-verzoeken aan apparaten die door HAST worden beheerd afhandelt. Het secundaire knooppunt wordt dan automatisch gesynchroniseerd vanuit het primaire knooppunt. De fysieke componenten van het HAST-systeem zijn: lokale schijf (op primair knooppunt) schijf op verre machine (secundair knooppunt) HAST werkt synchroon op blokniveau, wat het transparant maakt voor bestandssystemen en toepassingen. HAST biedt reguliere GEOM-aanbieders aan in /dev/hast/ voor zowel andere gereedschappen als toepassingen, er is dus geen verschil tussen het gebruik van apparaten die door HAST worden geleverd en rauwe schijven, partities, etc. Elke bewerking met betrekking tot schrijven, verwijderen of spoelen wordt naar de plaatselijke schijf en over TCP/IP naar de verre schijf gestuurd. Elke leesbewerking wordt gedaan door de plaatselijke schijf, tenzij de plaatselijke schijf niet actueel is of er een I/O-fout optreed. In zulke gevallen wordt de leesbewerking naar het secundaire knooppunt gestuurd. Synchronisatie- en replicatiemodi HAST probeert om een snel herstel van fouten te leveren. Om deze reden is het heel belangrijk om de synchronisatietijd te verkorten nadat een knooppunt is hersteld van een uitval. Om een snelle synchronisatie te leveren, beheert HAST op de schijf een bitmap van gebruikte extents en synchroniseert het die alleen tijdens een reguliere synchronisatie (met uitzondering van de initiëe synchronisatie). Er zijn vele manieren om synchronisatie af te handelen. HAST implementeert meerdere replicatiemodi om verschillende synchronisatiemethodes af te handelen: memsync: rapporteer een schrijfbewerking als voltooid wanneer de plaatselijke schrijfbewerking klaar is en wanneer het verre knooppunt de gegevensaankomst bevestigt, maar voordat het de gegevens daadwerkelijk heeft opgeslagen. De gegevens op het verre knooppunt zullen meteen na het versturen van de bevestiging worden opgeslagen. Deze modus is bedoeld om latency te verminderen en nog steeds een zeer goede betrouwbaarheid te bieden. De replicatiemodus memsync is momenteel niet geïmplementeerd. fullsync: rapporteer een schrijfbewerking als voltooid wanneer zowel de plaatselijke en de verre schrijfbewerking voltooid zijn. Dit is de veiligste en traagste replicatiemodus. Dit is de standaardmodus. async: rapporteer de schrijfbewerking als voltooid wanneer de plaatselijke schrijfbewerking klaar is. Dit is de snelste en gevaarlijkste replicatiemodus. Het dient gebruikt te worden wanneer er naar een ver knooppunt wordt gerepliceerd en de latency te hoog is voor andere modi. De replicatiemodus async is momenteel niet geïmplementeerd. Momenteel wordt alleen de replicatiemodus fullsync ondersteund. HAST-configuratie HAST heeft ondersteuning voor GEOM_GATE nodig om te kunnen functioneren. De kernel GENERIC bevat standaard geen GEOM_GATE, de laadbare module geom_gate.ko is echter beschikbaar in de standaardinstallatie van &os;. Zorg ervoor dat deze module beschikbaar is voor afgeslankte systemen. Het is ook mogelijk om ondersteuning voor GEOM_GATE statisch in de kernel te bouwen, door deze regel aan het kernelconfiguratiebestand toe te voegen: options GEOM_GATE Het HAST-raamwerk bestaat vanuit het besturingssysteem gezien uit verschillende delen: het daemon &man.hastd.8; dat verantwoordelijk is voor de gegevenssynchronisatie, het beheerprogramma &man.hastctl.8; voor de gebruikers, het configuratiebestand &man.hast.conf.5;. Het volgende voorbeeld beschrijft hoe twee knooppunten in een meester-slaaf / primaire-secundaire opstelling te configureren door HAST te gebruiken om de gegevens tussen de twee te repliceren. De knooppunten worden hasta met IP-adres 172.16.0.1 en hastb met IP-adres 172.16.0.2 genoemd. Beide knooppunten hebben een toegewijde harde schijf /dev/ad6 van dezelfde grootte om met HAST te werken. De HAST-pool (soms ook een hulpbron genoemd, i.e., de GEOM-aanbieder in /dev/hast/) wordt test genoemd. Het bestand /etc/hast.conf regelt de configuratie van HAST. Dit bestand dient hetzelfde te zijn op beide knooppunten. Het volgende is de eenvoudigste configuratie die mogelijk is: resource test { on hasta { local /dev/ad6 remote 172.16.0.2 } on hastb { local /dev/ad6 remote 172.16.0.1 } } Raadpleeg voor geavanceerdere configuraties de handleidingpagina &man.hast.conf.5;. Het is ook mogelijk om hostnamen in de regels met remote te gebruiken. Zorg er in dat geval voor dat deze hosts vindbaar zijn, bijvoorbeeld doordat ze zijn gedefinieerd in het bestand /etc/hosts of anders in het plaatselijke DNS. Nu de configuratie op beide knooppunten aanwezig is, kan de HAST-pool aangemaakt worden . Voer deze commando's op beide knooppunten uit om de initiële metagegevens op de plaatselijke schijf te plaatsen en het &man.hastd.8;-daemon te starten: &prompt.root; hastctl create test &prompt.root; service hastd onestart Het is niet mogelijk om GEOM-aanbieders met een bestaand bestandssysteem te gebruiken (i.e., een bestaande opslag omzetten naar een door HAST beheerde pool), omdat deze procedure wat metagegevens op de aanbieder moet opslaan en er daarvoor niet genoeg beschikbare ruimte is. De rol van een HAST-knooppunt (primair of secundair) wordt uitgekozen door een beheerder of software zoals Heartbeat dat het gereedschap &man.hastctl.8; gebruikt. Voer het volgende commando uit op het primaire knooppunt ( hasta): &prompt.root; hastctl role primary test Voer dit soortgelijke commando uit op het secundaire knooppunt ( hastb): &prompt.root; hastctl role secondary test De situatie dat de knooppunten niet met elkaar kunnen communiceren en beide geconfigureerd zijn als primaire knooppunten; wordt split-brain genoemd. Volg de stappen zoals beschreven in om deze situatie op te lossen. Verifieer met het gereedschap &man.hastctl.8; het resultaat op elk knooppunt: &prompt.root; hastctl status test De belangrijke tekst is de regel met status dat voor alle knooppunten complete dient te bevatten. Als het degraded bevat, is er iets verkeerd gegaan. Op dat moment is de synchronisatie tussen de knooppunten al begonnen. De synchronisatie is compleet wanneer hastctl status 0 bytes aan dirty extents rapporteert. De volgende stap is het aanmaken van een bestandssysteem op de GEOM-aanbieder /dev/hast/test en het aan te koppelen. Dit moet op het primaire knooppunt gebeuren, aangezien /dev/hast/test alleen op het primaire knooppunt verschijnt. Het aanmaken van het bestandssysteem kan afhankelijk van de grootte van de harde schijf enkele minuten duren: &prompt.root; newfs -U /dev/hast/test &prompt.root; mkdir /hast/test &prompt.root; mount /dev/hast/test /hast/test Wanneer het HAST-raamwerk correct is geconfigureerd, betreft de laatste stap het ervoor zorgen dat HAST automatisch tijdens het opstarten wordt gestart. Voeg deze regel toe aan het bestand /etc/rc.conf: hastd_enable="YES" Failover-configuratie Het doel van dit voorbeeld is om een robuust opslagsysteem te bouwen dat resistent is tegen het falen van alle knooppunten. Het scenario is dat een primair knooppunt van het cluster faalt. Als dit gebeurt, dan neemt het secundaire knooppunt het feilloos over, controleert het het bestandssysteem en koppelt het het bestandssysteem aan, en gaat het verder zonder dat er een bit aan gegevens ontbreekt. Om dit voor elkaar te krijgen, is er een andere eigenschap die beschikbaar is op &os; dat voorziet in automatische failover van de IP-laag — CARP. CARP (Common Address Redundancy Protocol) maakt het mogelijk dat meerdere hosts in hetzelfde netwerksegment een IP-adres delen. Stel CARP in op beide knooppunten van het cluster volgens de documentatie die beschikbaar is in . Nadat de opzet voltooid is, heeft elk knooppunt een eigen interface carp0 met een gedeeld IP-adres 172.16.0.254. Het primaire HAST-knooppunt van het cluster moet het meester-CARP-knooppunt zijn. De HAST-pool die in de vorige sectie is gemaakt is nu klaar om geëxporteerd te worden naar de andere hosts op het netwerk. Dit kan gedaan worden door het te exporteren over NFS, Samba, etc., door gebruik te maken van het gedeelde IP-adres 172.16.0.254. Het enige overgebleven probleem is een automatische failover in het geval dat het primaire knooppunt het begeeft. Als een CARP-interface aan- of uitgaat, genereert &os; een &man.devd.8;-gebeurtenis, wat het mogelijk maakt om toestandsveranderingen op de CARP-interfaces in de gaten te houden. Een toestandsverandering op het CARP-interface geeft aan dat een van de knooppunten het begaf of weer online kwam. Deze toestandsveranderingen maken het mogelijk om een script te draaien dat automatisch de HAST-failover afhandelt. Voeg, om toestandsverandering op de CARP-interfaces af te vangen, het volgende toe aan het bestand /etc/devd.conf op elk knooppunt: notify 30 { match "system" "IFNET"; match "subsystem" "carp0"; match "type" "LINK_UP"; action "/usr/local/sbin/carp-hast-switch master"; }; notify 30 { match "system" "IFNET"; match "subsystem" "carp0"; match "type" "LINK_DOWN"; action "/usr/local/sbin/carp-hast-switch slave"; }; Herstart &man.devd.8; op beide knooppunten om de nieuwe configuratie te laten gelden: &prompt.root; service devd restart Als het interface carp0 aan of uit gaat (i.e., de toestand van het interface verandert), genereert het systeem een notificatie wat het subsysteem &man.devd.8; in staat stelt om een willekeurig script te draaien, in dit geval /usr/local/sbin/carp-hast-switch. Dit is het script dat de automatische failover afhandelt. Raadpleeg de handleidingpagina &man.devd.conf.5; voor verdere uitleg over de bovenstaande configuratie van &man.devd.8;. Dit zou een voorbeeld van zo'n script kunnen zijn: #!/bin/sh # Origineel script door Freddie Cash <fjwcash@gmail.com> # Gewijzigd door Michael W. Lucas <mwlucas@BlackHelicopters.org> # en Viktor Petersson <vpetersson@wireload.net> # De namen van de HAST-hulpbronnen, zoals vermeld in /etc/hast.conf resources="test" # vertraging voor het aankoppelen van de HAST-hulpbron na het worden van meester # doe een gok delay=3 # logging log="local0.debug" name="carp-hast" # einde van gebruiker-instelbare dingen case "$1" in master) logger -p $log -t $name "Omschakelen naar primaire aanbieder voor ${resources}." sleep ${delay} # Wacht totdat de "hastd secondary" processen zijn gestopt for disk in ${resources}; do while $( pgrep -lf "hastd: ${disk} \(secondary\)" > /dev/null 2>&1 ); do sleep 1 done # Verwissel de rol voor elke schijf hastctl role primary ${disk} if [ $? -ne 0 ]; then logger -p $log -t $name "Omschakelen van rol naar primair voor hulpbron ${disk} mislukt." exit 1 fi done # Wacht totdat de apparaten /dev/hast/* verschijnen for disk in ${resources}; do for I in $( jot 60 ); do [ -c "/dev/hast/${disk}" ] && break sleep 0.5 done if [ ! -c "/dev/hast/${disk}" ]; then logger -p $log -t $name "GEOM-aanbieder /dev/hast/${disk} is niet verschenen." exit 1 fi done logger -p $log -t $name "Rollen van HAST-hulpbronnen ${resources} omgeschakeld naar primair." logger -p $log -t $name "Schijven aankoppelen." for disk in ${resources}; do mkdir -p /hast/${disk} fsck -p -y -t ufs /dev/hast/${disk} mount /dev/hast/${disk} /hast/${disk} done ;; slave) logger -p $log -t $name "Omschakelen naar secundaire aanbieder voor ${resources}." # Schakel de rollen van de HAST-hulpbronnen om for disk in ${resources}; do if ! mount | grep -q "^/dev/hast/${disk} on " then else umount -f /hast/${disk} fi sleep $delay hastctl role secondary ${disk} 2>&1 if [ $? -ne 0 ]; then logger -p $log -t $name "Omschakelen van rol naar secundair voor hulpbron ${disk} mislukt." exit 1 fi logger -p $log -t $name "Rol van hulpbron ${disk} omgeschakeld naar secundair." done ;; esac In een notendop neemt het script deze acties wanneer een knooppunt meester / primair wordt: De HAST-pools opwaarderen naar primair op een gegeven knooppunt. Het bestandssysteem onder de HAST-pool controleren. De pools op een juiste plaats aankoppelen. Wanneer een knooppunt back-up / secundair wordt: De HAST-pools afkoppelen. De HAST-pools degraderen naar secundair. Houd in gedachte dat dit slechts een voorbeeldscript is om aan te tonen dat alles werkt. Het behandeld niet alle mogelijke situaties en kan op elke manier worden uitgebreid of veranderd, het kan bijvoorbeeld benodigde diensten starten en stoppen. Voor dit voorbeeld hebben we een standaard UFS-bestandssysteem gebruikt. Om de tijd die nodig is voor herstel te verkorten, kan een bestandssysteem met UFS-journalling of ZFS worden gebruikt. Meer gedetailleerde informatie met aanvullende voorbeelden kunnen gevonden worden op de HAST Wiki-pagina. Problemen oplossen Algemene tips om problemen op te lossen HAST zou over het algemeen zonder problemen moeten werken. Net als met elk ander software-product zijn er momenten waarop het anders werkt dan het zou moeten. De oorzaken van de problemen kunnen verschillen, maar de vuistregel is om ervoor te zorgen dat de klokken zijn gesynchroniseerd op alle knooppunten in het cluster. Wanneer problemen met HAST worden verholpen, dient het debug-niveau van &man.hastd.8; verhoogd te worden door het daemon &man.hastd.8; met het argument -d op te starten. Merk op dat dit argument meerdere malen kan worden opgegeven om het debug-niveau nog verder op te hogen. Op deze manier kan veel nuttige informatie worden vergaard. Overweeg ook om het argument -F te gebruiken, dat het daemon &man.hastd.8; in de voorgrond zal starten. Herstellen van de Split-brain-conditie Split-brain treedt op waneer de knooppunten van het cluster niet met elkaar kunnen communiceren, en beide als primair zijn geconfigureerd. Dit is een gevaarlijke situatie omdat het beide knooppunten in staat stelt om incompatibele veranderingen aan de gegevens te maken. Dit probleem dient handmatig door de systeembeheerder te worden gecorrigeerd. De beheerder moet besluiten welk knooppunt de belangrijkere veranderingen bevat (of ze handmatig samenvoegen) en HAST een volledige synchronisatie op het knooppunt dat de kapotte gegevens heeft laten uitvoeren. Voer hiervoor deze commando's uit op het knooppunt dat opnieuw gesynchroniseerd moet worden: &prompt.root; hastctl role init <resource> &prompt.root; hastctl create <resource> &prompt.root; hastctl role secondary <resource>
diff --git a/nl_NL.ISO8859-1/books/handbook/preface/preface.xml b/nl_NL.ISO8859-1/books/handbook/preface/preface.xml index ee40e07772..572306732b 100644 --- a/nl_NL.ISO8859-1/books/handbook/preface/preface.xml +++ b/nl_NL.ISO8859-1/books/handbook/preface/preface.xml @@ -1,858 +1,839 @@ Voorwoord Bedoeld publiek De nieuwkomers bij &os; zullen zien dat de eerste sectie van dit boek ze begeleidt door de &os; installatieprocedure en de geleidelijke introductie in de concepten van &unix;. Om deze sectie goed te kunnen doorlopen is meer nodig dan de wens om te ontdekken en de mogelijkheid om nieuwe concepten op te nemen wanneer ze geïntroduceerd worden. De tweede, veel grotere, sectie van het handboek is een uitvoerige referentie naar alle mogelijke (relevante) onderwerpen die interessant zijn voor &os; systeembeheerders. Sommige van deze hoofdstukken adviseren mogelijk om eerdere documentatie te lezen. Dit wordt aangegeven in de samenvatting aan het begin van elk hoofdstuk. Voor een lijst van extra bronnen van informatie zie . Wijzigingen ten opzichte van de derde editie De huidige online versie van het Handboek representeert de gezamenlijke inspanning van vele honderden bijdragende vrijwilligers van de laatste 10 jaar. Hieronder staan enkele van de belangrijke wijzigingen sinds de tweedelige derde editie in 2004 werd uitgegeven: , &dtrace;, is toegevoegd met informatie over het krachtige prestatie-analysegereedschap &dtrace;. , Ondersteuning voor bestandssystemen, is toegevoegd met informatie over vreemde bestandssystemen in &os;, zoals ZFS van &sun;. , Beveiliginsgebeurtenissen auditen, is toegevoegd om de nieuwe auditing-mogelijkheden van &os; te bespreken en het gebruik ervan uit te leggen. , Virtualisatie, is toegevoegd met informatie over het installeren van &os; op virtualisatiesoftware. , &os; 9.X en nieuwer installeren, is toegevoegd om het installeren van &os; met het nieuwe installatiegereedschap, bsdinstall te behandelen. Wijzigingen ten opzichte van de tweede editie (2004) De derde editie was het resultaat van meer dan twee jaar werk van de toegewijde leden van het &os; Documentation Project. De gedrukte editie werd zo groot dat het noodzakelijk was om het was om het als twee afzonderlijke delen te publiceren. Hieronder staan de grootste veranderingen in deze nieuwe editie: , Instellingen en optimalisatie, is uitgebreid met nieuwe informatie over ACPI power en resource management, het systeemhulpprogramma cron en er staan meer opties voor het optimaliseren van de kernel beschreven. , Beveiliging, is uitgebreid met meer informatie over virtuele private netwerken (VPN's), toegangscontrolelijsten voor het bestandssysteem (ACL's) en beveiligingswaarschuwingen. , Verplichte toegangscontrole (MAC), is een nieuw hoofdstuk in deze editie. Er wordt in uitgelegd wat MAC is en hoe het gebruikt kan worden om &os; te beveiligen. , Opslag, is uitgebreid met informatie over USB opslagapparaten, snapshots van bestandssystemen, bestandssystemen op basis van bestanden en het netwerk en versleutelde partities op schijven. - - , Vinum, is een nieuw - hoofdstuk in deze editie. Er wordt in beschreven hoe - Vinum gebruikt kan worden. Vinum is een logische volume - manager die apparaat onafhankelijke logische schijven kan - aanbieden en software RAID-0, RAID-1 en RAID-5. - - Aan , PPP en SLIP, is een paragraaf toegevoegd over problemen oplossen. , E-mail, is uitgebreid met informatie over alternatieve transport programma's, SMTP authenticatie, UUCP, fetchmail, procmail en een aantal andere gevorderde onderwerpen. , Netwerkdiensten, is nieuw in deze editie. Dit hoofdstuk bevat informatie over het opzetten van een Apache HTTP Server, ftpd en het opzetten van een server voor µsoft; &windows; clients met Samba. Een aantal paragrafen uit , Geavanceerde Netwerken, zijn om reden van presentatie naar dit hoofdstuk verplaatst. , Netwerken voor gevorderden, is uitgebreid met informatie over het gebruik van &bluetooth; apparaten met &os;, het opzetten van draadloze netwerken en Asynchronous Transfer Mode (ATM) netwerken. Er is een termenoverzicht toegevoegd als centrale locatie voor definities van technische termen die in dit boek gebruikt worden. Tenslotte zijn er nog veel esthetische wijzigingen doorgevoerd aan tabellen en figuren in het boek. Veranderingen ten opzichte van de eerste editie (2001) Deze tweede editie is een optelsom van meer dan twee jaar werk door vaste leden van het &os; Documentation Project. Het volgende zijn de grote wijzigingen in deze editie: Er is een complete INDEX toegevoegd. Alle ASCII-figuren zijn vervangen door grafische diagrammen. Aan elk hoofdstuk is een standaardsamenvatting toegevoegd om een snel overzicht te geven welke informatie zich in het hoofdstuk bevindt en wat de lezer geacht wordt te weten. De inhoud is logisch ingedeeld in drie delen: Starten, Systeembeheer en Appendix. (&os; installeren) is compleet herschreven met veel schermafdrukken erbij om het makkelijker te maken voor nieuwe gebruikers om greep te krijgen op de tekst. (&unix; beginselen) is uitgebreid met extra informatie over processen, daemons en signalen. (Applicaties installeren) is uitgebreid met extra informatie over binair package-beheer. (Het X Window systeem) is compleet herschreven met de nadruk op het gebruik van moderne bureaubladtechnologiën zoals KDE en GNOME op &xfree86; 4.X. (Het &os; Opstartproces) is uitgebreid. (Opslag) is herschreven uit wat eens twee aparte hoofdstukken waren over schijven en back-ups. We vinden dat de onderwerpen beter begrijpbaar zijn wanneer ze in één hoofdstuk zijn ondergebracht. Er is ook een sectie over RAID (zowel hardware- als softwarematig) toegevoegd. (Seriële communicatie) is compleet gereorganiseerd en bijgewerkt voor &os; 4.X/5.X. (PPP en SLIP) is aanzienlijk bijgewerkt. Veel nieuwe secties zijn toegevoegd aan (Geavanceerd netwerken). (E-mail) is uitgebreid met meer informatie over het instellen van sendmail. ( &linux; binaire compatibiliteit) is uitgebreid met informatie over het installeren van &oracle;. De volgende nieuwe onderwerpen worden behandeld in de tweede editie: Instellingen en optimalisatie (). Multimedia () De opbouw van dit boek Dit boek is opgedeeld in vijf logische secties. De eerste sectie, Beginnen, behandelt de installatie en het basisgebruik van &os;. Er wordt verwacht dat lezers deze hoofdstukken volgt, en mogelijk hoofdstukken overslaat met bekende onderwerpen. De tweede sectie, Algemene Taken, behandelt veelgebruikte functies van &os;. Deze sectie en alle volgende kunnen in een willekeurige volgorde gelezen worden. Iedere sectie begint met een beknopte samenvatting die beschrijft wat het hoofdstuk inhoudt en wat de lezer al moet weten. Dit is bedoeld om de lezer de kans te geven alleen dat te lezen wat voor hem van belang is. In de derde sectie, Systeembeheer, wordt het beheer behandeld. De vierde sectie, Netwerkcommunicatie, gaat over netwerken en servers. De vijfde sectie bevat appendices met referentiemateriaal. , Introductie Introduceert &os; aan een nieuwe gebruiker. Het beschrijft de geschiedenis van het &os; project, de doelen en het ontwikkelmodel. , Installatie van &os; 8.X en eerder Begeleidt de gebruiker door het gehele installatieproces van &os; 8.X en eerder door middel van sysinstall. Sommige geavanceerde onderwerpen over installeren, zoals installeren via een seriële console, worden ook behandeld. , Installatie van &os; 9.X en nieuwer Begeleidt een gebruiker door het gehele installatieproces van &os; 9.X en nieuwer door middel van bsdinstall. , &unix; beginselen Behandelt de basiscommando's en functionaliteit van het &os; besturingssysteem. Als de lezer bekend is met &linux; of een andere &unix; variant, kan dit hoofdstuk waarschijnlijk overgeslagen worden. , Applicaties installeren Behandelt de installatie van software van derden, met zowel &os;'s innovatieve Portscollectie als de standaard binaire packages. , Het X Window systeem Beschrijft het X Window systeem in het algemeen en het gebruik van X11 op &os; in het bijzonder. Het beschrijft ook standaard bureaubladomgevingen zoals KDE en GNOME. , Bureaubladapplicaties Levert standaard bureaubladapplicaties in een lijst, zoals webbrowsers en productiviteitspakketten, en beschrijft hoe ze te installeren op &os;. , Multimedia Laat zien hoe geluid- en video-ondersteuning te installeren voor een systeem. Het beschrijft ook een aantal voorbeeld audio- en video- applicaties. , Instellen van de &os; kernel Beschrijft waarom misschien een nieuwe kernel ingesteld moet worden en levert gedetailleerde instructies voor het instellen, bouwen en installeren van een eigen kernel. , Afdrukken Beschrijft hoe printers beheerd worden onder &os;, met informatie over bannerpagina's, afdruk-accounting en initiële installatie. , &linux; binaire compatibiliteit Beschrijft de mogelijkheden van &os; voor binaire compatibiliteit met &linux;. Het biedt ook gedetailleerde installatie-instructies voor vele populaire &linux; applicaties zoals &oracle;, &sap.r3;, en &mathematica;. , Instellingen en optimalisatie Beschrijft de parameters beschikbaar voor systeembeheerders om een &os; te optimaliseren voor de beste prestaties. Het beschrijft ook diverse instellingenbestanden die gebruikt worden in &os; en waar die te vinden zijn. , Het &os; opstartproces Beschrijft de &os; opstartprocedure en legt uit hoe deze aan te passen met instellingen. , Gebruikers en basis accountbeheer Beschrijft hoe gebruikersaccounts aan te maken en te wijzigen. Het beschrijft ook welke resourcebeperkingen er gezet kunnen worden op gebruikers en andere account-beheerstaken. , Beveiliging Beschrijft vele verschillende hulpapplicaties die beschikbaar zijn die helpen om een &os; systeem veilig te houden, met oa: Kerberos, IPsec en OpenSSH. , Jails Beschrijft het jail-raamwerk, en de verbeteringen van jails (gevangenissen) ten opzichte van de traditionele ondersteuning voor chroot van &os;. , Verplichte Toegangscontrole (MAC) Legt uit was Verplichte Toegangscontrole (MAC) is en hoe het gebruikt kan worden om een &os; te beveiligen. , Security Event Auditing Beschrijft wat &os; Event Auditing is, hoe het geïnstalleerd kan worden, en hoe audit trails geïnspecteerd en gemonitord kunnen worden. , Opslag Beschrijft hoe opslagmedia en bestandssystemen beheerd worden onder &os;. Dit omvat fysieke schijven, RAID arrays, optische en tape media, geheugenschijven en netwerkbestandssystemen. - , + , GEOM Beschrijft wat het GEOM raamwerk in &os; is en hoe de verschillende ondersteunde RAID-niveau's in te stellen. , Ondersteuning van bestandssystemen Gaat de ondersteuning voor vreemde bestandssystemen in &os; na, zoals het Z File System van &sun;. - - , - Vinum - - - Beschrijft hoe Vinum gebruikt wordt, een logische - volumebeheerder die apparaatonafhankelijke logische schijven - levert, met software RAID-0, RAID-1 en RAID-5. - - - , Virtualisatie Beschrijft wat virtualisatiesystemen bieden, en hoe ze met &os; gebruikt kunnen worden. , Lokalisatie - I18N/L10N gebruiken en instellen Beschrijft hoe &os; met andere talen dan Engels te gebruiken is. Behandelt zowel het systeem- als applicatieniveau van localisatie. , &os; updaten en upgraden Geeft uitleg over de verschillen tussen &os;-STABLE, &os;-CURRENT en &os; uitgaven. Beschrijft welke gebruikers voordeel hebben van het bijhouden van een ontwikkelsysteem en legt dat proces uit. Beschrijft de manier waarop gebruikers hun systeem naar de laatste beveiligingsuitgave kunnen bijwerken. , &dtrace; Beschrijft hoe het gereedschap &dtrace; van &sun; te configureren en gebruiken in &os;. Dynamisch tracen kan helpen bij het lokaliseren van prestatieproblemen, door real-time systeemanalyse uit te voeren. , Seriële communicatie Legt uit hoe een verbinding te maken met terminals en modems op een &os; systeem voor zowel dial-in als dial-out verbindingen. , PPP en SLIP Beschrijft hoe PPP, SLIP en PPP over Ethernet te gebruiken om verbinding te maken met remote systemen met &os;. , E-mail Legt verschillende componenten uit van een mailserver en gaat dieper in op simpele instellingen voor de populairste mailserver software: sendmail. , Netwerkdiensten Geeft gedetailleerde instructies en voorbeeldinstellingen om een &os; machine als een netwerk bestandssysteem server, DNS server, netwerk informatiesysteem server of tijdserver in te stellen. , Firewalls Licht de filosofie achter op software gebaseerde firewalls toe en beschrijf in detail hoe de verschillende firewalls die in &os; beschikbaar zijn ingesteld kunnen worden. , Netwerken voor gevorderden Beschrijft meerdere netwerk onderwerpen, inclusief het delen van een Internetverbinding met andere computers in een LAN, routeren voor gevorderden, draadloze netwerken, &bluetooth;, ATM, IPv6 en nog veel meer. , &os; verkrijgen Geeft verschillende bronnen aan voor het verkrijgen van &os; media op CD-ROM of DVD evenals verschillende sites op het Internet die gebruikers in staat stellen &os; te downloaden en te installeren. , Bibliografie Dit boek behandelt veel verschillende onderwerpen die de lezer misschien hongerig maken naar een gedetailleerdere uitleg. De bibliografie bevat verwijzingen naar een aantal uitstekende boeken. , Bronnen op Internet Beschrijft de vele forums die beschikbaar zijn voor &os; gebruikers om vragen te stellen, en om deel te nemen aan technische conversaties over &os;. , PGP sleutels Geeft de PGP-vingerafdrukken van verschillende &os; ontwikkelaars. Overeenkomsten in dit boek Om consistentie en leesbaarheid te behouden en de leesbaarheid te behouden worden er een aantal overeenkomsten nageleefd in dit boek. Typografische overeenkomsten Italic Een italic lettertype wordt gebruikt voor bestandsnamen, URL's, benadrukte tekst, en het eerste gebruik van technische termen. Monospace Een monospaced lettertype wordt gebruikt voor foutmeldingen, commando's, omgevingsvariabelen, namen van ports, hostnamen, gebruikersnamen, groepsnamen, apparaatnamen, variabelen en stukjes code. Vet Een vet lettertype wordt gebruikt voor applicaties, commando's en toetsen. Gebruikersinvoer Toetsen worden weergegeven in bold om op te vallen tussen andere tekst. Toetscombinaties die bedoeld zijn om tegelijkertijd getypt te worden, worden weergeven met +' tussen de toetsen zoals CtrlAltDel Betekent dat de gebruiker de volgende toetsen op hetzelfde moment moet indrukken: Ctrl, Alt en Del. Toetsen die bedoeld zijn om achter elkaar te typen worden gescheiden door komma's, bijvoorbeeld CtrlX, CtrlS zou betekenen dat de gebruiker de Ctrl en X toetsen tegelijk moet indrukken en erna Ctrl en S tegelijkertijd moet indrukken. Voorbeelden Voorbeelden die beginnen met E:\> geven aan dat het een &ms-dos; commando betreft. Tenzij anders vermeld, kunnen deze commando's in een Command promptscherm in een moderne µsoft.windows; omgeving worden gebruikt. E:\> tools\fdimage floppies\kern.flp A: Voorbeelden die starten met een &prompt.root; geven aan dat een commando ingegeven moet worden als de superuser in &os;. Er kan aangemeld worden met root om het commando in te typen, of er kan na als gewone gebruiker aangemeld te hebben gebruikt gemaakt worden van &man.su.1; om superuser-rechten te verkrijgen. &prompt.root; dd if=kern.flp of=/dev/fd0 Voorbeelden die starten met &prompt.user; geven aan dat een commando opgegeven moet worden vanuit een normale gebruikersaccount. Tenzij anders vermeld, wordt de C-shell syntaxis gebruikt voor het instellen van omgevingsvariabelen en andere shellcommando's. &prompt.user; top Dankwoorden Het boek dat nu voorligt representeert de inspanningen van honderden mensen over de hele wereld. Of ze nu foutjes verbeteren of complete hoofdstukken inleveren, ze hebben allemaal nuttig bijgedragen. Verschillende bedrijven hebben bijgedragen aan het maken van dit document door de schrijvers te betalen om hier voltijds aan te werken, door te betalen voor de publicatie, etc. In het bijzonder heeft BSDi (Overgenomen door Wind River Systems) leden van het &os; Documentation Project betaald om voltijds te werken aan het verbeteren van dit boek, wat leidde tot de publicatie van de eerste editie in maart 2000 (ISBN 1-57176-241-8). Wind River Systems heeft daarna verschillende schrijvers betaald om een aantal verbeteringen uit te voeren voor de printuitvoer-infrastructuur en om extra hoofdstukken toe te voegen aan de tekst. Dit werk leverde de publicatie van de tweede gedrukte editie in november 2001 (ISBN 1-57176-303-1). In 2003-2004 heeft &os; Mall, Inc een aantal mensen die bijdragen hebben geleverd betaald om het handboek te verbeteren voor een derde gedrukte editie. diff --git a/nl_NL.ISO8859-1/books/handbook/vinum/Makefile b/nl_NL.ISO8859-1/books/handbook/vinum/Makefile deleted file mode 100644 index b938e81c9a..0000000000 --- a/nl_NL.ISO8859-1/books/handbook/vinum/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# -# Build the Handbook with just the content from this chapter. -# -# $FreeBSD$ -# -# %SOURCE% en_US.ISO8859-1/books/handbook/vinum/Makefile -# %SRCID% 39631 -# - -CHAPTERS= vinum/chapter.xml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/nl_NL.ISO8859-1/books/handbook/vinum/chapter.xml b/nl_NL.ISO8859-1/books/handbook/vinum/chapter.xml deleted file mode 100644 index c5bb64c310..0000000000 --- a/nl_NL.ISO8859-1/books/handbook/vinum/chapter.xml +++ /dev/null @@ -1,1366 +0,0 @@ - - - - - - - - Greg - Lehey - Geschreven door - - - - - Erwin - Kooi - Vertaald door - - - - - De VINUM volumebeheerder - - - Overzicht - - 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. - - - - Er zijn verschillende oplossingen voor deze problemen - voorgesteld en geïmplementeerd. Eén manier waarop - gebruikers zich wapenen tegen een aantal van deze problemen is - door meerdere en soms ook redundante schijven te gebruiken. Naast - ondersteuning voor verschillende kaarten en controllers die - hardware-RAID ondersteunen, bevat het &os; basissysteem ook de - Vinum Volume Manager, een - blokapparaatstuurprogramma waarmee virtuele - schijven gemaakt kunnen worden. Vinum is een - zogenaamde Volume Manager, een stuurprogramma - voor virtuële schijven dat deze drie problemen in beschouwing - neemt. Vinum biedt meer flexibiliteit, prestaties en - betrouwbaarheid dan traditionele schijfopslag en er kan RAID-0, - RAID-1 en RAID-5 mee gemaakt worden of een combinatie van deze - RAID-niveaus. - - In dit hoofdstuk wordt een overzicht gegeven van de mogelijke - problemen die traditionele schijfopslag met zich meebrengt en de - Vinum Volume Manager wordt geïntroduceerd. - - - Vanaf &os; 5, is Vinum herschreven om in de - GEOM-architectuur () te passen, met behoud - van de originele ideëen, terminologie, en metagegevens die - op de schijf staan. Deze herschrijving wordt - gvinum (voor GEOM - vinum) genoemd. De volgende tekst refereert aan - Vinum als een abstracte naam, onafhankelijk - van de implementatievariant. Alle commando-aanroepen dienen nu - met het commando gvinum gedaan te worden, en - de naam van de kernelmodule is veranderd van - vinum.ko naar - geom_vinum.ko, en alle apparaatknooppunten - bevinden zich in /dev/gvinum in - plaats van /dev/vinum. Sinds - &os; 6 is de oude implementatie van Vinum niet meer beschikbaar in - de broncode. - - - - - Schijfgrootte - - Vinum - - - RAID - - software - - - De capaciteit van schijven wordt groter, maar ook de vraag - naar capaciteit neemt toe. Vaak is het gewenste bestandssysteem - 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 gegevens op meerdere - fysieke harde schijven kan opslaan. - - - - Snelheid van toegang - - Moderne systemen hebben vaak simultaan toegang tot gegevens - 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 - gegevensdoorvoer is dan groter dan de meeste schijven kunnen - leveren. - - Huidige schijven kunnen gegevens 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 schijfstuurprogramma te kijken: de belangrijkste - parameter is dan de belasting die een bepaalde gegevensoverdracht - op het stuurprogramma plaatst. Met andere woorden: wat is het - tijdsbeslag van een gegevensoverdracht op te schijf? - - Bij elke gegevensoverdracht 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 gegevensoverdracht naar iets meer dan 1 MB/s en is dus - duidelijk afhankelijk van de grootte van de over te dragen - gegevens. - - 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 gegevens 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 gegevens over te dragen, er is geen garantie dat de - gegevens gelijk over de schijven verdeeld is. De belasting op de - ene schijf zal dan ook groter zijn dan op de andere schijf. - - - aaneenschakelen - - schijven aaneenschakelen - - - - Vinum - - aaneenschakelen - - - RAID - - Een gelijke belasting van de schijven is in grote mate - afhankelijk van de manier waarop gegevens over de schijven zijn - 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 gegevens gelijk verdeeld is over de hele - gegevensverzameling. Als die toegang beperkt is tot een klein - deel van de gegevensverzameling, is de snelheidsverbetering een - stuk kleiner. laat de manier zien - hoe aaneengeschakelde schijven hun gegevens opslaan. - - -
- Aaneengeschakeld georganiseerd - - -
- - - verdelen - - schijven stripen - - - - 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 staat voor Redundant - Array of Inexpensive Disks (Redundante Reeks van - Goedkope Schijven) en biedt verschillende vormen van - fouttolerantie. Hoewel die laatste term wat misleidend is: - het biedt namelijk geen redundantie.. - - Bij RAID-0 kost het iets meer moeite om de gegevens te vinden en - het kan extra I/O belasting met zich meebrengen als gegevens zijn - verdeeld over verschillende fysieke schijven. Het kan echter ook - zorgen voor een constantere belasting van die schijven. - geeft weer hoe RAID-0 schijven hun - gegevens opslaan. - - -
- Verdeeld georganiseerd - - -
-
- - - Betrouwbaarheid van gegevens - - 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 gegevens kan dagen - kosten. - - - spiegelen - - schijven spiegelen - - - - Vinum - - spiegelen - - - RAID-1 - - De traditionele manier om dit te voorkomen is - spiegelen (mirroring): het - hebben van een kopie van de gegevens op een andere fysieke schijf. - Sinds de uitvinding van RAID niveaus 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 schrijfactie 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 niveaus 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 één 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 gegevensblokken 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): gegevens van - een functionerende schijf kunnen zonder problemen gelezen worden, - maar gegevens van de defecte schijf moeten eerst worden - samengesteld uit de pariteit van de overeenkomende blokken van de - resterende schijven. -
- - - Vinum objecten - - Om deze problemen op te lossen, hanteert vinum een - hiërarchie met vier niveaus 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 gegevens. - - - - 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 - schijven, op dit moment &unix; - partities. Een Vinum schijf kan een oneindig aantal - subschijven bevatten. Met uitzondering van een klein stukje - aan het begin van de schijf, dat wordt gebruikt om informatie - over de instellingen en de toestand op te slaan, is de gehele - schijf beschikbaar voor de opslag van gegevens. - - - - In de volgende paragrafen wordt beschreven hoe deze objecten - de functionaliteit van Vinum leveren. - - - Volumegrootte overwegingen - - Een samenstelling kan meerdere subschijven bevatten die - uitgespreid zijn over alle schijven in de Vinum instelling. - Dat houdt in dat de grootte van een individuele schijf geen - limiet is voor de samenstelling en dus niet voor het - volume. - - - - Redundante gegevensopslag - - Vinum implementeert RAID-0 door meerdere - samenstellingen aan een volume te koppelen. Elke samenstelling - representeert hierbij de gegevens in het volume. Een volume kan - tussen de één en acht samenstellingen - bevatten. - - Hoewel een samenstelling de totale gegevens van een volume - voorstelt, is het mogelijk dat delen van deze voorstelling - missen, door ontwerp (door geen subschijf voor delen van de - samenstelling te definiëren) of per ongeluk (door een - defecte schijf). Zo lang tenminste één - samenstelling de gegevens voor het gehele volume kan leveren, is - het volume volledig bruikbaar. - - - - Prestaties - - Vinum implementeert aaneenschakelen en spiegelen op het - niveau van de samenstelling: - - - - Een aaneengeschakelde samenstelling gebruikt de - adresruimte van elke subschijf achter elkaar. - - - - Een verdeelde samenstelling spreiden de gegevens over - iedere subschijf. De subschijven moeten daarvoor allemaal - dezelfde grootte hebben en er moeten tenminste twee - subschijven zijn om onderscheid te kunnen maken met een - aaneengeschakelde samenstelling. - - - - - - 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 subschijven - bevatten die verschillend van lengte mogen zijn. De - samenstelling kan uitgebreid worden door subschijven 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 schijf - 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 (minuscuul) complexere code en beperkingen - aan de subschijven: ze moeten allemaal van gelijke grootte - zijn en het uitbreiden van een samenstelling met extra - subschijven 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 subschijven 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 - - Minimaal aantal subschijven - - Subschijven toevoegen - - Gelijke grootte - - Toepassing - - - - - - aaneengeschakeld - - 1 - - ja - - nee - - Veel gegevensopslag met maximale flexibiliteit en - gemiddelde performance. - - - - verdeeld - - 2 - - nee - - ja - - Hoge prestaties, ook bij veel gelijktijdige - toegang. - - - -
-
-
- - - Voorbeelden - - Vinum houdt een instellingendatabase - bij waarin beschreven staat welke objecten bekend zijn in het - systeem. Bij het instellen vult de gebruiker deze database uit - één of meer instellingenbestanden met behulp van - het hulpprogramma &man.gvinum.8;. Vinum bewaart een kopie van de - database op iedere slice (die Vinum apparaat - noemt) die door Vinum wordt beheerd. Deze database wordt na - iedere statuswijziging bijgewerkt, zodat een na een herstart - accuraat de toestand van ieder Vinum object wordt weergegeven. - - - Het instellingenbestand - - Het instellingenbestand beschrijft 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 schijven 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 - subschijf. De minimale specificaties zijn de naam van een - schijf waar de subschijf kan worden opgeslagen en de lengte - van de subschijf. 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 subschijf is. De - naam van deze subschijf is dus - myvol.p0.s0. - - - - Na het verwerken van dit bestand ziet de uitvoer van - &man.gvinum.8; er als volgt uit: - - - &prompt.root; gvinum -> 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.gvinum.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 subschijven bevatten. In dit - triviale voorbeeld bevat het volume een samenstelling en deze - samenstelling bevat een subschijf. - - Dit speciale volume heeft geen voordeel boven een gewone - schijf partitie. Het bevat één samenstelling, dus - het is niet redundant. De samenstelling bevat - één subschijf, dus er is geen verschil in de - plaats van de gegevens met een conventionele schijfpartitie. In - de volgende paragrafen worden meer interessante instellingen - getoond. -
- - - Verbeterde betrouwbaarheid: spiegelen - - De betrouwbaarheid van een volume wordt vergroot door - spiegelen. Bij het opzetten van een gespiegeld volume is het - van belang dat subschijven van iedere samenstelling op een - andere schijf staan, zodat een defecte schijf niet beide - samenstellingen beïnvloedt. De volgende instelling 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 schijf - a opnieuw te definiëren, omdat Vinum - alle objecten bijhoudt in de instellingendatabase. Na het - verwerken van deze definitie, ziet de instelling 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 - subschijf. -
- - - 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 worden de - gegevens verdeeld over zoveel mogelijk schijven. De volgende - instelling 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 schijven - die al bekend zijn bij Vinum opnieuw te definiëren. Na - het verwerken van deze definitie, ziet de instelling 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 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 instelling 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 subschijven 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 schijven gaat, zelfs niet als die schrijfactie over - twee schijven plaatsvindt. - - laat deze instelling - zien in grafische vorm. - - -
- Een gespiegeld en verdeeld Vinum volume - - -
-
-
- - - Objectnamen - - Zoals eerder in dit hoofdstuk beschreven staat, kent Vinum - standaardnamen toe aan samenstellingen en subschijven. Er mag - echter een andere naam aan gegeven worden. Een andere naamgeving - wordt niet aangeraden: ervaring met de VERITAS volumebeheerder, - 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 subschijven kunnen 64 tekens lang zijn en de - namen van schijven kunnen 32 tekens lang zijn. - - Vinum objecten worden apparaatknooppunten toegekend in de - hiërarchie /dev/gvinum. Met - de instellingen uit de vorige paragraaf creërt Vinum de volgende - apparaatknooppunten: - - - - Karakterapparaatingangen voor elk volume. Dit zijn de - primaire apparaten die door Vinum gebruikt worden. De - bovenstaande configuratie zou dus deze apparaten bevatten: - /dev/gvinum/myvol, - /dev/gvinum/mirror, - /dev/gvinum/striped, - /dev/gvinum/raid5 en - /dev/gvinum/raid10. - - - - Alle volumes krijgen ingangen direct onder - /dev/gvinum/. - - - - De mappen - /dev/gvinum/plex, en - /dev/gvinum/sd, welke - respectievelijk apparaatknooppunten voor elke plex en voor elke - subschijf bevatten. - - - - 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 van dit bestand maakt &man.gvinum.8; de volgende - structuur aan in /dev/gvinum: - - drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex - crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64 - drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd - - - /dev/vinum/plex: - total 0 - crwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0 - - /dev/vinum/sd: - 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 - - Hoewel het wordt aangeraden om samenstellingen en subschijven - geen naam mee te geven, moeten Vinum schijven een naam hebben. - Hierdoor kan een schijf naar een andere locatie verplaatst worden - terwijl hij nog steeds automatisch herkend wordt. Schijfnamen - mogen maximaal 32 tekens lang zijn. - - - 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 - schijfhulpprogramma'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 daarentegen /dev/gvinum/concat - heten, een naam die geen enkele relatie met een partitienaam - heeft. - - Gebruik &man.newfs.8; om een bestandssysteem op dit volume - aan te maken: - - &prompt.root; newfs /dev/gvinum/concat - - - - - Vinum instellen - - 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.gvinum.8; wordt gestart en de module is niet geladen, dan - gebeurt dit alsnog automatisch. - - - Opstarten - - Vinum slaat de instellingeninformatie op de schijfslices op - in ongeveer dezelfde vorm als de instellingenbestanden. Bij - het lezen van de instellingendatabase herkent Vinum een aantal - sleutelwoorden die niet zijn toegestaan in - instellingenbestanden. Een schijfinstelling 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 expliciete - 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 - schijven op in de instellingen: het vindt de schijven door de - ingestelde schijven te scannen naar partities met een - vinum label. Hierdoor kan Vinum zelfs schijven detecteren als - ze aan een andere &unix; schijf worden toegekend. - - - Automatisch opstarten - - Gvinum start altijd automatisch op - wanneer de kernelmodule eenmaal is geladen, via - &man.loader.conf.5;. Voeg - geom_vinum_load="YES" toe aan - /boot/loader.conf om de module - GVinum tijdens het opstarten te - laden. - - Als Vinum met gvinum start wordt - gestart, leest Vinum de instellingendatabase van - één van de Vinum schijven. Normaal gesproken - bevat iedere schijf een identieke kopie van de - instellingendatabase. Het maakt dus niet uit welke schijf - gelezen wordt. Na een crash moet Vinum echter bepalen welke - schijf het laatst is bijgewerkt en de instellingen van die - schijf gebruiken. Als het nodig is worden de instellingen - van de oudere schijven daarna bijgewerkt, in volgorde van - leeftijd. - - - - - - Het rootbestandssysteem op Vinum - - Bij een machine die een volledig gespiegeld bestandssysteem - heeft, is het wenselijk ook het rootbestandssysteem te spiegelen. - Het bouwen van zo'n instelling is niet zo rechttoe-rechtaan als - bij een ander bestandssysteem omdat: - - - - Het rootbestandssysteem al heel snel beschikbaar moet zijn - tijdens het opstartproces, dus de Vinum infrastructuur moet - dan al beschikbaar zijn. - - - - Het volume met het rootbestandssysteem bevat ook de - bootstrap en de kernel, die gelezen moeten worden door de - eigen systeemprogramma's (bijvoorbeeld de BIOS op PC's), die - meestal ingesteld kunnen worden om Vinum te gebruiken. - - - - In de volgende paragrafen wordt de term - rootvolume gebruikt voor het Vinum volume dat het - rootbestandssysteem bevat. Het is waarschijnlijk een goed idee om - de naam root te gebruiken 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 rootbestandssysteem - - 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: - - gvinum_load="YES" - - - - Voor Gvinum wordt alles - automatisch opgestart nadat de kernelmodule eenmaal is - geladen, dus is alleen de procedure die hierboven is - beschreven nodig. - - - - - - Een Vinum rootvolume 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 bootvolume samen te stellen. Er zijn daarom - een paar trucs nodig om de bootstrapcode wijs te maken dat er - een standaard "a" partitie aanwezig is met - het rootbestandssysteem. - - Om dit mogelijk te maken, moet het rootvolume aan de - volgende eisen voldoen: - - - - Het rootvolume mag niet verdeeld of RAID-5 zijn. - - - - Het rootvolume mag niet meer dan één - aaneengeschakelde subschijf per samenstelling - bevatten. - - - - Het is mogelijk en wenselijk om meer dan één - samenstelling te hebben, ieder met een replica van het - rootbestandssysteem. Het bootstrapproces gebruikt wel maar - één van deze replica's om de bootstrap en alle - andere bestanden te vinden, tot het moment dat de kernel het - rootbestandssysteem laadt. Iedere subschijf binnen deze - samenstellingen heeft dus zijn eigen "a" - partitievoorstelling nodig om dit apparaat opstartbaar te maken. - Het is niet verplicht dat iedere voorgestelde - "a" partitie op dezelfde offset is geplaatst - binnen het apparaat, vergeleken met andere apparaten die - samenstellingen van het rootvolume bevatten. Het is wel een - goed idee om op die manier Vinum volumes te maken, zodat de - resulterende gespiegelde apparaten symmetrisch zijn. Dit om - verwarring te voorkomen. - - Om deze "a" partities voor ieder - apparaat dat een deel van het rootvolume bevat te maken, moet - het volgende worden gedaan: - - - - De locatie (offset vanaf het begin van het apparaat) en - de grootte van de subschijf die onderdeel is van het - rootvolume moet als volgt bekeken worden: - - &prompt.root; gvinum 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 bsdlabel moeten - worden gebruikt. - - - - Voor elk apparaat dat deelneemt aan het - rootbestandssysteem moet het onderstaande command - uitgevoerd worden: - - &prompt.root; bsdlabel -e apparaatnaam - - apparaatnaam moet of de naam - van een schijf (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 - apparaat aanwezig is (waarschijnlijk met een pre-Vinum - rootbestandssysteem), 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 partities (zoals een rootbestandssysteem - dat op dit moment aangekoppeld 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 schijf waar - niet van opgestart is als eerste wordt aangepast. - - Daarna moet de offset van de Vinum partitie op dit - apparaat (als het bestaat) opgeteld worden bij de offset - van de rootvolume subschijf op dit apparaat. 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 apparaat - overlapt. Het bsdlabel staat deze - overlap alleen toe als de Vinum partitie gemarkeerd is met - het bestandssysteemtype "vinum". - - - - Dat is het! Er bestaat nu een nep - "a" partitie op ieder apparaat dat een - replica van het rootvolume heeft. Het is aan te bevelen - om de resultaten nogmaals te verifiëren met iets - als: - - &prompt.root; fsck -n /dev/devnaama - - - - - Alle bestanden die controle informatie bevatten - moeten relatief zijn ten opzichte van het - rootbestandssysteem in het Vinum volume dat, bij het - creëren van een Vinum volume, niet overeen hoeft te komen - met het rootbestandssysteem 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, rootbestandssysteem en moeten starten. Aan het - einde van het kernel initialisatie proces, nadat alle apparaten - aangemeld zijn, geeft het volgende bericht aan dat het opzetten - gelukt is: - - Mounting root from ufs:/dev/gvinum/root - - - - Een op Vinum gebaseerde rootinstallatie - - Nadat het Vinum rootvolume is opgezet, geeft - gvinum 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 schijfblokken van 512 bytes in termen van - bsdlabel. - Zo is de grootte van dit rootvolume 245760 blokken van 512 bytes. - /dev/da1h, dat de tweede - replica van dit rootvolume bevat, is symmetrische opgezet. - - Het bsdlabel voor deze apparaten 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 apparaat (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 gegevens - voor dit apparaat bevat. - - In het bovenstaande voorbeeld is de volledige schijf voor - Vinum gereserveerd en er is geen restant van de pre-Vinum - rootpartitie, omdat dit een nieuwe schijf is die vanaf het begin - af aan bedoeld was als onderdeel van een Vinum instelling. - - - - 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 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 kernelmodule - nog niet in de lijst van modules staat die automatisch - geladen wordt, dan zal load geom_vinum - helpen. - - Als alles in orde is, kan het opstartproces doorgestart - worden met boot -as. De opties - geven de kernel aan om het - rootbestandssysteem te vragen (), - en het opstartproces te stoppen in single-user mode - (), waarbij het rootbestandssysteem als - alleen-lezen aangekoppeld wordt. Op die manier is er geen - risico op gegevensinconsistentie tussen de samenstellingen, - zelfs niet als er maar één samenstelling van - een multi-samenstellingen volume aangekoppeld is. - - Op de prompt, waar om het rootbestandssysteem gevraagd - wordt, kan ieder apparaat dat een valide rootbestandssysteem - bevat worden opgegeven. Als /etc/fstab - goed is opgezet, is iets als - ufs:/dev/gvinum/root te zien. Een typische - andere keuze kan ufs:da0d zijn, dat een - hypothetische partitie is die het pre-Vinum - rootbestandssysteem bevat. Als één van de alias - "a" partities ingevuld wordt die - eigenlijk een referentie naar de subschijf van het Vinum - rootapparaat zijn, dan wordt in een gespiegelde opzet maar - éé kant van het gespiegelde volume aangekoppeld. - Als dit bestandssysteem later als lezen/schrijven - aangekoppeld wordt, moet(en) de andere samenstelling(en) van - het rootvolume verwijderd worden, omdat deze samenstellingen - anders inconsistente gegevens bevatten. - - - - Alleen primaire bootstrap laadt - - Als /boot/loader niet start, maar - de primaire bootstrap laadt wel (zichtbaar door een enkel - minteken in de linker bovenhoek van het scherm, direct na de - start van het opstartproces), kan worden geprobeerd het - primaire opstartproces te onderbreken door op de - spatie toets te drukken. Dit zorgt ervoor - dat het opstartproces stopt bij de tweede fase (zie ook - ). Hier kan worden geprobeerd - vanaf een andere partitie te starten, bijvoorbeeld van de - partitie waar het vorige rootbestandssysteem op stond, dat - nu van de "a" verplaatst is. - - - - 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 partitie voordat de Vinum volume - identificatie geschreven wordt. De stage 1 en 2 bootstraps - en de bsdlabel-informatie hebben ongeveer 8 KB nodig. Dus - als de Vinum partitie op offset 0 van de slice van de schijf - begint die als opstartbaar 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 - bsdlabel -B zoals beschreven in - , overschrijft de nieuwe bootstrap - de Vinum identificatie en kan Vinum de Vinum schijven niet - langer vinden. Hoewel geen instellingsgegevens van Vinum of - gegevens in de Vinum volumes overschreven wordt en alle - gegevens hersteld kunnen worden door precies dezelfde - instellingsgegevens van Vinum opnieuw in te vullen, is dit - een lastige situatie om te herstellen. Het zou nodig zijn om - de complete Vinum partitie tenminste 4 KB te - verplaatsen, om te voorkomen dat de Vinum identificatie en de - bootstrap met elkaar botsen. - - - -