diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/geom/chapter.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/geom/chapter.sgml | 932 |
1 files changed, 0 insertions, 932 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/geom/chapter.sgml b/de_DE.ISO8859-1/books/handbook/geom/chapter.sgml deleted file mode 100644 index ca088459ff..0000000000 --- a/de_DE.ISO8859-1/books/handbook/geom/chapter.sgml +++ /dev/null @@ -1,932 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> -<!-- - The FreeBSD Documentation Project - The FreeBSD German Documentation Project - - $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/geom/chapter.sgml,v 1.20 2011/12/19 15:25:08 bcr Exp $ - basiert auf: 1.51 ---> - -<chapter id="GEOM"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Tom</firstname> - <surname>Rhodes</surname> - <contrib>Geschrieben von </contrib> - </author> - </authorgroup> - <authorgroup> - <author> - <firstname>Daniel</firstname> - <surname>Seuffert</surname> - <contrib>Übersetzt von </contrib> - </author> - <author> - <firstname>Johann</firstname> - <surname>Kois</surname> - </author> - </authorgroup> - </chapterinfo> - - <title>GEOM: Modulares Framework zur - Plattentransformation</title> - - <sect1 id="GEOM-synopsis"> - <title>Übersicht</title> - - <indexterm> - <primary>GEOM</primary> - </indexterm> - <indexterm> - <primary>GEOM Disk Framework</primary> - <see>GEOM</see> - </indexterm> - - <para>Dieses Kapitel behandelt den Einsatz von Laufwerken mit - dem GEOM-Framework in &os;. Dies beinhaltet auch die wichtigen - <acronym role="Redundant Array of Inexpensive - Disks">RAID</acronym>-Überwachungswerkzeuge, welche das - Framework zur Konfiguration nutzen. Dieses Kapitel enthält - keine tiefschürfenden Betrachtungen, wie GEOM I/O nutzt - oder steuert, sein zugrundeliegendes Subsystem oder den - Quelltext von GEOM. Diese Information wird durch die - &man.geom.4;-Manualpage und seine zahlreichen <quote>SEE ALSO</quote>-Verweise - bereitgestellt. Dieses Kapitel ist auch kein ausführlicher - Führer für - <acronym>RAID</acronym>-Konfigurationen. Nur durch GEOM - unterstützte <acronym>RAID</acronym>-Klassen werden - erörtert.</para> - - <para>Nach Lesen dieses Kapitels werden Sie folgendes - wissen:</para> - - <itemizedlist> - <listitem> - <para>Welche Art von - <acronym>RAID</acronym>-Unterstützung durch GEOM - verfügbar ist.</para> - </listitem> - - <listitem> - <para>Wie man die Basis-Dienstprogramme nutzt, um - verschiedene <acronym>RAID</acronym>-Stufen zu - konfigurieren, zu manipulieren und zu warten.</para> - </listitem> - - <listitem> - <para>Wie man mittels GEOM spiegelt, striped, - verschlüsselt und entfernte Laufwerke verbindet.</para> - </listitem> - - <listitem> - <para>Wie man an Laufwerken, welche an das GEOM-Framework - angeschlossen sind, Fehler behebt.</para> - </listitem> - </itemizedlist> - - <para>Bevor Sie dieses Kapitel lesen, sollten Sie:</para> - - <itemizedlist> - <listitem> - <para>Verstehen, wie &os; Laufwerke behandelt - (<xref linkend="disks"/>).</para> - </listitem> - - <listitem> - <para>Wissen wie man einen neuen &os;-Kernel installiert - und konfiguriert (<xref linkend="kernelconfig"/>).</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="GEOM-intro"> - <title>Einführung in GEOM</title> - - <para>GEOM erlaubt den Zugriff und die Kontrolle von Klassen - — Master Boot Records, <acronym>BSD</acronym>-Label usw. - — durch die Nutzung von Datenträgern (Providern) oder - den besonderen Dateien in <filename - role="directory">/dev</filename>. Verschiedene Software - <acronym>RAID</acronym>-Konfigurationen unterstützend, wird - GEOM Ihnen transparenten Zugriff auf das Betriebssystem und - System-Dienstprogramme gewähren.</para> - </sect1> - - <sect1 id="GEOM-striping"> - <sect1info> - <authorgroup> - <author> - <firstname>Tom</firstname> - <surname>Rhodes</surname> - <contrib>Geschrieben von </contrib> - </author> - <author> - <firstname>Murray</firstname> - <surname>Stokely</surname> - </author> - </authorgroup> - </sect1info> - - <title>RAID0 - Striping</title> - - <indexterm> - <primary>GEOM</primary> - </indexterm> - <indexterm> - <primary>Striping</primary> - </indexterm> - - <para>Striping (stripe = Streifen) ist eine Methode, um - verschiedene Laufwerke in einem einzigen Datenträger - zusammenzufassen. In vielen Fällen wird dies durch die - Nutzung von Hardware-Controllern bewerkstelligt. Das - GEOM-Subsystem unterstützt - Software-<acronym>RAID</acronym>0 (welches auch als Striping - bekannt ist).</para> - - <para>In einem <acronym>RAID</acronym>0-System werden die Daten - in einzelne Blöcke aufgeteilt, welche über alle - angeschlossenen Laufwerke in einem Datenfeld (Array) geschrieben - werden. Anstatt darauf warten zu müssen, dass 256K auf - ein einzelnes Laufwerk geschrieben werden, kann ein - <acronym>RAID</acronym>0-System gleichzeitig 64K auf jedes von 4 - Laufwerken schreiben mit entsprechend besserer I/O-Leistung. - Dieser Durchsatz kann durch die Verwendung mehrerer - Controller noch zusätzlich gesteigert werden.</para> - - <para>Jedes Laufwerk in einem <acronym>RAID</acronym>0-Stripe - muss die gleiche Größe haben, da - I/O-Anforderungen für das Lesen und Schreiben - abwechselnd auf mehrere Laufwerke parallel erfolgen.</para> - - <mediaobject> - <imageobject> - <imagedata fileref="geom/striping" align="center"/> - </imageobject> - - <textobject> - <phrase>Disk Striping Illustration</phrase> - </textobject> - </mediaobject> - - <procedure> - <title>Erzeugen eines Stripe von unformatierten - ATA-Platten</title> - - <step> - <para>Laden Sie das - <filename>geom_stripe.ko</filename>-Modul:</para> - - <screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen> - </step> - - <step> - <para>Stellen Sie sicher, dass ein geeigneter Mount-Punkt - existiert. Falls dieser Datenträger eine Root-Partition - werden soll, dann nutzen Sie zeitweise einen anderen - Mount-Punkt, beispielsweise <filename - role="directory">/mnt</filename>:</para> - - <screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen> - </step> - - <step> - <para>Bestimmen Sie die Gerätenamen derjenigen Platten, - welche gestriped werden sollen, und erzeugen Sie ein neues - Stripe-Gerät. Das folgende Beispiel verwendet zwei - unbenutzte und unpartitionierte - <acronym>ATA</acronym>-Platten, die gestriped werden sollen. - Lauten die Gerätenamen <filename>/dev/ad2</filename> - und <filename>/dev/ad3</filename>, so verwenden Sie folgenden - Befehl:</para> - - <screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput> -Metadata value stored on /dev/ad2. -Metadata value stored on /dev/ad3. -Done.</screen> - - </step> - - <step> - <para>Schreiben Sie einen Standard-Label (auch als - Partitions-Tabelle bekannt) auf den neuen Datenträger - und installieren Sie den normalen Bootstrap-Code:</para> - - <screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen> - </step> - - <step> - <para>Dieser Prozess sollte zwei weitere Geräte im - Verzeichnis <filename - class="directory">/dev/stripe</filename> (zusätzlich zum - Gerät <devicename>st0</devicename>) erzeugt haben. Diese - schliessen <devicename>st0a</devicename> und - <devicename>st0c</devicename> ein. Nun kann ein Dateisystem - auf dem Gerät <devicename>st0a</devicename> mit dem - <command>newfs</command>-Dienstprogramm erzeugt - werden:</para> - - <screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen> - - <para>Viele Zahlen rauschen nun über Ihren Bildschirm - und nach ein paar Sekunden wird der Prozess abgeschlossen - sein. Der Datenträger wurde erzeugt und kann in den - Verzeichnisbaum eingehängt werden.</para> - </step> - </procedure> - - <para>Um das erzeugte Stripe manuell zu mounten:</para> - - <screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen> - - <para>Um das erzeugte Dateisystem automatisch während des - Startvorgangs zu mounten, müssen Sie die - Datenträgerinformation in die Datei - <filename>/etc/fstab</filename> schreiben. Dazu legen Sie einen - permanenten Mountpunkt namens - <filename class="directory">stripe</filename> an:</para> - - <screen>&prompt.root; <userinput>mkdir /stripe</userinput> -&prompt.root; <userinput>echo "/dev/stripe/st0a /stripe ufs rw 2 2" \</userinput> - <userinput>>> /etc/fstab</userinput></screen> - - <para>Das <filename>geom_stripe.ko</filename>-Modul muss - ebenfalls automatisch beim Systemstart geladen werden (durch - die Aufnahme der folgenden Zeile in die Datei - <filename>/boot/loader.conf</filename>):</para> - - <screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' >> /boot/loader.conf</userinput></screen> - </sect1> - - <sect1 id="GEOM-mirror"> - <title>RAID1 - Spiegelung</title> - - <indexterm> - <primary>GEOM</primary> - </indexterm> - <indexterm> - <primary>Disk Mirroring</primary> - </indexterm> - - <para>Spiegelung (Mirroring) ist eine Technik, welche von vielen - Firmen und Heimnutzern eingesetzt wird, um Daten ohne - Unterbrechung zu sichern. Wenn ein Spiegel existiert, dann - bedeutet dies einfach nur, dass PlatteB die PlatteA - dupliziert. Oder PlatteC+D duplizieren PlatteA+A. Der - wichtigste Aspekt ist, dass Daten einer Platte oder - Partition dupliziert werden, unabhängig von der - Konfiguration der Platte. Dadurch kann später diese - Information leichter wiederhergestellt, ohne - Zugriffsunterbrechung gesichert oder sogar physisch in einem - Datentresor gelagert werden.</para> - - <para>Stellen Sie zu Beginn sicher, dass ihr System zwei - Platten mit identischer Größe aufweist. In dieser - Übung gehen wir davon aus, dass es direkt - zugängliche (&man.da.4;) <acronym>SCSI</acronym>-Platten - sind.</para> - - <sect2> - <title>Die primäre Platte spiegeln</title> - - <para>Angenommen, &os; wurde auf der ersten Platte - <devicename>da0</devicename> installiert, dann sollte - &man.gmirror.8; angewiesen werden, seine primären Daten - auf dieser Platte zu speichern.</para> - - <para>Bevor Sie den Spiegel aufbauen, sollten Sie die maximale - Protokollierung aktivieren und den Zugang zum Gerät - gestatten. Dazu setzen Sie die &man.sysctl.8;-Option - <varname>kern.geom.debugflags</varname> auf den folgenden - Wert:</para> - - <screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen> - - <para>Nun können Sie den Spiegel aufbauen. Beginnen Sie den - Prozess, indem Sie die Metadaten-Informationen auf das Gerät - der primären Platte speichern. Konkret erzeugen Sie dabei - das Gerät - <filename class="devicefile">/dev/mirror/gm</filename>, indem Sie - den folgenden Befehl ausführen:</para> - - <warning> - <para>Die Spiegelung der Bootplatte kann zu Datenverlust - führen, wenn Sie Daten im letzten Sektor der Platte - gespeichert haben. Dieses Risiko lässt sich minimieren, - wenn Sie den Spiegel unmittelbar nach der Installation von - &os; aufsetzen. Die im folgenden beschriebene Vorgehensweise ist - ebenfalls nicht kompatibel mit den - Standard-Installationseinstellungen von - &os; 9.<replaceable>X</replaceable>, die das neue - <acronym>GPT</acronym>-Partitionsschema verwenden. GEOM wird - <acronym>GPT</acronym>-Metadaten überschreiben, was zu - Datenverlust und einem möglicherweise nicht bootbarem System - führt.</para> - </warning> - - <screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen> - - <para>Ihr System sollte wie folgt antworten:</para> - - <screen>Metadata value stored on /dev/da0. -Done.</screen> - - <para>Initialisieren Sie GEOM. Dadurch wird das Kernelmodul - <filename>/boot/kernel/geom_mirror.ko</filename> geladen:</para> - - <screen>&prompt.root; <userinput>gmirror load</userinput></screen> - - <note> - <para>Wenn dieser Befehl erfolgreich ausgeführt wurde, wird - die Gerätedatei <devicename>gm0</devicename> im - Verzeichnis <filename class="directory">/dev/mirror</filename> - erzeugt.</para> - </note> - - <para>Stellen Sie sicher, dass das Kernelmodul - <filename>geom_mirror.ko</filename> beim Systemstart automatisch - geladen wird:</para> - - <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' >> /boot/loader.conf</userinput></screen> - - <para>Bearbeiten Sie die Datei <filename>/etc/fstab</filename> - und ersetzen Sie alle Verweise auf die alte Gerätedatei - <devicename>da0</devicename> durch die neue Gerätedatei - <devicename>gm0</devicename> des Plattenspiegels. Um die Datei - <filename>/etc/fstab</filename> bearbeiten zu können, - müssen Sie als Benutzer <username>root</username> am - System angemeldet sein.</para> - - <note> - <para>Sollte &man.vi.1; ihr bevorzugter Texteditor sein, - kouml;nnen Sie diese Änderungen ganz einfach wie - folgt durchführen:</para> - - <screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen> - - <para>Bevor Sie die Datei bearbeiten, sollten Sie ein Backup - anlegen. Haben Sie die Datei mit &man.vi.1; geöffnet, - können Sie durch die Eingabe von - <userinput>:w /etc/fstab.bak</userinput> eine Sicherungskopie - der Datei anlegen. Danach ersetzen Sie alle alten Referenzen - auf <devicename>da0</devicename> durch - <devicename>gm0</devicename>, indem Sie - <userinput>:%s/da/mirror\/gm/g</userinput> eingeben.</para> - </note> - - <para>Die geänderte <filename>fstab</filename> sollte nun - ähnlich wie im folgenden Beispiel aussehen. Es spielt - dabei keine Rolle, ob Sie <acronym>SCSI</acronym>- oder - <acronym>ATA</acronym>-Platten verwenden. Das - <acronym>RAID</acronym>-Gerät heißt in jedem Fall - <devicename>gm</devicename>.</para> - - <programlisting># Device Mountpoint FStype Options Dump Pass# -/dev/mirror/gm0s1b none swap sw 0 0 -/dev/mirror/gm0s1a / ufs rw 1 1 -/dev/mirror/gm0s1d /usr ufs rw 0 0 -/dev/mirror/gm0s1f /home ufs rw 2 2 -#/dev/mirror/gm0s2d /store ufs rw 2 2 -/dev/mirror/gm0s1e /var ufs rw 2 2 -/dev/acd0 /cdrom cd9660 ro,noauto 0 0</programlisting> - - <para>Führen Sie einen Systemneustart durch:</para> - - <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen> - - <para>Wenn das System gestartet wird, sollten Sie nun nur noch - <devicename>gm0</devicename>-Geräte anstatt der bisherigen - <devicename>da0</devicename>-Geräte sehen. Nachdem das - System vollständig initialisiert wurde, können Sie - die neue Konfiguration testen, indem Sie den Befehl - <command>mount</command> ausführen:</para> - - <screen>&prompt.root; <userinput>mount</userinput> -Filesystem 1K-blocks Used Avail Capacity Mounted on -/dev/mirror/gm0s1a 1012974 224604 707334 24% / -devfs 1 1 0 100% /dev -/dev/mirror/gm0s1f 45970182 28596 42263972 0% /home -/dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr -/dev/mirror/gm0s1e 3045006 2241420 559986 80% /var -devfs 1 1 0 100% /var/named/dev</screen> - - <para>Hier ist alles in Ordnung. Alle Werte sehen aus wie - erwartet. Um die Synchronisierung zu beginnen, integrieren - Sie nun die Platte <devicename>da1</devicename> in den - Spiegel, indem Sie den folgenden Befehl eingeben:</para> - - <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen> - - <para>Während die Platten gespiegelt werden, können - Sie den Fortschritt durch die Eingabe des folgenden Befehls - überprüfen:</para> - - <screen>&prompt.root; <userinput>gmirror status</userinput></screen> - - <para>Nachdem die Plattenspiegelung erfolgreich abgeschlossen - wurde (und alle Daten synchronisiert wurden), sollte Sie - eine Ausgabe ähnlich der folgenden erhalten, wenn Sie - den Befehl erneut ausführen:</para> - - <screen> Name Status Components -mirror/gm0 COMPLETE da0 - da1</screen> - - <para>Sollten Probleme aufgetreten oder sollte die - Synchronisierung noch nicht abgeschlossen sein, wäre - der Status <literal>DEGRADED</literal> anstatt - <literal>COMPLETE</literal>.</para> - </sect2> - - <sect2> - <title>Fehlerbehebung</title> - - <sect3> - <title>Das System weigert sich zu starten</title> - - <para>Falls das System startet und eine Eingabeaufforderung - ähnlich der folgenden erscheint:</para> - - <programlisting>ffs_mountroot: can't find rootvp -Root mount failed: 6 -mountroot></programlisting> - - <para>Starten Sie den Rechner neu mit der Power- oder - Resettaste. Wählen Sie im Startmenü Option sechs - (6). Dadurch erscheint eine Eingabeaufforderung für - &man.loader.8;. Laden Sie nun das Kernelmodul - händisch:</para> - - <screen>OK? <userinput>load geom_mirror</userinput> -OK? <userinput>boot</userinput></screen> - - <para>Falls dies funktioniert, wurde das Modul (aus welchen - Gründen auch immer) nicht richtig geladen. Prüfen - Sie, ob Ihr Eintrag in der Datei - <filename>/boot/loader.conf</filename> korrekt ist. Sollte - das Problem weiterhin bestehen, nehmen Sie die Zeile</para> - - <programlisting>options GEOM_MIRROR</programlisting> - - <para>in die Konfigurationsdatei des Kernels auf und führen - Sie einen Rebuild und eine erneute Installation durch. Dies - sollte das Problem beseitigen.</para> - </sect3> - </sect2> - - <sect2> - <title>Wiederherstellung des Systems nach einem - Plattenausfall</title> - - <para>Das Schöne an der Plattenspiegelung ist, dass eine - kaputte Platte ersetzt werden kann, ohne dass Sie dabei - Daten verlieren.</para> - - <para>Basierend auf der vorhin besprochenen - <acronym>RAID</acronym>1-Konfiguration, nehmen wir nun an, dass - die Platte <devicename>da1</devicename> ausgefallen ist und daher - ersetzt werden muss. Um dies zu tun, müssen Sie - feststellen, welche Platte ausgefallen ist und das System - herunterfahren. Nun können Sie die kaputte Platte gegen - eine neue Platte austauschen und das System wieder starten. - Nachdem der Systemstart abgeschlossen ist, verwenden Sie die - folgenden Befehle, um die Plattenspiegelung wieder zu - reaktivieren:</para> - - <screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen> - - <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen> - - <para>Der Befehl <command>gmirror</command> <option>status</option> - erlaubt es Ihnen, den Fortschritt bei der Wiederherstellung der - Plattenspiegelung zu beobachten. Das ist alles, was Sie tun - müssen.</para> - </sect2> - </sect1> - - <sect1 id="geom-ggate"> - <title>GEOM Gate Netzwerkgeräte</title> - - <para>GEOM unterstützt die Verwendung entfernter Geräte - wie Festplatten, CD-ROMs, Dateien usw. mittels Nutzung - der Gate-Dienstprogramme. Dies ist vergleichbar mit - <acronym>NFS</acronym>.</para> - - <para>Zu Beginn muss eine Exportdatei erzeugt werden. Diese - Datei legt fest, wer Zugriff auf die exportierten Ressourcen - hat und welche Zugriffstechniken angeboten werden. Um zum - Beispiel den vierten Slice auf der ersten - <acronym>SCSI</acronym>-Platte zu exportieren, ist die - folgende Datei <filename>/etc/gg.exports</filename> - mehr als ausreichend:</para> - - <programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting> - - <para>Sie wird allen Hosts innerhalb des privaten Netzwerkes - den Zugriff auf das Dateisystem auf der Partition - <devicename>da0s4d</devicename> erlauben.</para> - - <para>Um dieses Gerät zu exportieren, stellen Sie bitte - sicher, dass es momentan nicht gemounted ist und - starten Sie den &man.ggated.8; Server-Daemon:</para> - - <screen>&prompt.root; <userinput>ggated</userinput></screen> - - <para>Um nun <command>mount</command> auf der Client-Maschine - auszuführen, geben Sie bitte die folgenden Befehle - ein:</para> - - <screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput> -ggate0 -&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen> - - <para>Von nun an kann auf das Gerät über den Mount-Punkt - <filename class="directory">/mnt</filename> zugegriffen - werden.</para> - - <note> - <para>Es sollte darauf hingewiesen werden, dass dies - scheitern wird, falls das Gerät momentan entweder - auf dem Server oder irgendeiner anderen Maschine - gemountet ist.</para> - </note> - - <para>Wenn das Gerät nicht länger gebraucht wird, - dann kann es mit dem Befehl &man.umount.8; - ausgehängt werden (genauso wie jedes andere Laufwerk - auch).</para> - </sect1> - - <sect1 id="geom-glabel"> - <title>Das Labeln von Laufwerken</title> - - <indexterm> - <primary>GEOM</primary> - </indexterm> - <indexterm> - <primary>Disk Labels</primary> - </indexterm> - - <para>Während der Initialisierung des Systems legt der - &os;-Kernel für jedes gefundene Gerät Knotenpunkte - an. Diese Methode für die Überprüfung auf - vorhandene Geräte wirft einige Fragen auf. Was passiert - beispielsweise, wenn ein neues - <acronym>USB</acronym>-Laufwerk hinzugefügt wird? - Es ist sehr wahrscheinlich, dass ein - Flash-Speicher-Gerät den Gerätenamen - <devicename>da0</devicename> erhält, während - gleichzeitig das bisherige <devicename>da0</devicename> - zu <devicename>da1</devicename> wird. Dies verursacht - Probleme beim Einhängen von Dateisystemen, wenn diese - in der <filename>/etc/fstab</filename> aufgeführt - sind und schlussendlich mag das auch dazu führen, - dass das System nicht mehr startet.</para> - - <para>Eine Lösung für dieses Problem ist das - Aneinanderketten der <acronym>SCSI</acronym>-Geräte, - damit ein neues Gerät, welches der - <acronym>SCSI</acronym>-Karte hinzugefügt wird, - unbenutzte Gerätenummern erhält. Aber was - geschieht, wenn ein <acronym>USB</acronym>-Gerät - möglicherweise die primäre - <acronym>SCSI</acronym>-Platte ersetzt? Dies kann - passieren, weil <acronym>USB</acronym>-Geräte - normalerweise vor der <acronym>SCSI</acronym>-Karte - geprüft werden. Eine Lösung ist das - Hinzufügen dieser Geräte, nachdem das System - gestartet ist. Eine andere Lösung könnte sein, - nur ein einzelnes <acronym>ATA</acronym>-Laufwerk zu - nutzen und die <acronym>SCSI</acronym>-Geräte niemals - in der <filename>/etc/fstab</filename> aufzuführen.</para> - - <para>Es gibt allerdings eine bessere Lösung. Durch - Verwendung des <command>glabel</command>-Dienstprogramms - kann ein Administrator oder Benutzer seine Laufwerke mit - Labeln versehen und diese in der <filename>/etc/fstab</filename> - nutzen. Da <command>glabel</command> seine Label im letzten - Sektor jedes vorhandenen Datenträgers speichert, wird - das Label persistent bleiben (auch über Neustarts hinweg). - Durch Nutzung dieses Labels als Gerät kann das - Dateisystem immer gemountet sein, unabhängig davon, - durch welchen Geräte-Knotenpunkt auf ihn zugegriffen - wird.</para> - - <note> - <para>Der Label muss permanent (dauerhaft) sein. - Man kann das Dienstprogramm <command>glabel</command> - nutzen, um sowohl transiniente als auch permanente Label - zu erzeugen. Aber nur permanente (persistente) Label - bleiben konsistent über Neustarts hinweg. Lesen - Sie die &man.glabel.8;-Manualpage für weitere - Unterschiede zwischen den Label-Typen.</para> - </note> - - <sect2> - <title>Label-Typen und Beispiele</title> - - <para>Es gibt zwei Arten von Labeln: generische Label und - Dateisystem-Label. Label können dauerhaft (permanent) - oder temporär sein. Permanente Label können mit - &man.tunefs.8; oder &man.newfs.8; in einem speziellen - spezielles Verzeichnis in <filename - class="directory">/dev</filename> erzeugt werden, welches - entsprechend der Dateisystem-Art benannt wird. - <acronym>UFS</acronym>2-Dateisystem-Label werden zum - Beispiel im Verzeichnis - <filename class="directory">/dev/ufs</filename> - angelegt. Permanente Label können außerdem durch - den Befehl <command>glabel label</command> erzeugt werden. - Diese Label sind dann allerdings nicht dateisystemspezisch - und werden im Unterverzeichnis <filename - class="directory">/dev/label</filename> erzeugt.</para> - - <para>Ein temporäres Label verschwindet mit dem - nächsten Systemstart. Diese Label werden im - Verzeichnis <filename class="directory">/dev/label</filename> - erzeugt und sind ideal für Testzwecke. Ein temporäres - Label kann durch den Befehl <command>glabel create</command> - erzeugt werden. Weitere Informationen finden sich in der - Manualpage &man.glabel.8;.</para> - -<!-- XXXTR: How do you create a file system label without running newfs - or when there is no newfs (e.g.: cd9660)? --> - - <para>Um ein permanentes Label auf einem - <acronym>UFS</acronym>2-Dateisystem ohne - Löschung von Daten zu erzeugen, kann man folgenden - Befehl verwenden:</para> - - <screen>&prompt.root; <userinput>tunefs -L <replaceable>home</replaceable> <replaceable>/dev/da3</replaceable></userinput></screen> - - <warning> - <para>Wenn das Dateisystem voll ist, kann dies zu - Datenkorruption führen; aber egal wie, falls das - Dateisystem voll ist, sollte das Hauptziel die - Entfernung ungenützter Dateien und nicht das - Hinzufügen von Labeln sein.</para> - </warning> - - <para>Ein Label sollte nun in - <filename class="directory">/dev/ufs</filename> vorhanden - sein, der zu <filename>/etc/fstab</filename> - hinzugefügt wird:</para> - - <programlisting>/dev/ufs/home /home ufs rw 2 2</programlisting> - - <note> - <para>Das Dateisystem darf nicht gemountet sein beim - Versuch, <command>tunefs</command> auszuführen.</para> - </note> - - <para>Nun kann das Dateisystem wie üblich gemountet - werden:</para> - - <screen>&prompt.root; <userinput>mount /home</userinput></screen> - - <para>Von nun an kann der Geräte-Knotenpunkt sich ohne - negative Effekte auf das System ändern, solange das - Kernelmodul <filename>geom_label.ko</filename> beim - Systemstart mittels <filename>/boot/loader.conf</filename> - geladen wird oder die - <literal>GEOM_LABEL</literal>-Kernel-Option aktiv ist.</para> - - <para>Dateisysteme können auch mit einem Standard-Label - erzeugt werden (mittels des Flags <option>-L</option> in - <command>newfs</command>). Lesen Sie bitte die Manualpage - von &man.newfs.8; für weitere Informationen.</para> - - <para>Der folgende Befehl kann genutzt werden, um das Label - zu beseitigen:</para> - - <screen>&prompt.root; <userinput>glabel destroy home</userinput></screen> - - <para>Das folgende Beispiel zeigt Ihnen, wie Sie Label für - die Partitionen einer Bootplatte erzeugen.</para> - - <example> - <title>Die Partitionen einer Bootplatte labeln</title> - - <para>Durch das Erstellen von permanenten Labeln für die - Partitionen einer Bootplatte sollte das System selbst dann noch - normal starten können, wenn Sie die Platte an einen - anderen Controller anschließen oder in ein anderes - System installieren. In diesem Beispiel nehmen wir an, dass - nur eine einzige <acronym>ATA</acronym>-Platte verwendet wird, - die Ihr System derzeit als <devicename>ad0</devicename> - erkennt. Weiters nehmen wir an, dass Sie das - Standard-Partionierungsschema von &os; vewendet haben und Ihre - Platte daher die Dateisysteme - <filename class="directory">/</filename>, - <filename class="directory">/var</filename>, - <filename class="directory">/usr</filename> sowie - <filename class="directory">/tmp</filename> aufweist. - Zusätzlich wurde eine Swap-Partition angelegt.</para> - - <para>Starten Sie das System neu. Am &man.loader.8;-Prompt - drücken Sie die Taste <keycap>4</keycap>, um in den - Single-User-Modus zu gelangen. Dort führen Sie die - folgenden Befehle aus:</para> - - <screen>&prompt.root; <userinput>glabel label rootfs /dev/ad0s1a</userinput> -GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs -&prompt.root; <userinput>glabel label var /dev/ad0s1d</userinput> -GEOM_LABEL: Label for provider /dev/ad0s1d is label/var -&prompt.root; <userinput>glabel label usr /dev/ad0s1f</userinput> -GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr -&prompt.root; <userinput>glabel label tmp /dev/ad0s1e</userinput> -GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp -&prompt.root; <userinput>glabel label swap /dev/ad0s1b</userinput> -GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap -&prompt.root; <userinput>exit</userinput></screen> - - <para>Das System startet daraufhin in den Multi-User-Modus. - Nachdem der Startvorgang abgeschlossen ist, editieren Sie die - Datei <filename>/etc/fstab</filename> und ersetzen die - konventionellen Gerätedateien durch die entsprechenden - Label. Ihre modifizierte <filename>/etc/fstab</filename> - sollte nun ähnlich der folgenden Ausgabe aussehen:</para> - - <programlisting># Device Mountpoint FStype Options Dump Pass# -/dev/label/swap none swap sw 0 0 -/dev/label/rootfs / ufs rw 1 1 -/dev/label/tmp /tmp ufs rw 2 2 -/dev/label/usr /usr ufs rw 2 2 -/dev/label/var /var ufs rw 2 2</programlisting> - - <para>Starten Sie Ihr System neu. Traten keine Probleme auf, - wird das System normal hochfahren und Sie erhalten die folgende - Ausgabe, wenn Sie den Befehl <command>mount</command> - ausführen:</para> - - <screen>&prompt.root; <userinput>mount</userinput> -/dev/label/rootfs on / (ufs, local) -devfs on /dev (devfs, local) -/dev/label/tmp on /tmp (ufs, local, soft-updates) -/dev/label/usr on /usr (ufs, local, soft-updates) -/dev/label/var on /var (ufs, local, soft-updates)</screen> - </example> - - <para>Beginnend mit &os; 7.2, unterstützt - &man.glabel.8; einen neuen Labeltyp für - <acronym>UFS</acronym>-Dateisysteme. Dieser basiert auf der - eindeutigen Dateisystem-ID <literal>ufsid</literal>. - Derartige Label finden sich im Verzeichnis - <filename class="directory">/dev/ufsid</filename> und werden - während des Systemstarts automatisch erzeugt. Es ist - möglich, diese <literal>ufsid</literal>-Label zum - automatischen Einhängen von Partitionen in der Datei - <filename>/etc/fstab</filename> einzusetzen. Verwenden Sie - den Befehl <command>glabel status</command>, um eine Liste - aller Dateisysteme und ihrer <literal>ufsid</literal>-Label - zu erhalten:</para> - - <screen>&prompt.user; <userinput>glabel status</userinput> - Name Status Components -ufsid/486b6fc38d330916 N/A ad4s1d -ufsid/486b6fc16926168e N/A ad4s1f</screen> - - <para>In diesem Beispiel repräsentiert - <devicename>ad4s1d</devicename> das - <filename class="directory">/var</filename>-Dateisystem, - während <devicename>ad4s1f</devicename> dem - <filename class="directory">/usr</filename>-Dateisystem - entspricht. Wenn Sie die angegebenen - <literal>ufsid</literal>-Werte verwenden, können - diese Dateisysteme durch die folgenden Einträge in - der Datei <filename>/etc/fstab</filename> gemountet - werden:</para> - - <programlisting>/dev/ufsid/486b6fc38d330916 /var ufs rw 2 2 -/dev/ufsid/486b6fc16926168e /usr ufs rw 2 2</programlisting> - - <para>Jede Partition, die ein <literal>ufsid</literal>-Label - aufweist, kann auf diese Art gemountet werden. Dies hat - den Vorteil, dass Sie keine permanenten Label mehr anlegen - müssen, wobei sich die Platten nach wie vor über - geräteunabhängige Namen ansprechen und mounten - lassen.</para> - </sect2> - </sect1> - - <sect1 id="geom-gjournal"> - <title>UFS Journaling in GEOM</title> - - <indexterm> - <primary>GEOM</primary> - </indexterm> - <indexterm> - <primary>Journaling</primary> - </indexterm> - - <para>Mit &os; 7.0 wurde eine lang erwartete Funktion, - das Journaling, implementiert. Diese Funktion wird über - das <acronym>GEOM</acronym>-Subsystem realisiert und kann - über das Werkzeug &man.gjournal.8; eingerichtet - werden.</para> - - <para>Was ist Journaling? Bei Journaling wird ein Protokoll - über alle Dateisystemtransaktionen angelegt, inklusive - aller Veränderungen, aus denen ein kompletter - Schreibvorgang besteht, bevor diese Änderungen (Metadaten - sowie tatsächliche Schreibvorgänge) physikalisch auf - der Festplatte ausgeführt werden. Dieses Protokoll kann - später erneut aufgerufen werden, um diese Vorgänge - zu wiederholen (beispielsweise um Systeminkonsistenzen zu - vermeiden).</para> - - <para>Diese Technik bietet eine weitere Möglichkeit, - sich vor Datenverlust und Dateisystem-Inkonsistenzen zu - schützen. Im Gegensatz zu Soft Updates (die - Metadaten-Aktualisierungen verfolgen und erzwingen) und - Snapshots (die ein Image eines Dateisystems darstellen) wird - bei Journaling ein tatsächliches Protokoll in einem - speziell dafür bereitgestellten Bereich der Festplatte - (oder manchmal sogar auf einer separaten Platte) - gespeichert.</para> - - <para>Im Gegensatz zu anderen Journaling-Dateisystemen arbeitet - die <command>gjournal</command>-Methode blockbasiert und wurde - nicht als Teil des Dateisystems implementiert, sondern als - <acronym>GEOM</acronym>-Erweiterung.</para> - - <para>Um die <command>gjournal</command>-Unterstützung zu - aktivieren, muss der &os;-Kernel die folgende Option enthalten - (was seit &os; 7.0 bereits in der Voreinstellung der Fall - ist):</para> - - <programlisting>options UFS_GJOURNAL</programlisting> - - <para>Um ein Volume mit Journalunterstützung beim Systemstart - automatisch zu mounten, muss das Kernelmodul - <filename>geom_journal.ko</filename> ebenfalls automatisch geladen - werden (durch einen entsprechenden Eintrag in der Datei - <filename>/boot/loader.conf</filename>):</para> - - <programlisting>geom_journal_load="YES"</programlisting> - - <para>Alternativ können Sie auch einen angepassten Kernel - bauen, der diese Funktionalität enthält, indem Sie die - folgende Zeile in Ihrer Kernelkonfigurationsdatei - aufnehmen:</para> - - <programlisting>options GEOM_JOURNAL</programlisting> - - <para>Das Anlegen eines neuen Journals auf einem freien Dateisystem - erfolgt durch die folgenden Schritte (im Folgenden wird - angenommen, dass es sich bei <devicename>da4</devicename> um - eine neue <acronym>SCSI</acronym>-Platte handelt):</para> - - <screen>&prompt.root; <userinput>gjournal load</userinput> -&prompt.root; <userinput>gjournal label /dev/da4</userinput></screen> - - <para>Danach sollten die Gerätedateien - <devicename>/dev/da4</devicename> sowie - <devicename>/dev/da4.journal</devicename> vorhanden sein. Nun - können Sie auf diesem Gerät ein Dateisystem - anlegen:</para> - - <screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen> - - <para>Dieser Befehl erzeugt ein <acronym>UFS</acronym>2-Dateisystem - auf dem Gerät, für das im letzten Schritt das - Journaling aktiviert wurde.</para> - - <para>Danach hängen Sie das neue Dateisystem mit - <command>mount</command> in Ihren Verzeichnisbaum ein:</para> - - <screen>&prompt.root; <userinput>mount /dev/da4.journal <replaceable>/mnt</replaceable></userinput></screen> - - <note> - <para>Falls auf Ihrem System mehrere Slices angelegt sind - (beispielsweise <devicename>ad4s1</devicename> sowie - <devicename>ad4s2</devicename>), wird - <command>gjournal</command> für jedes Slice ein - Journal anlegen (also <devicename>ad4s1.journal</devicename> - sowie <devicename>ad4s2.journal</devicename>).</para> - </note> - - <para>Um die Leistung zu optimieren, kann das Journal auf eine - externe Platte ausgelagert werden. In einem solchen Fall - geben Sie die Gerätedatei der Platte nach dem Gerät - an, für das Sie Journaling aktivieren wollen. - Theoretisch ist es auch möglich, Journaling auf bereits - existierenden Dateisystemen durch das Werkzeug - <command>tunefs</command> zu aktivieren. Machen Sie aber - in jedem Fall ein Backup Ihrer Daten, bevor Sie versuchen, - ein existierendes Dateisystem zu ändern. - <command>gjournal</command> wird zwar den Vorgang abbrechen, - wenn es das Journal nicht erzeugen kann, allerdings schützt - Sie dies nicht vor Datenverlust durch einen fehlerhaften Einsatz - von <command>tunefs</command>.</para> - - <para>Es ist möglich, Journale auch für die Bootplatte - eines &os;-System zu verwenden. Lesen Sie bitte den Artikel - <ulink - url="&url.articles.gjournal-desktop.en;/article.html"> - Implementing UFS Journaling on a Desktop PC</ulink>, wenn Sie - an einer derartigen Konfiguration interessiert sind.</para> - </sect1> -</chapter> |