3033 lines
125 KiB
Text
3033 lines
125 KiB
Text
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD German Documentation Project
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde: de-docproj/books/handbook/disks/chapter.sgml,v 1.72 2003/03/15 11:39:45 mheinen Exp $
|
|
basiert auf: 1.144
|
|
-->
|
|
|
|
<chapter id="disks">
|
|
<chapterinfo>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Bernd</firstname>
|
|
<surname>Warken</surname>
|
|
<contrib>Übersetzt von </contrib>
|
|
<!-- bwarken@mayn.de -->
|
|
</author>
|
|
<author>
|
|
<firstname>Martin</firstname>
|
|
<surname>Heinen</surname>
|
|
</author>
|
|
</authorgroup>
|
|
</chapterinfo>
|
|
|
|
<title>Speichermedien</title>
|
|
|
|
<sect1 id="disks-synopsis">
|
|
<title>Übersicht</title>
|
|
|
|
<para>Dieses Kapitel behandelt die Benutzung von Laufwerken unter
|
|
FreeBSD. Laufwerke können speichergestützte Laufwerke,
|
|
Netzwerklaufwerke oder normale SCSI/IDE Geräte sein.</para>
|
|
|
|
<para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes
|
|
wissen:</para>
|
|
<itemizedlist>
|
|
<listitem><para>Die Begriffe, die FreeBSD verwendet, um die
|
|
Organisation der Daten auf einem physikalischen Laufwerk
|
|
zu beschreiben (Partitionen und Slices).</para>
|
|
</listitem>
|
|
<listitem><para>Wie Sie Dateisysteme an- und abhängen.</para>
|
|
</listitem>
|
|
<listitem><para>Wie Sie ein weiteres Laufwerk zu Ihrem System
|
|
hinzufügen.</para>
|
|
</listitem>
|
|
<listitem><para>Wie virtuelle Dateisysteme, zum Beispiel RAM-Disks,
|
|
aufgesetzt werden.</para>
|
|
</listitem>
|
|
<listitem><para>Wie Sie mit Quotas die Benutzung von Laufwerken
|
|
einschränken können.</para>
|
|
</listitem>
|
|
<listitem><para>Wie unter FreeBSD CDs und DVDs gebrannt werden.</para>
|
|
</listitem>
|
|
<listitem><para>Sie werden die Speichermedien, die Sie für
|
|
Backups einsetzen können, kennen.</para></listitem>
|
|
<listitem><para>Wie Sie die unter FreeBSD erhältlichen Backup
|
|
Programme benutzen.</para></listitem>
|
|
<listitem><para>Wie Sie ein Backup mit Disketten erstellen.</para>
|
|
</listitem>
|
|
<listitem><para>Was Schnappschüsse sind und wie sie eingesetzt
|
|
werden.</para>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 id="disks-naming">
|
|
<title>Gerätenamen</title>
|
|
|
|
<para>Die folgende Tabelle zeigt die von FreeBSD unterstützten
|
|
Speichergeräte und deren Gerätenamen.</para>
|
|
|
|
<table id="disk-naming-physical-table">
|
|
<title>Namenskonventionen von physikalischen Laufwerken</title>
|
|
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Laufwerkstyp</entry>
|
|
<entry>Gerätename</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>IDE-Festplatten</entry>
|
|
<entry><literal>ad</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>IDE-CD-ROM Laufwerke</entry>
|
|
<entry><literal>acd</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>SCSI-Festplatten und USB-Speichermedien</entry>
|
|
<entry><literal>da</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>SCSI-CD-ROM Laufwerke</entry>
|
|
<entry><literal>cd</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Verschiedene proprietäre CD-ROM-Laufwerke</entry>
|
|
<entry><literal>mcd</literal> Mitsumi CD-ROM,
|
|
<literal>scd</literal> Sony CD-ROM,
|
|
<literal>matcd</literal> Matsushita/Panasonic CD-ROM
|
|
<footnote>
|
|
<para>Der &man.matcd.4;-Treiber wurde am 5. Oktober
|
|
vom FreeBSD 4.X Zweig entfernt und existiert in
|
|
FreeBSD 5.0 und späteren Versionen
|
|
nicht.</para>
|
|
</footnote>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Diskettenlaufwerke</entry>
|
|
<entry><literal>fd</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>SCSI-Bandlaufwerke</entry>
|
|
<entry><literal>sa</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>IDE-Bandlaufwerke</entry>
|
|
<entry><literal>ast</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Flash-Laufwerke</entry>
|
|
<entry><literal>fla</literal> für DiskOnChip Flash device</entry>
|
|
</row>
|
|
<row>
|
|
<entry>RAID-Laufwerke</entry>
|
|
<entry><literal>aacd</literal> für Adaptec AdvancedRAID,
|
|
<literal>mlxd</literal> und <literal>mlyd</literal>
|
|
für Mylex,
|
|
<literal>amrd</literal> für AMI MegaRAID,
|
|
<literal>idad</literal> für Compaq Smart RAID,
|
|
<literal>twed</literal> für 3Ware RAID.</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</sect1>
|
|
|
|
<sect1 id="disks-adding">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>David</firstname>
|
|
<surname>O'Brian</surname>
|
|
<contrib>Im Original von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<!-- 26 Apr 1998 -->
|
|
</sect1info>
|
|
|
|
<title>Hinzufügen von Laufwerken</title>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>hinzufügen</secondary>
|
|
</indexterm>
|
|
|
|
<para>Angenommen, Sie wollen ein neues SCSI-Laufwerk zu einer Maschine
|
|
hinzufügen, die momentan nur ein Laufwerk hat. Dazu schalten
|
|
Sie zuerst den Rechner aus und installieren das Laufwerk entsprechend
|
|
der Anleitungen Ihres Rechners, Ihres Controllers und Laufwerk
|
|
Herstellers. Wegen der großen Abweichungen in der genauen
|
|
Vorgehensweise würde eine detaillierte Beschreibung den Rahmen
|
|
dieses Dokumentes sprengen.</para>
|
|
|
|
<para>Nachdem Sie das Laufwerk installiert haben, melden Sie sich als
|
|
Benutzer <username>root</username> an und kontrollieren Sie
|
|
<filename>/var/run/dmesg.boot</filename>, um sicherzustellen,
|
|
dass das neue Laufwerk gefunden wurde. Das neue Laufwerk
|
|
wird, um das Beispiel fortzuführen, <devicename>da1</devicename>
|
|
heißen und soll unter <filename>/1</filename> angehangen
|
|
werden. Fügen Sie eine IDE-Platte hinzu, wird sie
|
|
<devicename>wd1</devicename> auf FreeBSD Systemen vor 4.0 und
|
|
<devicename>ad1</devicename>
|
|
auf den meisten 4.X Systemen heißen.</para>
|
|
|
|
<indexterm><primary>Partitionen</primary></indexterm>
|
|
<indexterm><primary>Slices</primary></indexterm>
|
|
<indexterm>
|
|
<primary><command>fdisk</command></primary>
|
|
</indexterm>
|
|
<para>Da FreeBSD auf IBM-PC kompatiblen Rechnern läuft, muss
|
|
es die PC BIOS-Partitionen, die verschieden von den traditionellen
|
|
BSD-Partitionen sind, berücksichtigen. Eine PC Platte kann
|
|
bis zu vier BIOS-Partitionen enthalten. Wenn die Platte
|
|
ausschließlich für FreeBSD verwendet wird, können
|
|
Sie den <emphasis>dedicated</emphasis> Modus benutzen, ansonsten
|
|
muss FreeBSD in eine der BIOS-Partitionen installiert werden.
|
|
In FreeBSD heißen die PC BIOS-Partitionen
|
|
<emphasis>Slices</emphasis>, um sie nicht mit den traditionellen
|
|
BSD-Partitionen zu verwechseln. Sie können auch Slices auf
|
|
einer Platte verwenden, die ausschließlich von FreeBSD
|
|
benutzt wird, sich aber in einem Rechner befindet, der noch ein
|
|
anderes Betriebssystem installiert hat. Dadurch stellen Sie sicher,
|
|
dass Sie <command>fdisk</command> des anderen Betriebssystems noch
|
|
benutzen können.</para>
|
|
|
|
<para>Im Fall von Slices wird die Platte als
|
|
<filename>/dev/da1s1e</filename> hinzugefügt. Das heißt:
|
|
SCSI-Platte, Einheit 1 (die zweite SCSI-Platte), Slice 1
|
|
(PC BIOS-Partition 1) und die <filename>e</filename> BSD-Partition.
|
|
Wird die Platte ausschließlich für FreeBSD verwendet
|
|
(<quote>dangerously dedicated</quote>), wird sie einfach als
|
|
<filename>/dev/da1e</filename> hinzugefügt.</para>
|
|
|
|
<sect2>
|
|
<title>Verwenden von &man.sysinstall.8;</title>
|
|
<indexterm>
|
|
<primary><application>sysinstall</application></primary>
|
|
<secondary>hinzufügen von Laufwerken</secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>su</primary>
|
|
</indexterm>
|
|
|
|
<procedure>
|
|
<step>
|
|
<title>Das <application>sysinstall</application> Menü</title>
|
|
|
|
<para>Um ein Laufwerk zu partitionieren und zu labeln, kann das
|
|
menügestützte <command>/stand/sysinstall</command>
|
|
benutzt werden. Dazu melden Sie sich als <username>root</username>
|
|
an oder benutzen <command>su</command>, um
|
|
<username>root</username> zu werden. Starten Sie
|
|
<command>/stand/sysinstall</command> und wählen das
|
|
<literal>Configure</literal> Menü, wählen Sie dort
|
|
den Punkt <literal>Fdisk</literal> aus.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<title>Partitionieren mit <application>fdisk</application></title>
|
|
|
|
<para>Innerhalb von <application>fdisk</application> geben Sie
|
|
<userinput>A</userinput> ein, um die ganze Platte für
|
|
FreeBSD zu benutzen. Beantworten Sie die Frage <quote>remain
|
|
cooperative with any future possible operating systems</quote> mit
|
|
<literal>YES</literal>. <userinput>W</userinput> schreibt die
|
|
Änderung auf die Platte, danach können Sie
|
|
<application>fdisk</application> mit <userinput>q</userinput>
|
|
verlassen. Da Sie eine Platte zu einem schon laufenden System
|
|
hinzugefügt haben, beantworten Sie die Frage nach dem
|
|
Master Boot Record mit <literal>None</literal>.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<title>Disk Label Editor</title>
|
|
<indexterm><primary>BSD Partitionen</primary></indexterm>
|
|
|
|
<para>Als nächstes müssen Sie
|
|
<application>sysinstall</application> verlassen und es erneut
|
|
starten. Folgen Sie dazu bitte den Anweisungen von oben, aber
|
|
wählen Sie dieses Mal die Option <literal>Label</literal>,
|
|
um in den <literal>Disk Label Editor</literal> zu gelangen.
|
|
Hier werden die traditionellen BSD-Partitionen erstellt.
|
|
Ein Laufwerk kann acht Partitionen, die mit den Buchstaben
|
|
<literal>a-h</literal> gekennzeichnet werden,
|
|
besitzen. Einige Partitionen sind für spezielle Zwecke
|
|
reserviert. Die <literal>a</literal> Partition ist für die
|
|
Root-Partition (<filename>/</filename>) reserviert. Deshalb
|
|
sollte nur das Laufwerk, von dem gebootet wird, eine
|
|
<literal>a</literal> Partition besitzen. Die <literal>b</literal>
|
|
Partition wird für Swap-Partitionen benutzt, wobei Sie
|
|
diese auf mehreren Platten benutzen dürfen.
|
|
Im <quote>dangerously dedicated</quote> Modus spricht
|
|
die <literal>c</literal> Partition die gesamte Platte an,
|
|
werden Slices verwendet, wird damit die ganze Slice angesprochen.
|
|
Die anderen Partitionen sind für allgemeine Zwecke
|
|
verwendbar.</para>
|
|
|
|
<para>Der Label Editor von <application>sysinstall</application>
|
|
bevorzugt die <literal>e</literal>
|
|
Partition für Partitionen, die weder Root-Partitionen noch
|
|
Swap-Partitionen sind. Im Label
|
|
Editor können Sie ein einzelnes Dateisystem
|
|
mit <userinput>C</userinput> erstellen. Wählen Sie
|
|
<literal>FS</literal>, wenn Sie gefragt werden, ob Sie ein
|
|
FS (Dateisystem) oder Swap erstellen wollen, und geben Sie einen
|
|
Mountpoint z.B. <filename>/mnt</filename> an. Wenn Sie nach einer
|
|
FreeBSD Installation ein Dateisystem mit
|
|
<application>sysinstall</application> erzeugen,
|
|
so werden die Einträge in <filename>/etc/fstab</filename>
|
|
nicht erzeugt, so dass die Angabe des Mountpoints nicht
|
|
wichtig ist.</para>
|
|
|
|
<para>Sie können nun das Label auf das Laufwerk schreiben und
|
|
das Dateisystem erstellen, indem Sie <userinput>W</userinput>
|
|
drücken. Ignorieren Sie die Meldung von
|
|
<application>sysinstall</application>, dass die neue Partition
|
|
nicht angehangen werden konnte, und verlassen Sie den Label Editor
|
|
sowie <application>sysinstall</application>.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<title>Ende</title>
|
|
|
|
<para>Im letzten Schritt fügen Sie noch in
|
|
<filename>/etc/fstab</filename> den Eintrag für das neue
|
|
Laufwerk ein.</para>
|
|
</step>
|
|
|
|
</procedure>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Die Kommandozeile</title>
|
|
|
|
<sect3>
|
|
<title>Anlegen von Slices</title>
|
|
|
|
<para>Mit der folgenden Vorgehensweise wird eine Platte mit
|
|
anderen Betriebssystemen, die vielleicht auf Ihrem Rechner
|
|
installiert sind, zusammenarbeiten und nicht das
|
|
<command>fdisk</command> Programm anderer Betriebssysteme
|
|
stören. Bitte benutzen
|
|
Sie den <literal>dedicated</literal> Modus nur dann, wenn
|
|
Sie dazu einen guten Grund haben!</para>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
|
|
&prompt.root; <userinput>fdisk -BI da1</userinput> # Initialisieren der neuen Platte
|
|
&prompt.root; <userinput>disklabel -B -w -r da1s1 auto</userinput> # Labeln
|
|
&prompt.root; <userinput>disklabel -e da1s1</userinput> # Editieren des Disklabels und Hinzufügen von Partitionen
|
|
&prompt.root; <userinput>mkdir -p /1</userinput>
|
|
&prompt.root; <userinput>newfs /dev/da1s1e</userinput> # Wiederholen Sie diesen Schritt für jede Partition
|
|
&prompt.root; <userinput>mount /dev/da1s1e /1</userinput> # Anhängen der Partitionen
|
|
&prompt.root; <userinput>vi /etc/fstab</userinput> # Ändern Sie <filename>/etc/fstab</filename> entsprechend</screen>
|
|
|
|
<para>Wenn Sie ein IDE-Laufwerk besitzen, ändern Sie
|
|
<filename>da</filename> in <filename>ad</filename>. Auf
|
|
Systemen vor 4.0 benutzen Sie <filename>wd</filename>.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Dedicated</title>
|
|
<indexterm><primary>OS/2</primary></indexterm>
|
|
|
|
<para>Wenn das neue Laufwerk nicht von anderen Betriebssystemen
|
|
benutzt werden soll, können Sie es im
|
|
<literal>dedicated</literal> Modus betreiben. Beachten Sie bitte,
|
|
dass Microsoft Betriebssysteme mit diesem Modus eventuell nicht
|
|
zurechtkommen, aber es entsteht kein Schaden am Laufwerk. Im
|
|
Gegensatz dazu wird IBMs OS/2 versuchen, jede ihm nicht bekannte
|
|
Partition zu reparieren.</para>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
|
|
&prompt.root; <userinput>disklabel -Brw da1 auto</userinput>
|
|
&prompt.root; <userinput>disklabel -e da1</userinput> # Erstellen der `e' Partition
|
|
&prompt.root; <userinput>newfs -d0 /dev/da1e</userinput>
|
|
&prompt.root; <userinput>mkdir -p /1</userinput>
|
|
&prompt.root; <userinput>vi /etc/fstab</userinput> # /dev/da1e hinzufügen
|
|
&prompt.root; <userinput>mount /1</userinput></screen>
|
|
|
|
<para>Eine alternative Methode:</para>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 count=2</userinput>
|
|
&prompt.root; <userinput>disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin</userinput>
|
|
&prompt.root; <userinput>newfs /dev/da1e</userinput>
|
|
&prompt.root; <userinput>mkdir -p /1</userinput>
|
|
&prompt.root; <userinput>vi /etc/fstab</userinput> # /dev/da1e hinzufügen
|
|
&prompt.root; <userinput>mount /1</userinput></screen>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="raid">
|
|
<title>RAID</title>
|
|
|
|
<sect2 id="raid-soft">
|
|
<title>Software RAID</title>
|
|
|
|
<sect3 id="ccd">
|
|
<sect3info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Christopher</firstname>
|
|
<surname>Shumway</surname>
|
|
<contrib>Geschrieben von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Valentino</firstname>
|
|
<surname>Vaschetto</surname>
|
|
<contrib>Mark Up von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect3info>
|
|
|
|
<title>ccd (Concatenated Disk Configuration)</title>
|
|
|
|
<para>Die wichtigsten Faktoren bei der Auswahl von Massenspeichern
|
|
sind Geschwindigkeit, Zuverlässigkeit und der Preis.
|
|
Selten findet sich eine ausgewogene Mischung aller drei Faktoren.
|
|
Schnelle und zuverlässige Massenspeicher sind für
|
|
gewöhnlich teuer. Um die Kosten zu senken, muss
|
|
entweder an der Geschwindigkeit oder an der Zuverlässigkeit
|
|
gespart werden. Bei der Planung meines Systems habe ich die
|
|
Faktoren nach ihrer Wichtigkeit geordnet. Der wichtigste Faktor
|
|
waren die Kosten, da ich sehr viel Speicher zu einem guten Preis
|
|
brauchte. Der nächste Faktor, Geschwindigkeit, war nicht
|
|
so wichtig, da auf die Daten über ein geswitchtes
|
|
100 Mbit Ethernet, das wahrscheinlich den Engpass
|
|
darstellen würde, zugegriffen werden sollte. Die
|
|
Möglichkeit, die Ein- und Ausgabeoperationen auf mehrere
|
|
Platten zu verteilen, sollte für dieses Netzwerk mehr als
|
|
schnell genug sein. Die Frage nach der Zuverlässigkeit war
|
|
leicht zu beantworten, da sich die Daten ja schon auf CD-Rs
|
|
befanden und der Massenspeicher nur für den leichteren Zugriff
|
|
auf die Daten sorgen sollte. Wenn ein Laufwerk kaputt geht, kann
|
|
es leicht ersetzt werden und die Daten können nach dem
|
|
Wiederherstellen des Dateisystems von CD-Rs wieder kopiert
|
|
werden.</para>
|
|
|
|
<para>Unter dem Strich wollte ich also möglichst viel
|
|
Speicher für mein Geld. Große IDE-Laufwerke sind
|
|
heutzutage billig: Ich fand IDE-Laufwerke von Western Digital
|
|
mit 30,7 GB und 5400 RPM für 130 US Dollars, von denen
|
|
ich drei und damit ungefähr 90 Gigabyte
|
|
Speicher kaufte.</para>
|
|
|
|
<sect4 id="ccd-installhw">
|
|
<title>Installation der Hardware</title>
|
|
|
|
<para>Die Laufwerke wurden in ein System eingebaut, das schon ein
|
|
IDE-Laufwerk als Systemplatte besaß. Es wäre ideal
|
|
gewesen, für jedes IDE-Laufwerk einen eigenen Controller
|
|
und ein eigenes Kabel zu haben, doch haben das die damit verbundenen
|
|
Kosten verboten. Zwei Platten wurden als Slave und eine als
|
|
Master konfiguriert. An den ersten IDE-Controller schloss ich
|
|
eine als Slave konfigurierte Platte zusätzlich zur Systemplatte
|
|
an. Die beiden anderen Platten wurden als Master und Slave an den
|
|
zweiten Controller angeschlossen.</para>
|
|
|
|
<para>Beim Reboot wurde das BIOS so konfiguriert, dass es
|
|
die angeschlossenen Platten automatisch erkennt und FreeBSD
|
|
erkannte die Platten ebenfalls:</para>
|
|
|
|
<programlisting>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</programlisting>
|
|
|
|
<para>Wenn FreeBSD die Platten jetzt nicht erkennt,
|
|
überprüfen Sie, ob die Jumper korrekt konfiguriert sind.
|
|
Ich habe von vielen Problemen gehört, die dadurch entstanden
|
|
sind, dass die Platten mit <quote>cable select</quote> anstatt
|
|
richtig als Master und Slave konfiguriert waren.</para>
|
|
|
|
<para>Die nächste Überlegung war, wie die Platten in
|
|
das Dateisystem eingebunden werden sollten. Ich schaute mir
|
|
&man.vinum.8; (<xref linkend="vinum-vinum">)
|
|
und FreeBSDs &man.ccd.4; im Hinblick auf meine
|
|
Konfiguration an. Die Entscheidung fiel zugunsten von &man.ccd.4;,
|
|
da es aus weniger Teilen besteht und weniger Teile häufig
|
|
eine höhere Stabilität anzeigen. Vinum schien für
|
|
meine Zwecke ein bisschen zuviel zu sein.</para>
|
|
</sect4>
|
|
|
|
<sect4 id="ccd-setup">
|
|
<title>Konfiguration von CCD</title>
|
|
|
|
<para>Mit <application>ccd</application> können mehrere
|
|
gleiche Platten zu einem logischen Dateisystem
|
|
zusammengefasst werden. Um <application>ccd</application>
|
|
zu benutzen, muss der Kernel mit der entsprechenden
|
|
Unterstützung übersetzt werden. Ich fügte die
|
|
folgende Zeile zu meiner Konfigurationsdatei hinzu und
|
|
übersetzte den Kernel neu:</para>
|
|
|
|
<programlisting>pseudo-device ccd 4</programlisting>
|
|
|
|
<note>
|
|
<para>Ab FreeBSD 5.0 muss die gewünschte Anzahl an
|
|
Geräten nicht mehr angegeben werden, da die Geräte
|
|
automatisch zur Laufzeit erzeugt werden.</para>
|
|
</note>
|
|
|
|
<para>In FreeBSD 4.0 und späteren Versionen kann
|
|
<application>ccd</application> auch als Kernelmodul geladen
|
|
werden.</para>
|
|
|
|
<para>Um <application>ccd</application> zu benutzen, müssen
|
|
die Laufwerke zuerst mit einem Label versehen werden. Die Label
|
|
erstellte ich mit den folgenden Kommandos:</para>
|
|
|
|
<programlisting>disklabel -r -w ad1 auto
|
|
disklabel -r -w ad2 auto
|
|
disklabel -r -w ad3 auto</programlisting>
|
|
|
|
<para>Damit wurden die Label <devicename>ad1c</devicename>,
|
|
<devicename>ad2c</devicename> und <devicename>ad3c</devicename>
|
|
erstellt, die jeweils das gesamte Laufwerk umfassen.</para>
|
|
|
|
<para>Im nächsten Schritt muss der Typ des Labels
|
|
geändert werden. Zum Editieren der Lables benutzte ich
|
|
folgende Kommandos:</para>
|
|
|
|
<programlisting>disklabel -e ad1
|
|
disklabel -e ad2
|
|
disklabel -e ad3</programlisting>
|
|
|
|
<para>Für jedes Label startete dies den durch
|
|
<envar>EDITOR</envar> gegebenen Editor, in meinem Fall &man.vi.1;,
|
|
der dann einen Abschnitt, wie den folgenden zeigte:</para>
|
|
|
|
<programlisting>8 partitions:
|
|
# size offset fstype [fsize bsize bps/cpg]
|
|
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)</programlisting>
|
|
|
|
<para>Für <application>ccd</application> musste ich eine
|
|
<quote>e</quote> Partition erstellen. Diese kann durch Kopieren
|
|
der <quote>c</quote> Partition erstellt werden, allerdings muss
|
|
<option>fstype</option> auf <userinput>4.2BSD</userinput>
|
|
gesetzt werden. Der editierte Label sah dann wie folgt aus:</para>
|
|
|
|
<programlisting>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)</programlisting>
|
|
|
|
</sect4>
|
|
|
|
<sect4 id="ccd-buildingfs">
|
|
<title>Erstellen des Dateisystems</title>
|
|
|
|
<para>Nachdem die Label erstellt waren, musste ich
|
|
<application>ccd</application> konfigurieren. Dazu dient
|
|
&man.ccdconfig.8;, das als ersten Parameter das zu konfigurierende
|
|
Gerät, in meinem Fall <devicename>/dev/ccd0c</devicename>,
|
|
erwartet. Wenn die Gerätedatei für
|
|
<devicename>ccd0c</devicename> noch nicht existiert, können
|
|
Sie diese mit den folgenden Kommandos erstellen:</para>
|
|
|
|
<programlisting>cd /dev
|
|
sh MAKEDEV ccd0</programlisting>
|
|
|
|
<note>
|
|
<para>Ab FreeBSD 5.0 werden die Gerätedateien
|
|
automatisch von &man.devfs.5; erzeugt.
|
|
<command>MAKEDEV</command> muss also nicht aufgerufen
|
|
werden.</para>
|
|
</note>
|
|
|
|
<para>Das nächste Argument, das <command>ccdconfig</command>
|
|
erwartet, ist der Interleave für das Dateisystem. Der
|
|
Interleave definiert die Größe eines Streifens in
|
|
Blöcken, die normal 512 Bytes groß sind. Ein
|
|
Interleave von 32 ist demnach 16384 Bytes groß.</para>
|
|
|
|
<para>Nach der Angabe des Interleaves können Sie Optionen
|
|
für <command>ccdconfig</command> angeben. Wenn Sie
|
|
gespiegelte Laufwerke einrichten möchten, müssen
|
|
Sie an dieser Stelle eine Option angeben.
|
|
Da ich keinen Spiegel erstellen wollte, habe ich
|
|
<literal>0</literal> eingesetzt.</para>
|
|
|
|
<para>Zum Schluss werden die Geräte des Verbundes angegeben.
|
|
Die komplette Kommandozeile sieht dann wie folgt aus:</para>
|
|
|
|
<programlisting>ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e</programlisting>
|
|
|
|
<para>Damit ist <application>ccd</application> konfiguriert und
|
|
mit &man.newfs.8; kann nun ein Dateisystem angelegt werden:</para>
|
|
|
|
<programlisting>newfs /dev/ccd0c</programlisting>
|
|
|
|
</sect4>
|
|
|
|
<sect4 id="ccd-auto">
|
|
<title>Automatisierung</title>
|
|
|
|
<para>Damit <application>ccd</application> beim Start automatisch
|
|
aktiviert wird, ist die Datei <filename>/etc/ccd.conf</filename>
|
|
mit dem folgenden Kommando zu erstellen:</para>
|
|
|
|
<programlisting>ccdconfig -g > /etc/ccd.conf</programlisting>
|
|
|
|
<para>Wenn <filename>/etc/ccd.conf</filename> existiert, wird beim
|
|
Reboot <command>ccdconfig -C</command> von
|
|
<command>/etc/rc</command> aufgerufen. Damit wird
|
|
<application>ccd</application> eingerichtet und die darauf
|
|
befindlichen Dateisysteme können angehängt
|
|
werden.</para>
|
|
|
|
<para>Wenn Sie in den Single-User Modus booten, müssen Sie
|
|
den Verbund erst konfigurieren, bevor Sie darauf befindliche
|
|
Dateisysteme anhängen können:</para>
|
|
|
|
<programlisting>ccdconfig -C</programlisting>
|
|
|
|
<para>In <filename>/etc/fstab</filename> ist noch ein Eintrag
|
|
für das auf dem Verbund befindliche Dateisystem zu
|
|
erstellen, damit dieses beim Start des Systems immer
|
|
angehängt wird:</para>
|
|
|
|
<programlisting>/dev/ccd0c /media ufs rw 2 2</programlisting>
|
|
</sect4>
|
|
</sect3>
|
|
|
|
<sect3 id="vinum">
|
|
<title>Der Vinum Volume Manager</title>
|
|
|
|
<para>Der Vinum Volume Manager ist ein Block-Gerätetreiber,
|
|
der virtuelle Platten zur Verfügung stellt. Er trennt die
|
|
Verbindung zwischen der Festplatte und dem zugehörigen
|
|
Block-Gerät auf. Im Gegensatz zur konventionellen
|
|
Aufteilung einer Platte in Slices lassen sich dadurch Daten
|
|
flexibler, leistungsfähiger und zuverlässiger verwalten.
|
|
&man.vinum.8; stellt RAID-0, RAID-1 und RAID-5 sowohl einzeln wie
|
|
auch in Kombination zur Verfügung.</para>
|
|
|
|
<para>Mehr Informationen über &man.vinum.8; erhalten Sie in
|
|
<xref linkend="vinum-vinum">.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="raid-hard">
|
|
<title>Hardware RAID</title>
|
|
|
|
<indexterm>
|
|
<primary>RAID</primary>
|
|
<secondary>Hardware</secondary>
|
|
</indexterm>
|
|
<para>FreeBSD unterstützt eine Reihe von
|
|
<acronym>RAID</acronym>-Controllern, die mit Hilfe eines
|
|
<acronym>BIOS</acronym> auf der Karte ein <acronym>RAID</acronym>
|
|
System aufbauen und verwalten können. Wie ein
|
|
<acronym>RAID</acronym> System eingerichtet wird, sei kurz am
|
|
Beispiel des Promise <acronym>IDE RAID</acronym>-Controllers
|
|
gezeigt. Nachdem die Karte eingebaut ist und der Rechner neu
|
|
gestartet wurde, erscheint eine Eingabeaufforderung. Wenn Sie den
|
|
Anweisungen auf dem Bildschirm folgen, gelangen Sie in eine Maske,
|
|
in der Sie mit den vorhandenen Festplatten ein
|
|
<acronym>RAID</acronym> System aufbauen können. Das
|
|
<acronym>RAID</acronym> System erscheint später unter FreeBSD
|
|
als eine Festplatte.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Wiederherstellen eines ATA-RAID-1 Verbunds</title>
|
|
|
|
<para>Mit FreeBSD können Sie eine ausgefallene Platte in
|
|
einem RAID-Verbund während des Betriebs auswechseln,
|
|
vorausgesetzt Sie bemerken den Ausfall vor einem Neustart.</para>
|
|
|
|
<para>Einen Ausfall erkennen Sie, wenn in den Protokollen von
|
|
&man.syslogd.8; oder &man.dmesg.8; Meldungen wie die folgenden
|
|
auftauchen:</para>
|
|
|
|
<programlisting>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</programlisting>
|
|
|
|
<para>Überprüfen Sie den RAID-Verbund mit
|
|
&man.atacontrol.8;:</para>
|
|
|
|
<screen>&prompt.root; <userinput>atacontrol list</userinput>
|
|
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; <userinput>atacontrol status ar0</userinput>
|
|
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED</screen>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Damit Sie die Platte ausbauen können, muss sie zuerst
|
|
aus dem Verbund entfernt werden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>atacontrol detach 3</userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Ersetzen Sie dann die Platte.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Nehmen Sie die neue Platte in den Verbund auf:</para>
|
|
|
|
<screen>&prompt.root; <userinput>atacontrol attach 3</userinput>
|
|
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
|
|
Slave: no device present</screen>
|
|
|
|
<step>
|
|
<para>Stellen Sie die Organisation des Verbunds wieder her:</para>
|
|
|
|
<screen>&prompt.root; <userinput>atacontrol rebuild ar0</userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Das Kommando blockiert den Terminal bis der Verbund
|
|
wiederhergestellt ist. Den Fortgang des Prozesses können
|
|
Sie in einem anderen Terminal mit den folgenden Befehlen
|
|
kontrollieren:</para>
|
|
|
|
<screen>&prompt.root; <userinput>dmesg | tail -10</userinput>
|
|
[output removed]
|
|
ad6: removed from configuration
|
|
ad6: deleted from ar0 disk1
|
|
ad6: inserted into ar0 disk1 as spare
|
|
|
|
&prompt.root; <userinput>atacontrol status ar0</userinput>
|
|
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed</screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Warten Sie bis die Wiederherstellung beendet ist.</para>
|
|
</step>
|
|
</procedure>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="creating-cds">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Mike</firstname>
|
|
<surname>Meyer</surname>
|
|
<contrib>Beigesteuert von </contrib>
|
|
<!-- mwm@mired.org -->
|
|
</author>
|
|
</authorgroup>
|
|
<!-- Apr 2001 -->
|
|
</sect1info>
|
|
|
|
<title>Handhabung von optischen Speichermedien (CDs & DVDs)</title>
|
|
<indexterm>
|
|
<primary>CD-ROM</primary>
|
|
<secondary>erstellen</secondary>
|
|
</indexterm>
|
|
|
|
<sect2>
|
|
<title>Einführung</title>
|
|
|
|
<para>CDs besitzen einige Eigenschaften, die sie von
|
|
konventionellen Laufwerken unterscheiden. Zuerst konnten
|
|
sie nicht beschrieben werden. Sie wurden so entworfen, dass
|
|
sie ununterbrochen, ohne Verzögerungen durch Kopfbewegungen
|
|
zwischen den Spuren, gelesen werden können. Sie konnten
|
|
früher auch leichter als vergleichbar große Medien zwischen
|
|
Systemen bewegt werden.</para>
|
|
|
|
<para>CDs besitzen Spuren, aber damit ist der Teil Daten
|
|
gemeint, der ununterbrochen gelesen wird, und nicht eine
|
|
physikalische Eigenschaft der CD. Um eine CD mit FreeBSD
|
|
zu erstellen, werden die Daten jeder Spur der CD in
|
|
Dateien vorbereitet und dann die Spuren auf die CD
|
|
geschrieben.</para>
|
|
|
|
<indexterm><primary>ISO 9660</primary></indexterm>
|
|
<indexterm>
|
|
<primary>Dateisysteme</primary>
|
|
<secondary>ISO-9660</secondary>
|
|
</indexterm>
|
|
<para>Das ISO 9660-Dateisystem wurde entworfen, um mit diesen
|
|
Unterschieden umzugehen. Leider hat es auch damals übliche
|
|
Grenzen für Dateisysteme implementiert. Glücklicherweise
|
|
existiert ein Erweiterungsmechanismus, der es korrekt
|
|
geschriebenen CDs erlaubt, diese Grenzen zu überschreiten
|
|
und dennoch auf Systemen zu funktionieren, die diese
|
|
Erweiterungen nicht unterstützen.</para>
|
|
|
|
<indexterm>
|
|
<primary><command>mkisofs</command></primary>
|
|
</indexterm>
|
|
<para>Mit <filename role="package">sysutils/mkisofs</filename>
|
|
wird eine Datei erstellt, die ein ISO 9660-Dateisystem enthält.
|
|
Das Kommando hat Optionen, um verschiedene Erweiterungen
|
|
zu unterstützen, und wird unten beschrieben. Sie
|
|
können es aus dem <filename role="package">sysutils/mkisofs</filename>
|
|
Port installieren.</para>
|
|
|
|
<indexterm>
|
|
<primary>CD Brenner</primary>
|
|
<secondary>ATAPI</secondary>
|
|
</indexterm>
|
|
<para>Welches Tool Sie zum Brennen von CDs benutzen, hängt davon
|
|
ab, ob Ihr CD Brenner ein ATAPI Gerät ist oder nicht.
|
|
Mit ATAPI CD Brennern wird <command><link linkend="burncd"
|
|
</link>burncd</command> benutzt, das Teil des Basissystems ist.
|
|
SCSI und USB CD-Brenner werden mit <command><link linkend="cdrecord">
|
|
cdrecord</link></command> aus
|
|
<filename role="package">sysutils/cdrtools</filename>
|
|
benutzt.</para>
|
|
|
|
<para>Von <command>burncd</command> wird nur eine beschränkte
|
|
Anzahl von Laufwerken unterstützt. Um herauszufinden, ob
|
|
ein Laufwerk unterstützt wird, sehen Sie bitte unter
|
|
<ulink url="http://freebsd.dk/ata/">CD-R/RW supported drives</ulink>
|
|
nach.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="mkisofs">
|
|
<title>mkisofs</title>
|
|
|
|
<para><filename role="package">sysutils/mkisofs</filename> erstellt ein
|
|
ISO 9660-Dateisystem,
|
|
das ein Abbild eines Verzeichnisbaumes des Dateisystems
|
|
ist. Die einfachste Anwendung ist wie folgt:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mkisofs -o <replaceable>Imagedatei</replaceable> <replaceable>/path/to/tree</replaceable></userinput></screen>
|
|
|
|
<indexterm>
|
|
<primary>Dateisysteme</primary>
|
|
<secondary>ISO-9660</secondary>
|
|
</indexterm>
|
|
<para>Dieses Kommando erstellt eine <replaceable>Imagedatei</replaceable>,
|
|
die ein ISO 9660-Dateisystem enthält, das eine Kopie des
|
|
Baumes unter <replaceable>/path/to/tree</replaceable> ist.
|
|
Dabei werden die Dateinamen auf Namen abgebildet, die den
|
|
Restriktionen des ISO 9660-Dateisystems entsprechen. Dateien
|
|
mit Namen, die im ISO 9660-Dateisystem nicht gültig sind,
|
|
bleiben unberücksichtigt.</para>
|
|
|
|
<indexterm>
|
|
<primary>Dateisysteme</primary>
|
|
<secondary>HFS</secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Dateisysteme</primary>
|
|
<secondary>Joliet</secondary>
|
|
</indexterm>
|
|
<para>Es einige Optionen, um diese Beschränkungen
|
|
zu überwinden. Die unter &unix; Systemen üblichen
|
|
Rock Ridge Erweiterungen werden durch <option>-R</option>
|
|
aktiviert, <option>-J</option> aktiviert die von Microsoft
|
|
Systemen benutzten Joliet Erweiterungen und <option>-hfs</option>
|
|
dient dazu, um das von MacOS benutzte HFS zu erstellen.
|
|
|
|
<para>Für CDs, die nur auf FreeBSD-Systemen verwendet werden
|
|
sollen, kann <option>-U</option> genutzt werden, um alle
|
|
Beschränkungen für Dateinamen aufzuheben. Zusammen
|
|
mit <option>-R</option> wird ein Abbild des
|
|
Dateisystems, ausgehend von dem Startpunkt im FreeBSD-Dateibaum,
|
|
erstellt, obwohl dies den ISO 9660 Standard
|
|
verletzen kann.</para>
|
|
|
|
<indexterm>
|
|
<primary>CD-ROM</primary>
|
|
<secondary>bootbare erstellen</secondary>
|
|
</indexterm>
|
|
<para>Die letzte übliche Option ist <option>-b</option>.
|
|
Sie wird benutzt, um den Ort eines Bootimages einer
|
|
<quote>El Torito</quote> bootbaren CD anzugeben. Das Argument
|
|
zu dieser Option ist der Pfad zu einem Bootimage ausgehend
|
|
von der Wurzel des Baumes, der auf die CD geschrieben werden
|
|
soll. Wenn <filename>/tmp/myboot</filename> ein bootbares
|
|
FreeBSD-System enthält, dessen Bootimage sich in
|
|
<filename>/tmp/myboot/boot/cdboot</filename> befindet, können
|
|
Sie ein Abbild eines ISO 9660-Dateisystems in
|
|
<filename>/tmp/bootable.iso</filename> wie folgt
|
|
erstellen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mkisofs -U -R -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot</userinput></screen>
|
|
|
|
<para>Wenn Sie <devicename>vn</devicename> (mit FreeBSD 4.X)
|
|
oder <devicename>md</devicename> (mit FreeBSD 5.X) in Ihrem
|
|
Kernel konfiguriert haben, können Sie danach das Dateisystem
|
|
einhängen. Mit FreeBSD 4.X setzen Sie dazu die
|
|
nachstehenden Kommandos ab:</para>
|
|
|
|
<screen>&prompt.root; <userinput>vnconfig -e vn0c /tmp/bootable.iso</userinput>
|
|
&prompt.root; <userinput>mount -t cd9660 /dev/vn0c /mnt</userinput></screen>
|
|
|
|
<para>Mit FreeBSD 5.X verwenden Sie die Kommandos:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /tmp/bootable.iso -u 0</userinput>
|
|
&prompt.root; <userinput>mount -t cd9660 /dev/md0 /mnt</userinput></screen>
|
|
|
|
<para>Jetzt können Sie überprüfen, dass
|
|
<filename>/mnt</filename> und <filename>/tmp/myboot</filename>
|
|
identisch sind.</para>
|
|
|
|
<para>Sie können das Verhalten von
|
|
<filename role="package">sysutils/mkisofs</filename>
|
|
mit einer Vielzahl von Optionen beeinflussen. Insbesondere können
|
|
Sie das ISO-9660 Dateisystem modifizieren und Joliet- oder
|
|
HFS-Dateisysteme brennen. Details dazu entnehmen Sie
|
|
bitte der Manualpage von
|
|
<filename role="package">sysutils/mkisofs</filename>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="burncd">
|
|
<title>burncd</title>
|
|
|
|
<indexterm>
|
|
<primary>CD-ROM</primary>
|
|
<secondary>brennen</secondary>
|
|
</indexterm>
|
|
<para>Wenn Sie einen ATAPI CD Brenner besitzen, können
|
|
Sie <command>burncd</command> benutzen, um ein ISO-Image
|
|
auf CD zu brennen. <command>burncd</command> ist Teil
|
|
des Basissystems und unter <filename>/usr/sbin/burncd</filename>
|
|
installiert. Da es nicht viele Optionen hat, ist es leicht
|
|
zu benutzen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>burncd -f <replaceable>cddevice</replaceable> data <replaceable>imagefile.iso</replaceable> fixate</userinput></screen>
|
|
|
|
<para>Dieses Kommando brennt eine Kopie von
|
|
<replaceable>imagefile.iso</replaceable> auf das Gerät
|
|
<replaceable>cddevice</replaceable>. In der Grundeinstellung
|
|
wird das Gerät <filename>/dev/acd0c</filename> benutzt.
|
|
&man.burncd.8; beschreibt, wie die Schreibgeschwindigkeit
|
|
gesetzt wird, die CD ausgeworfen wird und Audio Daten
|
|
geschrieben werden.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="cdrecord">
|
|
<title>cdrecord</title>
|
|
|
|
<para>Wenn Sie keinen ATAPI CD Brenner besitzen, benutzen Sie
|
|
<command>cdrecord</command>, um CDs zu brennen.
|
|
<command>cdrecord</command> ist nicht Bestandteil des Basissystems.
|
|
Sie müssen es entweder aus den Ports in
|
|
<filename role="package">sysutils/cdrtools</filename> oder dem
|
|
passenden Paket installieren. Änderungen im Basissystem
|
|
können Fehler im binären Programm verursachen und
|
|
führen möglicherweise dazu, dass Sie einen
|
|
<quote>Untersetzer</quote> brennen. Sie sollten
|
|
daher den Port aktualisieren, wenn Sie Ihr System aktualisieren
|
|
bzw. wenn Sie
|
|
<link linkend="stable">STABLE verfolgen</link>,
|
|
den Port aktualisieren, wenn es eine neue Version gibt.</para>
|
|
|
|
<para>Obwohl <command>cdrecord</command> viele Optionen besitzt,
|
|
ist die grundlegende Anwendung einfacher als <command>burncd</command>.
|
|
Ein ISO 9660 Image erstellen Sie mit:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cdrecord dev=<replaceable>device</replaceable> <replaceable>imagefile.iso</replaceable></userinput></screen>
|
|
|
|
<para>Der Knackpunkt in der Benutzung von <command>cdrecord</command>
|
|
besteht darin, das richtige Argument zu <option>dev</option> zu
|
|
finden. Benutzen Sie dazu den <option>-scanbus</option> Schalter
|
|
von <command>cdrecord</command>, der eine ähnliche Ausgabe
|
|
wie die folgende produziert:</para>
|
|
|
|
<indexterm>
|
|
<primary>CD-ROM</primary>
|
|
<secondary>brennen</secondary>
|
|
</indexterm>
|
|
<screen>&prompt.root; <userinput>cdrecord -scanbus</userinput>
|
|
Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 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) *</screen>
|
|
|
|
<para>Für die aufgeführten Geräte in der Liste
|
|
wird das passende Argument zu <option>dev</option> gegeben.
|
|
Benutzen Sie die drei durch Kommas separierten Zahlen, die zu
|
|
Ihrem CD Brenner angegeben sind, als Argument für
|
|
<option>dev</option>. Im Beispiel ist das CDRW Gerät
|
|
1,5,0, so dass die passende Eingabe
|
|
<userinput>dev=1,5,0</userinput> wäre.
|
|
Einfachere Wege das Argument anzugeben, sind in &man.cdrecord.1;
|
|
beschrieben. Dort sollten Sie auch nach
|
|
Informationen über Audio Spuren, das Einstellen der
|
|
Geschwindigkeit und ähnlichem suchen.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="duplicating-audiocds">
|
|
<title>Kopieren von Audio-CDs</title>
|
|
|
|
<para>Um eine Kopie einer Audio-CD zu erstellen, kopieren Sie die
|
|
Stücke der CD in einzelne Dateien und brennen diese Dateien
|
|
dann auf eine leere CD. Das genaue Verfahren hängt davon ab,
|
|
ob Sie ATAPI-Laufwerke oder SCSI-Laufwerke verwenden.</para>
|
|
|
|
<procedure>
|
|
<title>SCSI-Laufwerke</title>
|
|
|
|
<step>
|
|
<para>Kopieren Sie die Audio-Daten mit
|
|
<command>cdda2wav</command>:</para>
|
|
|
|
<screen>&prompt.user; <userinput>cdda2wav -v255 -D2,0 -B -Owav</userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Die erzeugten <filename>.wav</filename> Dateien schreiben
|
|
Sie mit <command>cdrecord</command> auf eine leere CD:</para>
|
|
|
|
<screen>&prompt.user; <userinput>cdrecord -v dev=<replaceable>2,0</replaceable> -dao -useinfo *.wav</userinput></screen>
|
|
|
|
<para>Das Argument von <option>dev</option> gibt das verwendete
|
|
Gerät an, das Sie, wie in <xref linkend="cdrecord">
|
|
beschrieben, ermitteln können.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<procedure>
|
|
<title>ATAPI-Laufwerke</title>
|
|
|
|
<step>
|
|
<para>Der ATAPI CD-Treiber stellt die einzelnen Stücke der
|
|
CD über die Dateien
|
|
<filename>/dev/acd<replaceable>d</replaceable>t<replaceable>n</replaceable></filename>,
|
|
zur Verfügung. <replaceable>d</replaceable> bezeichnet
|
|
die Laufwerksnummer und <replaceable>n</replaceable> ist die
|
|
Nummer des Stücks. Die Datei <filename>/dev/acd0t1</filename>
|
|
bezeichnet also das erste Stück auf dem ersten
|
|
CD-Laufwerk.</para>
|
|
|
|
<para>Die entsprechenden Dateien in <filename>/dev</filename>
|
|
erstellen Sie mit <command>MAKEDEV</command>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>sh MAKEDEV acd0t99</userinput></screen>
|
|
|
|
<note>
|
|
<para>Ab FreeBSD 5.0 werden die Gerätedateien
|
|
automatisch von &man.devfs.5; erzeugt, so dass Sie
|
|
<command>MAKEDEV</command> nicht laufen lassen
|
|
müssen.</para>
|
|
</note>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Die einzelnen Stücke kopieren Sie mit &man.dd.1;. Sie
|
|
müssen dazu eine spezielle Blockgröße
|
|
angeben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/acd0t1 of=track1.cdr bs=2352</userinput>
|
|
&prompt.root; <userinput>dd if=/dev/acd0t2 of=track2.cdr bs=2352</userinput>
|
|
...
|
|
</screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Die kopierten Dateien können Sie dann mit
|
|
<command>burncd</command> brennen. Auf der Kommandozeile
|
|
müssen Sie angeben, dass Sie Audio-Daten brennen
|
|
wollen und dass das Medium fixiert werden soll:</para>
|
|
|
|
<screen>&prompt.root; <userinput>burncd -f <replaceable>/dev/acd0c</replaceable> audio track1.cdr track2.cdr <replaceable>...</replaceable> fixate</userinput></screen>
|
|
</step>
|
|
</procedure>
|
|
</sect2>
|
|
|
|
<sect2 id="imaging-cd">
|
|
<title>Kopieren von Daten-CDs</title>
|
|
|
|
<para>Sie können eine Daten-CD in eine Datei kopieren, die einem
|
|
Image entspricht, das mit
|
|
<filename role="package">sysutils/mkisofs</filename> erstellt
|
|
wurde. Mit Hilfe dieses Images können Sie jede Daten-CD
|
|
kopieren. Das folgende Beispiel verwendet
|
|
<devicename>acd0</devicename> für das CD-ROM Gerät. Wenn
|
|
Sie ein anderes Laufwerk benutzen, setzen Sie bitte den richtigen
|
|
Namen ein. An den Gerätenamen muss ein
|
|
<literal>c</literal> angehangen werden, um die ganze Partition,
|
|
in diesem Fall ist das die ganze CD-ROM, anzusprechen.</para>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/acd0c of=file.iso bs=2048</userinput></screen>
|
|
|
|
<para>Danach haben Sie ein Image, das Sie wie oben beschrieben, auf
|
|
eine CD brennen können.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="mounting-cd">
|
|
<title>Einhängen von Daten-CDs</title>
|
|
|
|
<para>Nachdem Sie eine Daten-CD gebrannt haben, wollen Sie
|
|
wahrscheinlich auch die Daten auf der CD lesen. Dazu müssen
|
|
Sie die CD in den Dateibaum einhängen. Die Voreinstellung
|
|
für den Typ des Dateisystems von &man.mount.8; ist
|
|
<literal>UFS</literal>. Das System wird die Fehlermeldung
|
|
<errorname>Incorrect super block</errorname> ausgeben, wenn Sie
|
|
versuchen, die CD mit dem folgenden Kommando
|
|
einzuhängen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount /dev/cd0c /mnt</userinput></screen>
|
|
|
|
<para>Auf der CD befindet sich ja kein <literal>UFS</literal>
|
|
Dateisystem, so dass der Versuch, die CD einzuhängen
|
|
fehlschlägt. Sie müssen &man.mount.8; sagen, dass
|
|
es ein Dateisystem vom Typ <literal>ISO9660</literal> verwenden
|
|
soll. Dies erreichen Sie durch die Angabe von <option>-t
|
|
cd9660</option> auf der Kommandozeile. Wenn Sie also die CD-ROM
|
|
<devicename>/dev/cd0c</devicename> in <filename>/mnt</filename>
|
|
einhängen wollen, führen Sie folgenden Befehl aus:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount -t cd9660 /dev/cd0c /mnt</userinput></screen>
|
|
|
|
<para>Abhängig vom verwendeten CD-ROM kann der Gerätename
|
|
von dem im Beispiel (<devicename>/dev/cd0c</devicename>)
|
|
abweichen. Die Angabe von <option>-t cd9660</option> führt
|
|
&man.mount.cd9660.8; aus, so dass das Beispiel verkürzt
|
|
werden kann:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount_cd9660 /dev/cd0c /mnt</userinput></screen>
|
|
|
|
<para>Auf diese Weise können Sie
|
|
Daten-CDs von jedem Hersteller verwenden. Es kann allerdings zu
|
|
Problemen mit CDs kommen, die verschiedene ISO 9660 Erweiterungen
|
|
benutzen. So speichern Joliet CDs alle Dateinamen unter Verwendung
|
|
von zwei Byte langen Unicode Zeichen. Der FreeBSD Kernel
|
|
unterstützt zurzeit noch kein Unicode und manche
|
|
Sonderzeichen werden als Fragezeichen dargestellt. Ab
|
|
FreeBSD 4.3 sind im CD9660-Treiber Möglichkeiten vorgesehen,
|
|
eine Konvertierungstabelle zur Laufzeit zu laden. Module für
|
|
die gebräuchlisten Kodierungen finden Sie im Port
|
|
<filename role="package">sysutils/cd9660_unicode</filename>.</para>
|
|
|
|
<para>Manchmal werden Sie die Meldung <errorname>Device
|
|
not configured</errorname> erhalten, wenn Sie versuchen, eine
|
|
CD-ROM einzuhängen. Für gewöhnlich liegt das daran,
|
|
dass das Laufwerk meint es sei keine CD eingelegt, oder
|
|
dass das Laufwerk auf dem Bus nicht erkannt wird. Es kann
|
|
einige Sekunden dauern, bevor das Laufwerk merkt, dass eine CD
|
|
eingelegt wurde. Seien Sie also geduldig.</para>
|
|
|
|
<para>Manchmal wird ein SCSI-CD-ROM nicht erkannt, weil es keine Zeit
|
|
hatte, auf das Zurücksetzen des Busses zu antworten. Wenn Sie
|
|
ein SCSI-CD-ROM besitzen, sollten Sie die folgende Zeile in Ihre
|
|
Kernelkonfiguration aufnehmen und einen neuen <link
|
|
linkend="kernelconfig-building">Kernel bauen</link>:</para>
|
|
|
|
<programlisting>options SCSI_DELAY=15000</programlisting>
|
|
|
|
<para>Die Zeile bewirkt, dass nach dem Zurücksetzen des
|
|
SCSI-Busses beim Booten 15 Sekunden gewartet wird, um dem
|
|
CD-ROM-Laufwerk genügend Zeit zu geben, darauf zu
|
|
antworten.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="rawdata-cd">
|
|
<title>Brennen von rohen CDs</title>
|
|
|
|
<para>Sie können eine Datei auch direkt auf eine CD brennen,
|
|
ohne vorher auf ihr ein ISO 9660 Dateisystem einzurichten.
|
|
Einige Leute nutzen dies, um Datensicherungen durchzuführen.
|
|
Diese Vorgehensweise hat den Vorteil, dass Sie schneller als
|
|
das Brennen einer normalen CD ist.</para>
|
|
|
|
<screen>&prompt.root; <userinput>burncd -f /dev/acd1c -s 12 data archive.tar.gz fixate</userinput></screen>
|
|
|
|
<para>Wenn Sie die Daten von einer solchen CD wieder
|
|
zurückbekommen wollen, müssen Sie sie direkt von dem
|
|
rohen Gerät lesen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>tar xzvf /dev/acd1c</userinput></screen>
|
|
|
|
<para>Eine auf diese Weise gefertigte CD können Sie nicht in das
|
|
Dateisystem einhängen. Sie können Sie auch nicht auf
|
|
einem anderen Betriebssystem lesen. Wenn Sie die erstellten CDs in
|
|
das Dateisystem einhängen oder mit anderen Betriebssystemen
|
|
austauschen wollen, müssen Sie
|
|
<filename role="package">sysutils/mkisofs</filename>,
|
|
wie oben beschrieben, benutzen.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="floppies">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Julio</firstname>
|
|
<surname>Merino</surname>
|
|
<contrib>Beigetragen von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<!-- 24 Dec 2001 -->
|
|
</sect1info>
|
|
|
|
<title>Handhabung von Disketten</title>
|
|
|
|
<para>Heutzutage sind Disketten kein geeignetes Speichermedium mehr.
|
|
Trotzdem werden sie manchmal noch verwendet, wenn zum Beispiel kein
|
|
anderes Medium zur Verfügung steht und auf Daten eines anderen
|
|
Rechners zugegriffen werden muss.</para>
|
|
|
|
<para>Dieser Abschnitt zeigt Ihnen, wie Sie Disketten formatieren, Daten
|
|
auf Disketten schreiben und Daten von Disketten lesen.
|
|
Tatsächlich habe ich diesen Abschnitt geschrieben, um Ihnen zu
|
|
zeigen, wie Sie die Kapazität Ihrer Disketten erhöhen
|
|
können.</para>
|
|
|
|
<sect2>
|
|
<title>Die Gerätedateien</title>
|
|
|
|
<para>Wie auf jedes andere Gerät auch, greifen Sie auf Disketten
|
|
über Einträge im Verzeichnis <filename>/dev</filename>
|
|
zu. Um auf das rohe Gerät zuzugreifen, benutzen Sie
|
|
<filename>/dev/fd<replaceable>X</replaceable></filename>, wobei
|
|
Sie für <replaceable>X</replaceable> die Gerätenummer,
|
|
normalerweise <literal>0</literal>, einsetzen. Auf eine formatierte
|
|
Diskette greifen Sie über das Gerät
|
|
<filename>/dev/fd<replaceable>X</replaceable></filename> zu. Sie
|
|
können dazu auch die Einträge
|
|
<filename>/dev/fd<replaceable>XY</replaceable></filename>, wobei
|
|
<replaceable>Y</replaceable> ein Buchstabe ist, benutzen.</para>
|
|
|
|
<para>Die Einträge der Form
|
|
<filename>/dev/fd<replaceable>X</replaceable>.<replaceable>
|
|
Größe</replaceable></filename> werden
|
|
genutzt, um Disketten zu formatieren.
|
|
<replaceable>Größe</replaceable> gibt die Kapazität
|
|
der Diskette in Kilobytes an.</para>
|
|
|
|
<para>Manchmal müssen Sie diese Einträge in
|
|
<filename>/dev</filename> anlegen oder wiederherstellen. Dazu
|
|
können Sie das folgende Kommando benutzen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /dev && ./MAKEDEV "fd*"</userinput></screen>
|
|
|
|
<note>
|
|
<para>Ab FreeBSD 5.0 werden die Gerätedateien automatisch
|
|
von &man.devfs.5; erzeugt. Es ist nicht notwendig
|
|
<command>MAKEDEV</command> laufen zu lassen.</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Formatieren</title>
|
|
|
|
<para>Bevor eine Diskette benutzt werden kann, muss Sie
|
|
(low-level) formatiert werden, was normalerweise der Hersteller
|
|
schon gemacht hat. Sie können sie allerdings noch einmal
|
|
formatieren, um das Medium zu überprüfen, oder die
|
|
Kapazität zu erhöhen.</para>
|
|
|
|
<para>Mit &man.fdformat.1; formatieren Sie eine
|
|
Diskette. Dieses Werkzeug erwartet
|
|
die Angabe eines Gerätenamens der Form
|
|
<filename>/dev/fd<replaceable>X</replaceable>.<replaceable>
|
|
Größe</replaceable></filename> aus
|
|
<filename>/dev</filename>, mit dem Sie die Kapazität der
|
|
Diskette steuern können. Legen Sie eine 3,5 Zoll Diskette in
|
|
Ihr Laufwerk ein und führen das folgende Kommando aus:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/usr/sbin/fdformat /dev/fd0.1440</userinput></screen>
|
|
|
|
<para>Das Formatieren dauert eine Weile und hier auftauchende Fehler
|
|
zeigen schlechte Medien an.</para>
|
|
|
|
<para>Um eine andere Kapazität zu erzwingen, nehmen Sie
|
|
einen anderen Eintrag aus <filename>/dev</filename>. Benutzen Sie
|
|
dieselbe Diskette mit folgendem Befehl:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/usr/sbin/fdformat /dev/fd0.1720</userinput></screen>
|
|
|
|
<para>Das Formatieren mit einer höheren Kapazität nimmt
|
|
etwas mehr Zeit in Anspruch als das vorige Beispiel. Nachdem der
|
|
Befehl ausgeführt ist, haben Sie eine Diskette mit 1720 KB
|
|
Kapazität. Sie können auch andere Einträge aus
|
|
<filename>/dev</filename> verwenden, doch sind 1720 KB für
|
|
3,5-Zoll Disketten am besten geeignet.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Das Disklabel</title>
|
|
|
|
<para>Nach dem Formatieren muss auf der Diskette ein Disklabel
|
|
erstellt werden. Das Disklabel wird später zerstört, ist
|
|
aber notwendig, um die Größe und Geometrie der Diskette
|
|
zu erkennen.</para>
|
|
|
|
<para>Das Disklabel gilt für die ganze Diskette und enthält
|
|
alle Informationen über die Geometrie der Diskette. Eine
|
|
Liste der möglichen Geometrien finden Sie in
|
|
<filename>/etc/disktab</filename>.</para>
|
|
|
|
<para>Erstellen Sie nun das Label mit
|
|
<application>disklabel</application>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/sbin/disklabel -B -r -w /dev/fd0 <replaceable>fdsize</replaceable></userinput></screen>
|
|
|
|
<para>Wenn Sie eine andere Kapazität benutzen wollen, ersetzen Sie
|
|
<replaceable>fdsize</replaceable> mit dem passenden Wert
|
|
(beispielsweise <literal>fd1440</literal> oder
|
|
<literal>fd1720</literal>). Damit bestimmen Sie, welchen Eintrag
|
|
<application>disklabel</application> aus
|
|
<filename>/etc/disktab</filename> benutzt.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Das Dateisystem</title>
|
|
|
|
<para>Auf der Diskette muss nun ein Dateisystem erstellt werden
|
|
(high-level Formatierung), damit FreeBSD von der Diskette lesen und
|
|
auf sie schreiben kann. Das Disklabel wird durch das Anlegen eines
|
|
Dateisystems zerstört. Falls Sie die Diskette später erneut
|
|
formatieren wollen, müssen Sie dann auch ein neues Disklabel
|
|
anlegen.</para>
|
|
|
|
<para>Für das zu erstellende Dateisystem haben Sie die Wahl
|
|
zwischen UFS und FAT. Da UFS für Disketten weniger geeignet
|
|
ist, nehmen Sie bitte FAT.</para>
|
|
|
|
<para>Das folgende Kommando legt ein Dateisystem auf der Diskette
|
|
an:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/sbin/newfs_msdos /dev/fd0</userinput></screen>
|
|
|
|
<para>Durch das Disklabel erkennt &man.newfs.8;
|
|
den Diskettentyp und ist in der Lage, ein neues Dateisystem
|
|
anzulegen. Die Diskette kann nun benutzt werden.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Verwenden der Diskette</title>
|
|
|
|
<para>Sie können die Diskette mit
|
|
&man.mount.msdos.8; in Ihren Dateibaum
|
|
einhängen oder mit den <application>Mtools</application> aus
|
|
der Ports-Sammlung darauf zugreifen.</para>
|
|
|
|
<para>Wenn Sie die <application>Mtools</application> benutzen und die
|
|
Diskette mit einer erhöhten Kapazität formatiert haben,
|
|
sollte <application>mdir</application> diese Kapazität
|
|
anzeigen.</para>
|
|
|
|
<para>Disketten mit erhöhter Kapazität lassen sich praktisch
|
|
mit allen anderen Betriebssystemen ohne zusätzliche Utilities
|
|
verwenden. Microsoft-Systeme können mit ihnen ohne Probleme
|
|
umgehen. Es kann allerdings sein, dass ältere Laufwerke
|
|
nicht mit diesen Disketten zurechtkommen.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="backups-tapebackups">
|
|
<title>Handhabung von Bandmedien</title>
|
|
|
|
<indexterm><primary>Bandmedien</primary></indexterm>
|
|
<para>Die wichtigsten Bandmedien sind 4mm, 8mm, QIC,
|
|
Mini-Cartridge und DLT.</para>
|
|
|
|
<sect2 id="backups-tapebackups-4mm">
|
|
<title>4mm (DDS: Digital Data Storage)</title>
|
|
|
|
<indexterm>
|
|
<primary>Bandmedien</primary>
|
|
<secondary>DDS (4mm) Bänder</secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Bandmedien</primary>
|
|
<secondary>QIC Bänder</secondary>
|
|
</indexterm>
|
|
|
|
<para>Die 4mm-Bänder ersetzen mehr und mehr das QIC-Format als
|
|
Backupmedium der Wahl für Workstations. Dieser Trend nahm stark
|
|
zu, als Conner die Firma Archive, einen führenden Hersteller von
|
|
QIC-Laufwerken, aufkaufte und die Produktion von QIC-Laufwerken
|
|
stoppte. 4mm-Laufwerke sind klein und ruhig, haben aber nicht den
|
|
gleichen Ruf der Zuverlässigkeit, den die 8mm-Laufwerke
|
|
genießen. Die 4mm-Kassetten sind preiswerter und mit den
|
|
Maßen 76,2 x 50,8 x 12,7 mm
|
|
(3 x 2 x 0,5 Inch) kleiner als die
|
|
8mm-Kassetten. Sowohl die 4mm- als auch die 8mm-Magnetköpfe
|
|
haben eine relativ kurze Lebensdauer, weil beide die gleiche
|
|
Helical-Scan-Technologie benutzen.</para>
|
|
|
|
<para>Der Datendurchsatz dieser Laufwerke beginnt bei etwa
|
|
150 kByte/s, Spitzenwerte liegen bei etwa 500 kByte/s.
|
|
Die Datenkapazität liegt zwischen 1,3 GB und 2 GB.
|
|
Die meisten Geräte haben eine Hardwarekompression eingebaut,
|
|
die die Kapazität ungefähr verdoppelt. Es gibt
|
|
Multi-Drive-Einheiten für Bandbibliotheken mit bis zu 6
|
|
Laufwerken in einem Gehäuse und automatischem Bandwechsel. Die
|
|
Kapazität einer solchen Bibliothek liegt bei 240 GB.</para>
|
|
|
|
<para>Der Standard DDS-3 unterstützt nun Bandkapazitäten bis
|
|
zu 12 GB (oder komprimiert 24 GB).</para>
|
|
|
|
<para>4mm-Laufwerke, ebenso wie 8mm-Laufwerke, verwenden Helical-Scan.
|
|
Alle Vor- und Nachteile von Helical-Scan gelten sowohl für 4mm-
|
|
als auch für 8mm-Laufwerke.</para>
|
|
|
|
<para>Bänder sollten nach 2.000 Banddurchläufen oder 100
|
|
vollen Backups ersetzt werden.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="backups-tapebackups-8mm">
|
|
<title>8mm (Exabyte)</title>
|
|
<indexterm>
|
|
<primary>Bandmedien</primary>
|
|
<secondary>Exabyte (8mm) Bänder</secondary>
|
|
</indexterm>
|
|
|
|
<para>8mm-Bänder sind die verbreitetsten SCSI-Bandlaufwerke; sie
|
|
sind das geeignetste Bandformat zum Austausch von Bändern.
|
|
Fast an jedem Standort gibt es ein 8mm-Bandlaufwerk mit 2 GB.
|
|
8mm-Bänder sind zuverlässig, gut zu handhaben und
|
|
arbeiten leise. Bandkassetten sind preiswert und klein mit
|
|
122 x 84 x 15 mm
|
|
(4,8 x 3,3 x 0,6 Inch). Ein Nachteil
|
|
der 8mm-Technologie ist die relativ kurze Lebensdauer des
|
|
Schreib-/Lesekopfs und der Bänder auf Grund der hohen
|
|
Relativgeschwindigkeit des Bandes über die Köpfe
|
|
hinweg.</para>
|
|
|
|
<para>Der Datendurchsatz liegt ungefähr zwischen
|
|
250 kByte/s und 500 kByte/s. Die Datenkapazität
|
|
beginnt bei 300 MB und erreicht bis zu 7 GB bei den
|
|
Spitzengeräten. Die meisten Geräte
|
|
haben eine Hardwarekompression eingebaut, die die Kapazität
|
|
ungefähr verdoppelt. Diese Laufwerke sind erhältlich in
|
|
Form von Einzelgeräten oder als Multi-Drive-Bandbibliotheken mit
|
|
6 Laufwerken und 120 Bändern in einem Gehäuse. Die
|
|
Bänder werden von der Geräteeinheit automatisch gewechselt.
|
|
Die Kapazität einer solchen Bibliothek liegt bei 840 GB und
|
|
mehr.</para>
|
|
|
|
<para>Das Exabyte-Modell <quote>Mammoth</quote> unterstützt
|
|
12 GB auf einem Band (24 GB mit Kompression) und kostet
|
|
etwa doppelt so viel wie ein konventionelles Bandlaufwerk.</para>
|
|
|
|
<para>Die Daten werden mittels Helical-Scan auf das Band
|
|
aufgezeichnet, die Köpfe sind leicht schräg zum Medium
|
|
angebracht (mit einem Winkel von etwa 6 Grad). Das Band wickelt
|
|
sich 270 Grad um die Spule, die die Köpfe trägt.
|
|
Die Spule dreht sich, während das Band darüberläuft.
|
|
Das Resultat ist eine hohe Datendichte und eng gepackte Spuren,
|
|
die von einem Rand des Bands zum gegenüberliegenden quer
|
|
über das Band abgewinkelt verlaufen.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="backups-tapebackups-qic">
|
|
<title>QIC</title>
|
|
|
|
<indexterm>
|
|
<primary>Bandmedien</primary>
|
|
<secondary>QIC-150</secondary>
|
|
</indexterm>
|
|
|
|
<para>QIC-150-Bänder und -Laufwerke sind wohl der am weitesten
|
|
verbreitete Bandtyp überhaupt. QIC-Bandlaufwerke sind die
|
|
preiswertesten <quote>seriösen</quote> Backupgeräte,
|
|
die angeboten werden. Der Nachteil dabei ist der hohe Preis
|
|
der Bänder. QIC-Bänder sind im Vergleich zu 8mm- oder
|
|
4mm-Bändern bis zu fünf Mal teurer, wenn man den Preis
|
|
auf 1 GB Datenkapazität umrechnet. Aber wenn Ihr Bedarf
|
|
mit einem halben Dutzend Bänder abgedeckt werden kann,
|
|
mag QIC die richtige Wahl sein.</para>
|
|
|
|
<para>QIC ist der <emphasis>gängigste</emphasis>
|
|
Bandlaufwerkstyp. Jeder Standort hat ein QIC-Laufwerk der einen oder
|
|
anderen Dichte. Aber gerade das ist der Haken an der Sache, QIC
|
|
bietet eine große Anzahl verschiedener Datendichten auf
|
|
physikalisch ähnlichen (manchmal gleichen) Bändern.
|
|
QIC-Laufwerke sind nicht leise. Diese Laufwerke suchen lautstark die
|
|
richtige Bandstelle, bevor sie mit der Datenaufzeichnung beginnen.
|
|
Sie sind während des Lesens, Schreibens und Suchens deutlich
|
|
hörbar.</para>
|
|
|
|
<para>Die Abmessungen der QIC-Kassetten betragen
|
|
152.4 x 101.6 x 17.78 mm
|
|
(6 x 4 x 0,7 Inch),
|
|
die QIC-Bandbreite beträgt 6,35 mm (1/4 Inch). <link
|
|
linkend="backups-tapebackups-mini">Mini-Cartridges</link>, die die
|
|
gleiche Bandbreite verwenden, werden gesondert vorgestellt.
|
|
Bandbibliotheken und Bandwechselgeräte gibt es im QIC-Format
|
|
keine.</para>
|
|
|
|
<para>Der Datendurchsatz liegt ungefähr zwischen
|
|
150 kByte/s und 500 kByte/s. Die Datenkapazität
|
|
reicht von 40 MB bis zu 15 GB.
|
|
Hardwarekompression ist in vielen der neueren QIC-Laufwerke eingebaut.
|
|
QIC-Laufwerke werden heute seltener eingesetzt; sie werden von den
|
|
DAT-Laufwerken abgelöst.</para>
|
|
|
|
<para>Die Daten werden auf dem Band in Spuren aufgezeichnet. Die
|
|
Spuren verlaufen entlang der Längsachse des Bandmediums von einem
|
|
Ende zum anderen. Die Anzahl der Spuren, und damit auch die Breite
|
|
einer Spur, variiert mit der Kapazität des Laufwerks. Die
|
|
meisten, wenn nicht alle neueren Laufwerke sind
|
|
rückwärtskompatibel, zumindest zum Lesen (aber oft auch zum
|
|
Schreiben). QIC hat einen guten Ruf bezüglich der
|
|
Datensicherheit (die Mechanik ist einfacher und robuster als diejenige
|
|
der Helical-Scan-Laufwerke).</para>
|
|
|
|
<para>Bänder sollten nach 5,000 Backups ersetzt werden.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="backups-tapebackups-mini">
|
|
<title>XXX* Mini-Cartridge</title>
|
|
|
|
<para></para>
|
|
</sect2>
|
|
|
|
<sect2 id="backups-tapebackups-dlt">
|
|
<title>DLT</title>
|
|
<indexterm>
|
|
<primary>Bandmedien</primary>
|
|
<secondary>DLT</secondary>
|
|
</indexterm>
|
|
|
|
<para>DLT hat die schnellste Datentransferrate von allen hier
|
|
aufgelisteten Gerätetypen. Das 1/2-Inch-Band (12,7 mm)
|
|
befindet sich in einer Spulkassette mit den Abmessungen
|
|
101,6 x 101,6 x 25,4 mm
|
|
(4 x 4 x 1 Inch). Die eine Seite
|
|
der Kassette hat eine bewegliche Abdeckung. Der Laufwerksmechanismus
|
|
öffnet diese Abdeckung und zieht die Bandführung heraus.
|
|
Die Bandführung trägt ein ovales Loch, die das Laufwerk
|
|
zum <quote>Einhängen</quote> des Bandes benutzt. Die
|
|
Aufwickelspule befindet sich im Innern des Bandlaufwerks. Bei allen
|
|
anderen hier besprochenen Bandkassetten (9-Spur-Bänder
|
|
sind die einzige Ausnahme) befinden sich sowohl die Auf- als auch
|
|
die Abwickelspule im Inneren der Bandkassette.</para>
|
|
|
|
<para>Der Datendurchsatz liegt bei etwa 1,5 MBytes/s, der dreifache
|
|
Durchsatz der 4mm-, 8mm- oder QIC-Bandlaufwerke. Die
|
|
Datenkapazität reicht von 10 GB bis 20 GB für
|
|
Einfachlaufwerke. Auch Mehrfachbandgeräte sind erhältlich,
|
|
sowohl als Bandwechsler wie auch als Multi-Drive-Bandbibliotheken, die
|
|
Platz für 5 bis 900 Bänder verteilt auf 1 bis 20 Laufwerke
|
|
enthalten, mit einer Speicherkapazität von 50 GB bis
|
|
9 TB.</para>
|
|
|
|
<para>Mit Kompression unterstützt das Format DLT Type IV bis zu
|
|
70 GB Kapazität.</para>
|
|
|
|
<para>Die Daten werden auf dem Band in Spuren aufgezeichnet, die
|
|
parallel zur Bewegungsrichtung verlaufen (gerade so wie bei den
|
|
QIC-Bändern). Zwei Spuren werden dabei gleichzeitig beschrieben.
|
|
Die Lebenszeit der Lese- und Schreibköpfe sind relativ lang; denn
|
|
sobald das Band anhält, gibt es keine Relativbewegung mehr
|
|
zwischen den Köpfen und dem Band.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="backups-tapebackups-ait">AIT</title>
|
|
<indexterm>
|
|
<primary>Bandmedien</primary>
|
|
<secondary>AIT</secondary>
|
|
</indexterm>
|
|
|
|
<para>AIT ist ein neues Format von Sony, das (mit Kompression) bis zu
|
|
50 GB pro Band speichern kann. Die Bänder haben einen
|
|
Speicherchip, der einen Index mit dem Inhalt des Bandes anlegt.
|
|
Dieser Index kann vom Bandlaufwerk zur schnellen Bestimmung der Lage
|
|
von Dateien auf dem Band benutzt werden, während andere
|
|
Bänder einige Minuten zur Lokalisierung benötigen.</para>
|
|
|
|
<para>Entsprechende Software wie etwa
|
|
<application>SAMS:Alexandria</application> können 40
|
|
oder mehr AIT-Bandbibliotheken verarbeiten, indem sie
|
|
direkt mit dem Speicherchip des Bandes kommunizieren, wenn der
|
|
Bandinhalt am Bildschirm dargestellt werden soll oder bestimmt werden
|
|
soll, welche Dateien auf welchem Band gespeichert sind, oder um das
|
|
richtige Band zu lokalisieren, zu laden und Daten vom Band
|
|
zurückzuspielen. Bibliotheken dieser Art liegen in der
|
|
Preiskategorie von $20,000, womit sie etwas aus dem Hobbymarkt
|
|
herausfallen.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Die erste Benutzung eines neuen Bands</title>
|
|
|
|
<para>Der Versuch ein neues, vollkommen leeres Band ohne weiteres zu
|
|
lesen oder zu beschreiben wird schief gehen. Auf der Konsole werden
|
|
dann Meldungen ähnlich wie folgt ausgegeben:</para>
|
|
|
|
<screen>sa0(ncr1:4:0): NOT READY asc:4,1
|
|
0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
|
|
|
|
<para>Das Band enthält nämlich keinen Identifier-Block
|
|
(Blocknummer 0). Alle QIC-Bandlaufwerke seit der Einführung des
|
|
QIC-525-Standards schreiben einen Identifier-Block auf das Band. Es
|
|
gibt zwei Lösungen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><command>mt fsf 1</command> veranlasst das Bandlaufwerk
|
|
einen Identifier-Block auf das Band zu schreiben.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das Band durch Drücken des Bandauswurfknopfs an der
|
|
Vorderseite des Bandgeräts auswerfen.</para>
|
|
|
|
<para>Danach das Band wieder einlegen und mit
|
|
<command>dump</command> Daten auf das Band
|
|
übertragen.</para>
|
|
|
|
<para>Das Kommando <command>dump</command> gibt die Meldung
|
|
<errorname>DUMP: End of tape detected</errorname> zurück
|
|
und die Konsole zeigt:
|
|
<errorname>HARDWARE FAILURE info:280 asc:80,96</errorname>.</para>
|
|
|
|
<para>Das Band zurückspulen mit dem Kommando:
|
|
<command>mt rewind</command>.</para>
|
|
|
|
<para>Nachfolgende Bandoperationen werden dann erfolgreich
|
|
ausgeführt.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="backups-floppybackups">
|
|
<title>Was ist mit Backups auf Disketten?</title>
|
|
|
|
<sect2 id="floppies-using">
|
|
<title>Kann ich Disketten zum Backup meiner Daten verwenden?</title>
|
|
<indexterm><primary>Backup Disketten</primary></indexterm>
|
|
<indexterm><primary>Disketten</primary></indexterm>
|
|
|
|
<para>Disketten sind kein wirklich geeignetes Medium für Backups
|
|
aus folgenden Gründen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Disketten sind unzuverlässig, besonders
|
|
langfristig.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Speichern und Wiederherstellen ist sehr langsam.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sie haben eine sehr eingeschränkte Kapazität (Die
|
|
Zeiten sind längst vorbei, wo eine ganze Festplatte auf ein
|
|
Dutzend Floppies oder so gespeichert werden konnte).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Wenn jedoch keine andere Möglichkeit zum Datenbackup
|
|
vorhanden ist, dann sind Disketten immer noch besser als gar kein
|
|
Backup.</para>
|
|
|
|
<para>Wenn man gezwungen ist Disketten zu verwenden, dann sollte man
|
|
auf eine gute Qualität achten. Floppies, die schon einige Jahre
|
|
im Büro herumgelegen haben, sind eine schlechte Wahl. Ideal sind
|
|
neue Disketten von einem renommierten Hersteller.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="floppies-creating">
|
|
<title>Wie mache ich ein Backup auf Disketten?</title>
|
|
|
|
<para>Die beste Art eines Diskettenbackups ist der Befehl
|
|
&man.tar.1; mit der Mehrfachband-Option <option>-M</option>,
|
|
die es ermöglicht ein Backup über mehrere
|
|
Floppies zu verteilen.</para>
|
|
|
|
<para>Ein Backup aller Dateien im aktuellen Verzeichnis
|
|
einschließlich aller Unterverzeichnisse wird durch den folgenden
|
|
Befehl veranlasst (als <username>root</username>):</para>
|
|
|
|
<screen>&prompt.root; <userinput>tar Mcvf /dev/fd0 *</userinput></screen>
|
|
|
|
<para>Wenn die erste Floppy voll ist, meldet sich &man.tar.1;
|
|
und verlangt einen Diskettenwechsel (weil &man.tar.1;
|
|
unabhängig vom
|
|
Medium arbeitet, wird das nächste Band (Volume) verlangt, was in
|
|
diesem Zusammenhang eine Diskette bedeutet), in etwa wie folgt:</para>
|
|
|
|
<screen>Prepare volume #2 for /dev/fd0 and hit return:</screen>
|
|
|
|
<para>Dies wird mit steigender Volumenzahl wiederholt, bis alle
|
|
angegebenen Dateien archiviert sind.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="floppies-compress">
|
|
<title>Können Diskettenbackups komprimiert werden?</title>
|
|
<indexterm>
|
|
<primary><command>tar</command></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><command>gzip</command></primary>
|
|
</indexterm>
|
|
<indexterm><primary>Kompression</primary></indexterm>
|
|
|
|
<para>Leider erlaubt es &man.tar.1; nicht, die Option
|
|
<option>-z</option> für Multi-Volume-Archive zu verwenden.
|
|
Man kann natürlich alle Dateien mit &man.gzip.1;
|
|
komprimieren, sie mit &man.tar.1; auf die Floppies
|
|
aufspielen, und dann die Dateien wieder &man.gunzip.1;
|
|
entkomprimieren!</para>
|
|
</sect2>
|
|
|
|
<sect2 id="floppies-restoring">
|
|
<title>Wie werden Diskettenbackups wieder hergestellt?</title>
|
|
|
|
<para>Zur Wiederherstellung des gesamten Archivs verwendet man:</para>
|
|
|
|
<screen>&prompt.root; <userinput>tar Mxvf /dev/fd0</userinput></screen>
|
|
|
|
<para>Eine Methode um nur bestimmte Dateien wieder her zu stellen ist
|
|
mit der ersten Diskette den folgenden Befehl auszuführen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>tar Mxvf /dev/fd0 <replaceable>filename</replaceable></userinput></screen>
|
|
|
|
<para>&man.tar.1; wird dann die folgenden Disketten anfordern,
|
|
bis die benötigte Datei gefunden ist.</para>
|
|
|
|
<para>Wenn man die Diskette kennt, auf der sich die Datei befindet,
|
|
kann man alternativ diese Diskette auch direkt einlegen und den
|
|
gleichen Befehl wie oben verwenden. Man beachte, dass, falls die
|
|
erste Datei eine Fortsetzung einer Datei von einer
|
|
der vorigen Disketten ist, &man.tar.1; die Warnung ausgibt,
|
|
dass diese Datei nicht wiederhergestellt werden kann, selbst dann,
|
|
wenn dies gar nicht verlangt wurde!</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="backup-basics">
|
|
<title>Datensicherung</title>
|
|
<indexterm><primary>Datensicherung</primary></indexterm>
|
|
<indexterm><primary>Backup</primary></indexterm>
|
|
|
|
<para>Die drei wichtigsten Programme zur Sicherung von Daten sind
|
|
&man.dump.8;, &man.tar.1; und &man.cpio.1;.</para>
|
|
|
|
<sect2>
|
|
<title>Sichern und Wiederherstellen</title>
|
|
<indexterm>
|
|
<primary>Backup Software</primary>
|
|
<secondary>Sichern / Wiederherstellen</secondary>
|
|
</indexterm>
|
|
<indexterm><primary><command>dump</command></primary></indexterm>
|
|
<indexterm><primary><command>restore</command></primary></indexterm>
|
|
|
|
<para><command>dump</command> und <command>restore</command> sind die
|
|
traditionellen
|
|
Backupprogramme in &unix; Systemen. Sie betrachten das Laufwerk als eine
|
|
Ansammlung von Blöcken, operieren also unterhalb dem
|
|
Abstraktionslevel von Dateien, Links und Verzeichnissen, die die
|
|
Grundlage des Dateisystemkonzepts bilden. <command>dump</command>
|
|
sichert ein ganzes Dateisystem auf einem Gerät, es ist nicht
|
|
möglich nur einen Teil des Dateisystems, oder einen
|
|
Verzeichnisbaum, der mehr als ein Dateisystem umfasst zu
|
|
sichern. <command>dump</command> schreibt keine Dateien oder
|
|
Verzeichnisse auf das Band, sondern die Blöcke, aus denen
|
|
Dateien und Verzeichnisse bestehen.</para>
|
|
|
|
<note><para>Wenn Sie mit <command>dump</command> das Root-Verzeichnis
|
|
sichern, werden <filename>/home</filename>, <filename>/usr</filename>
|
|
und viele andere Verzeichnisse nicht gesichert, da dies normalerweise
|
|
Mountpunkte für andere Dateisysteme oder symbolische Links
|
|
zu diesen Dateisystemen sind.</para></note>
|
|
|
|
<para><command>dump</command> hat einige Eigenarten, die noch aus den
|
|
frühen
|
|
Tagen der Version 6 von ATT Unix (ca. 1975) stammen. Die Parameter
|
|
sind für 9-Spur-Bänder (6250 bpi) voreingestellt,
|
|
nicht auf die heute üblichen Medien hoher Dichte (bis zu
|
|
62.182 ftpi). Bei der Verwendung der Kapazitäten
|
|
moderner Bandlaufwerke muss diese Voreinstellung auf der
|
|
Kommandozeile überschrieben werden.</para>
|
|
|
|
<indexterm><primary><filename>.rhosts</filename></primary></indexterm>
|
|
<para><command>rdump</command> und <command>rrestore</command>
|
|
können Daten über
|
|
Netzwerk auf ein Band, das sich in einem Laufwerk eines anderen
|
|
Computers befindet, überspielen. Beide Programme benutzen die
|
|
Befehle <command>rcmd</command> und <command>ruserok</command> zum
|
|
Zugriff auf das entfernte
|
|
Bandlaufwerk. Daher muss der Anwender, der das Backup
|
|
durchführt, auf dem entfernten Rechner in
|
|
<filename>.rhosts</filename> eingetragen sein.</para>
|
|
|
|
<para>Die Argumente zu <command>rdump</command> und
|
|
<command>rrestore</command> müssen
|
|
zur Verwendung auf dem entfernten Computer geeignet sein.
|
|
Wenn Sie zum Beispiel mit <command>rdump</command> von einem
|
|
FreeBSD Rechner aus auf ein Exabyte Bandlaufwerk einer Sun mit
|
|
Namen <hostid>komodo</hostid> zugreifen möchten, setzen Sie
|
|
das folgende Kommando ab:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1</userinput></screen>
|
|
|
|
<para>Zum Ausführen dieses Kommandos müssen Sie auf dem
|
|
entfernten Rechner in <filename>.rhosts</filename> eingetragen
|
|
sein. Die r-Kommandos sind ein großes Sicherheitsrisiko,
|
|
daher sollten Sie deren Verwendung sorgfältig
|
|
abwägen.</para>
|
|
|
|
<para>Es ist auch möglich, <command>dump</command> und
|
|
<command>restore</command> über eine gesicherte Verbindung
|
|
mit <command>ssh</command> einzusetzen:</para>
|
|
|
|
<example>
|
|
<title><command>dump</command> mit <application>ssh</application>
|
|
benutzen</title>
|
|
<screen>&prompt.root; <userinput>/sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \
|
|
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz</userinput></screen
|
|
|
|
</example>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title><command>tar</command></title>
|
|
<indexterm>
|
|
<primary>Backup Software</primary>
|
|
<secondary><command>tar</command></secondary>
|
|
</indexterm>
|
|
|
|
<para>&man.tar.1; stammt ebenfalls aus Version 6 von ATT Unix
|
|
(ca. 1975). <command>tar</command> arbeitet mit dem Dateisystem,
|
|
denn es schreibt Dateien und Verzeichnisse auf das Band.
|
|
<command>tar</command> unterstützt zwar nicht den vollen Umfang
|
|
von Optionen, die bei
|
|
&man.cpio.1; zur Verfügung stehen, aber dafür erfordert
|
|
<command>tar</command> nicht die ungewöhnliche Kommando-Pipeline,
|
|
die <command>cpio</command> verwendet.</para>
|
|
|
|
<indexterm><primary><command>tar</command></primary></indexterm>
|
|
<para>Die meisten Versionen von <command>tar</command> unterstützen
|
|
keine Backups über das Netzwerk. Die GNU-Version von
|
|
<command>tar</command> die in FreeBSD verwendet wird, unterstützt
|
|
jedoch entfernte Geräte mit der gleichen Syntax wie
|
|
<command>rdump</command>. Um <command>tar</command>
|
|
für ein Exabyte-Bandlaufwerk auf einer Sun
|
|
namens <hostid>komodo</hostid> auszuführen, muss folgendes
|
|
Kommando aufgerufen werden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/usr/bin/tar cf komodo:/dev/nsa8 . 2>&1</userinput></screen>
|
|
|
|
<para>Bei den Versionen ohne Unterstützung
|
|
für entfernte Geräte kann man die Daten über eine
|
|
Pipeline und <command>rsh</command> an ein entferntes Laufwerk
|
|
senden.</para>
|
|
|
|
<screen>&prompt.root; <userinput>tar cf - . | rsh <replaceable>hostname</replaceable> dd of=<replaceable>tape-device</replaceable> obs=20b</userinput></screen>
|
|
|
|
<para>Wenn Sie Bedenken bezüglich der Sicherheit beim Backup
|
|
über das Netz haben, sollten Sie <command>ssh</command> anstatt
|
|
<command>rsh</command> benutzen.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Cpio</title>
|
|
<indexterm>
|
|
<primary>Backup Software</primary>
|
|
<secondary><command>cpio</command></secondary>
|
|
</indexterm>
|
|
|
|
<para>&man.cpio.1; ist das ursprüngliche Programm von
|
|
&unix; Systemen zum Dateitransfer mit magnetischen Medien.
|
|
<command>cpio</command> hat (neben vielen anderen
|
|
Leistungsmerkmalen) Optionen zum Byte-Swapping, zum Schreiben
|
|
einer Anzahl verschiedener Archivformate und zum Weiterleiten von
|
|
Daten an andere Programme über eine Pipeline. Dieses letzte
|
|
Leistungsmerkmal macht <command>cpio</command> zu einer
|
|
ausgezeichneten Wahl für Installationsmedien. Leider kann
|
|
<command>cpio</command> keine
|
|
Dateibäume durchlaufen, so dass eine Liste der zu bearbeitenden
|
|
Dateien über <filename>stdin</filename> angegeben werden
|
|
muss.</para>
|
|
|
|
<para><command>cpio</command> unterstützt keine Backups
|
|
über das Netzwerk. Man kann aber eine Pipeline und
|
|
<command>rsh</command> verwenden, um
|
|
Daten an ein entferntes Bandlaufwerk zu senden.</para>
|
|
|
|
<screen>&prompt.root; <userinput>for f in <replaceable>directory_list; do</replaceable></userinput>
|
|
<userinput>find $f >> backup.list</userinput>
|
|
<userinput>done</userinput>
|
|
&prompt.root; <userinput>cpio -v -o --format=newc < backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat > <replaceable>backup_device</replaceable>"</userinput></screen>
|
|
|
|
<para>Dabei steht <replaceable>directory_list</replaceable> für
|
|
eine Aufzählung der Verzeichnisse, die Sie sichern wollen.
|
|
<replaceable>user</replaceable>@<replaceable>host</replaceable>
|
|
gibt den Benutzer auf dem Zielrechner an, der die Sicherung
|
|
laufen lässt. Der Ort der Sicherung wird durch
|
|
<replaceable>backup_device</replaceable> angegeben
|
|
(z.B. <filename>/dev/nsa0</filename>).</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title><command>pax</command></title>
|
|
<indexterm>
|
|
<primary>Backup Software</primary>
|
|
<secondary><command>pax</command></secondary>
|
|
</indexterm>
|
|
<indexterm><primary><command>pax</command></primary></indexterm>
|
|
<indexterm><primary>POSIX</primary></indexterm>
|
|
<indexterm><primary>IEEE</primary></indexterm>
|
|
|
|
<para>&man.pax.1; ist die Antwort von IEEE/POSIX auf
|
|
<command>tar</command> und <command>cpio</command>.
|
|
Über die Jahre hinweg sind die verschiedenen
|
|
Versionen von <command>tar</command> und <command>cpio</command> leicht
|
|
inkompatibel geworden. Daher hat POSIX, statt eine Standardisierung
|
|
zwischen diesen auszufechten, ein neues Archivprogramm geschaffen.
|
|
<command>pax</command> versucht viele der unterschiedlichen
|
|
<command>cpio</command>- und <command>tar</command>-Formate zu lesen
|
|
und zu schreiben, außerdem einige neue, eigene Formate. Die
|
|
Kommandostruktur ähnelt eher <command>cpio</command> als
|
|
<command>tar</command>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="backups-programs-amanda">
|
|
<title><application>Amanda</application></title>
|
|
<indexterm>
|
|
<primary>Backup Software</primary>
|
|
<secondary><application>Amanda</application></secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><application>Amanda</application></primary>
|
|
</indexterm>
|
|
|
|
<!-- Remove link until <port> tag is available -->
|
|
<para><application>Amanda</application>
|
|
(Advanced Maryland Network Disk Archiver) ist ein
|
|
Client/Server-Backupsystem, nicht nur ein einzelnes Programm.
|
|
Ein <application>Amanda</application>-Server kann auf einem
|
|
einzigen Bandlaufwerk Datensicherungen von jeder beliebigen
|
|
Anzahl von Computern speichern, sofern auf diesen jeweils ein
|
|
<application>Amanda</application>-Client läuft und sie
|
|
über Netzwerk mit dem <application>Amanda</application>-Server
|
|
verbunden sind.</para>
|
|
|
|
<para>Ein häufiges Problem bei Standorten mit einer Anzahl
|
|
großer Festplatten ist, dass das Kopieren der Daten auf
|
|
Band langsamer vor sich geht als solche Daten anfallen.
|
|
<application>Amanda</application> löst dieses Problem
|
|
durch Verwendung einer <quote>Holding Disk</quote>, einer Festplatte
|
|
zum gleichzeitigen Zwischenspeichern mehrerer Dateisysteme.</para>
|
|
|
|
<para>Für Datensicherungen über einen längeren
|
|
Zeitraum erzeugt <application>Amanda</application>
|
|
<quote>Archivsets</quote> von allen Dateisystemen, die in
|
|
<application>Amandas</application> Konfigurationsdatei genannt
|
|
werden. Ein Archivset ist eine Gruppe von Bändern mit
|
|
vollen Backups und Reihen von inkrementellen (oder differentiellen)
|
|
Backups, die jeweils nur die Unterschiede zum vorigen
|
|
Backup enthalten. Zur Wiederherstellung von beschädigten
|
|
Dateisystemen benötigt man Das Letzte volle Backup und alle
|
|
darauf folgenden inkrementellen Backups.</para>
|
|
|
|
<para>Die Konfigurationsdatei ermöglicht die Feineinstellung
|
|
der Backups und des Netzwerkverkehrs von
|
|
<application>Amanda</application>. <application>Amanda</application>
|
|
kann zum Schreiben der Daten auf das Band jedes der oben
|
|
beschriebenen Backuprogramme verwenden.
|
|
<application>Amanda</application> ist nicht Teil des Basissystems,
|
|
Sie müssen <application>Amanda</application> über
|
|
die Ports-Sammlung oder als Paket installieren.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Tue nichts</title>
|
|
|
|
<para><quote>Tue nichts</quote> ist kein Computerprogramm, sondern die
|
|
am häufigsten angewendete Backupstrategie. Diese kostet nichts,
|
|
man muss keinen Backupplan befolgen, einfach nur nein sagen. Wenn
|
|
etwas passiert, einfach grinsen und ertragen!</para>
|
|
|
|
<para>Wenn Ihre Zeit und Ihre Daten nicht so wichtig sind, dann ist
|
|
die Strategie <quote>Tue nichts</quote> das geeignetste Backupprogramm
|
|
für Ihren Computer. Aber &unix; ist ein nützliches Werkzeug,
|
|
Sie müssen damit rechnen, dass Sie innerhalb von sechs Monaten
|
|
eine Sammlung von Dateien haben, die für Sie wertvoll geworden
|
|
sind.</para>
|
|
|
|
<para><quote>Tue nichts</quote> ist die richtige Backupmethode für
|
|
<filename>/usr/obj</filename> und andere Verzeichnisbäume, die
|
|
vom Computer exakt wiedererzeugt werden können. Ein Beispiel
|
|
sind die Dateien, die diese Handbuchseiten darstellen – sie
|
|
wurden aus Quelldateien im Format <acronym>SGML</acronym> erzeugt.
|
|
Es ist nicht nötig, Sicherheitskopien der Dateien in den
|
|
sekundären Formaten wie etwa <acronym>HTML</acronym> zu
|
|
erstellen. Die Quelldateien in <acronym>SGML</acronym> sollten jedoch
|
|
in die regelmäßigen Backups mit einbezogen werden.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Welches Backup-Programm ist am Besten?</title>
|
|
<indexterm>
|
|
<primary>LISA</primary>
|
|
</indexterm>
|
|
|
|
<para><command>dump</command>, <emphasis>Punkt und Schluss.</emphasis>
|
|
Elizabeth D. Zwicky hat alle hier genannten Backup-Programme
|
|
bis zur Erschöpfung ausgetestet. Ihre eindeutige Wahl zur
|
|
Sicherung aller Daten mit Berücksichtigung aller Besonderheiten
|
|
von &unix; Dateisystemen ist <command>dump</command>.</para>
|
|
|
|
<para>Elizabeth erzeugte Dateisysteme mit einer großen Vielfalt
|
|
ungewöhnlicher Bedingungen (und einiger gar nicht so
|
|
ungewöhnlicher) und testete jedes Programm durch ein Backup und
|
|
eine Wiederherstellung dieser Dateisysteme. Unter den Besonderheiten
|
|
waren Dateien mit Löchern, Dateien mit Löchern und einem
|
|
Block mit Null-Zeichen, Dateien mit ausgefallenen Buchstaben im
|
|
Dateinamen, unlesbare und nichtschreibbare Dateien,
|
|
Gerätedateien, Dateien, deren Länge sich während des
|
|
Backups ändert, Dateien, die während des Backups erzeugt und
|
|
gelöscht werden, u.v.m. Sie berichtete über ihre Ergebnisse
|
|
in LISA V im Oktober 1991, s. <ulink
|
|
url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">Torture-testing
|
|
Backup and Archive Programs</ulink>.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Die Wiederherstellung in einem Notfall</title>
|
|
|
|
<sect3>
|
|
<title>Vor dem Unglück</title>
|
|
|
|
<para>Es sind nur vier Vorkehrungen zu treffen, um auf jedes
|
|
erdenkliche Unglück vorbereitet zu sein.</para>
|
|
<indexterm>
|
|
<primary><command>disklabel</command></primary>
|
|
</indexterm>
|
|
|
|
<para>Als erstes drucken Sie das Disklabel jeder Ihrer Festplatten
|
|
(z.B. mittels <command>disklabel da0 | lpr</command>), die
|
|
Partitions- und Dateisystemtabelle jeder Festplatte (mit
|
|
<filename>/etc/fstab</filename>) sowie alle Bootmeldungen, jeweils
|
|
in zweifacher Ausfertigung.</para>
|
|
|
|
<indexterm><primary>fix-it floppies</primary></indexterm>
|
|
<para>Zweitens, überzeugen Sie sich, dass sowohl die
|
|
Bootdiskette als auch die Reparaturdiskette
|
|
(<filename>boot.flp</filename> bzw. <filename>fixit.flp</filename>)
|
|
all Ihre Geräte ansprechen können. Die einfachste Methode
|
|
dies nachzuprüfen ist, Ihren Rechner mit der Boot-Diskette im
|
|
Floppylaufwerk neu zu starten und die Bootmeldungen zu durchzusehen.
|
|
Wenn all Ihre Geräte aufgelistet sind und funktionieren,
|
|
können Sie weiter zu Schritt drei gehen.</para>
|
|
|
|
<para>Ist das nicht der Fall, müssen Sie sich eine eigene
|
|
Version der beiden zum Booten benötigten Disketten erstellen.
|
|
Diese müssen einen Kernel enthalten, der all Ihre Platten
|
|
mounten kann und Zugriff auf Ihr Bandlaufwerk gestattet. Diese
|
|
Disketten müssen ferner folgende Programme enthalten:
|
|
<command>fdisk</command>, <command>disklabel</command>,
|
|
<command>newfs</command>, <command>mount</command> sowie
|
|
jedes Backup-Programm, das Sie verwenden. Diese Programme
|
|
müssen statisch gelinkt sein. Falls Sie <command>dump</command>
|
|
verwenden, muss die Diskette auch <command>restore</command>
|
|
enthalten.</para>
|
|
|
|
<para>Drittens, machen Sie oft Backups auf Band. Jede Änderung
|
|
seit Ihrem letzten Backup kann unwiederbringlich verloren gehen.
|
|
Versehen Sie die Backup-Bänder mit Schreibschutz.</para>
|
|
|
|
<para>Viertens, testen Sie aus, wie die Disketten (entweder
|
|
<filename>boot.flp</filename> und <filename>fixit.flp</filename>
|
|
oder Ihre beiden eigenen Disketten aus Schritt zwei) und die
|
|
Bänder mit den Backups zu behandeln sind. Machen Sie sich
|
|
Notizen zu diesem Test. Bewahren Sie diese Notizen zusammen mit den
|
|
Bootdisketten, den Ausdrucken und den Bändern mit den Backups
|
|
auf. Wenn der Ernstfall eintritt, werden Sie vielleicht so genervt
|
|
sein, dass Sie ohne Ihre Notizen vielleicht das Backup auf Ihren
|
|
Bändern zerstören. (Wie das geht? Man braucht nur
|
|
unglücklicherweise den Befehl <command>tar cvf
|
|
/dev/sa0</command> einzugeben um ein Band zu
|
|
überschreiben).</para>
|
|
|
|
<para>Als zusätzliche Sicherheitsvorkehrung, kann man jeweils
|
|
die Disketten und Bänder zweifach erstellen. Eine der Kopien
|
|
sollte an einem entfernten Standort aufbewahrt werden. Ein
|
|
entfernter Standort ist NICHT der Keller im gleichen
|
|
Bürogebäude. Eine Anzahl von Firmen im World Trade Center
|
|
musste diese Lektion auf die harte Tour lernen. Ein entfernter
|
|
Standort sollte von Ihrem Computer und Ihren Festplatten
|
|
physikalisch durch eine erhebliche Entfernung getrennt sein.</para>
|
|
|
|
<example>
|
|
<title>Ein Beispielskript zum Erstellen eigener Bootdisketten</title>
|
|
|
|
<programlisting><![ CDATA [#!/bin/sh
|
|
#
|
|
# Erstellen einer Diskette zur Wiederherstellung eines Backups
|
|
#
|
|
# Diskette formatieren
|
|
#
|
|
PATH=/bin:/sbin:/usr/sbin:/usr/bin
|
|
|
|
fdformat -q fd0
|
|
if [ $? -ne 0 ]
|
|
then
|
|
echo "Bad floppy, please use a new one"
|
|
exit 1
|
|
fi
|
|
|
|
# Die Bootbloecke auf die Diskette schreiben
|
|
#
|
|
disklabel -w -B /dev/fd0c fd1440
|
|
|
|
#
|
|
# Dateisystem fuer die (einzige) Partition auf der Diskette
|
|
#
|
|
newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/fd0a
|
|
|
|
#
|
|
# Diskette mounten
|
|
#
|
|
mount /dev/fd0a /mnt
|
|
|
|
#
|
|
# Benoetigte Verzeichnisse erstellen
|
|
#
|
|
mkdir /mnt/dev
|
|
mkdir /mnt/bin
|
|
mkdir /mnt/sbin
|
|
mkdir /mnt/etc
|
|
mkdir /mnt/root
|
|
mkdir /mnt/mnt # fuer die Root-Partition
|
|
mkdir /mnt/tmp
|
|
mkdir /mnt/var
|
|
|
|
#
|
|
# die Verzeichnisse bevoelkern
|
|
#
|
|
if [ ! -x /sys/compile/MINI/kernel ]
|
|
then
|
|
cat << EOM
|
|
Der MINI_Kernel existiert nicht, bitte einen erzeugen.
|
|
Hier ein Beispiel einer Konfigurationsdatei:
|
|
#
|
|
# MINI -- Ein FreeBSD-Kernel, der auf die Diskette passt.
|
|
#
|
|
machine "i386"
|
|
cpu "I486_CPU"
|
|
ident MINI
|
|
maxusers 5
|
|
|
|
options INET # notwendig fuer _tcp _icmpstat _ipstat
|
|
# _udpstat _tcpstat _udb
|
|
options FFS #Berkeley Fast File System
|
|
options FAT_CURSOR #Blockcursor in syscons oder pccons
|
|
options SCSI_DELAY=15 #traue nicht Joe's SCSI-Geraet
|
|
options NCONS=2 #2 virtuelle Konsolen
|
|
options USERCONFIG #Konfiguration mit -c XXX zulassen
|
|
|
|
|
|
config kernel root on da0 swap on da0 and da1 dumps on da0
|
|
|
|
controller isa0
|
|
controller pci0
|
|
|
|
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
|
|
disk fd0 at fdc0 drive 0
|
|
|
|
controller ncr0
|
|
|
|
controller scbus0
|
|
|
|
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
|
|
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
|
|
|
|
device da0
|
|
device da1
|
|
device da2
|
|
|
|
device sa0
|
|
|
|
pseudo-device loop # von INET benoetigt
|
|
pseudo-device gzip # komprimierte a.out-Dateien ausfuehren
|
|
EOM
|
|
exit 1
|
|
fi
|
|
|
|
cp -f /sys/compile/MINI/kernel /mnt
|
|
|
|
gzip -c -best /sbin/init > /mnt/sbin/init
|
|
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
|
|
gzip -c -best /sbin/mount > /mnt/sbin/mount
|
|
gzip -c -best /sbin/halt > /mnt/sbin/halt
|
|
gzip -c -best /sbin/restore > /mnt/sbin/restore
|
|
|
|
gzip -c -best /bin/sh > /mnt/bin/sh
|
|
gzip -c -best /bin/sync > /mnt/bin/sync
|
|
|
|
cp /root/.profile /mnt/root
|
|
|
|
cp -f /dev/MAKEDEV /mnt/dev
|
|
chmod 755 /mnt/dev/MAKEDEV
|
|
|
|
chmod 500 /mnt/sbin/init
|
|
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
|
|
chmod 555 /mnt/bin/sh /mnt/bin/sync
|
|
chmod 6555 /mnt/sbin/restore
|
|
|
|
#
|
|
# Geraetedateien erstellen
|
|
#
|
|
cd /mnt/dev
|
|
./MAKEDEV std
|
|
./MAKEDEV da0
|
|
./MAKEDEV da1
|
|
./MAKEDEV da2
|
|
./MAKEDEV sa0
|
|
./MAKEDEV pty0
|
|
cd /
|
|
|
|
#
|
|
# Minimale Dateisystemtabelle erstellen
|
|
#
|
|
cat > /mnt/etc/fstab <<EOM
|
|
/dev/fd0a / ufs rw 1 1
|
|
EOM
|
|
|
|
#
|
|
# Minimale Passwortdatei erstellen
|
|
#
|
|
cat > /mnt/etc/passwd <<EOM
|
|
root:*:0:0:Charlie &:/root:/bin/sh
|
|
EOM
|
|
|
|
cat > /mnt/etc/master.passwd <<EOM
|
|
root::0:0::0:0:Charlie &:/root:/bin/sh
|
|
EOM
|
|
|
|
chmod 600 /mnt/etc/master.passwd
|
|
chmod 644 /mnt/etc/passwd
|
|
/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
|
|
|
|
#
|
|
# Die Diskette aushaengen und den Benutzer informieren
|
|
#
|
|
/sbin/umount /mnt
|
|
echo "Die Diskette wurde ausgehaengt und ist jetzt bereit."]]></programlisting>
|
|
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Nach dem Unglück</title>
|
|
|
|
<para>Die Schlüsselfrage ist, ob Ihre Hardware überlebt
|
|
hat. Denn da Sie ja regelmäßig Backups angefertigt
|
|
haben, brauchen Sie sich um die Software keine Sorgen zu
|
|
machen.</para>
|
|
|
|
<para>Falls die Hardware beschädigt wurde, ersetzen Sie zuerst
|
|
die defekten Teile.</para>
|
|
|
|
<para>Falls die Hardware funktioniert, überprüfen Sie die
|
|
Disketten. Wenn Sie eigene Bootdisketten verwenden, booten Sie im
|
|
Single-User-Modus (geben dazu Sie <literal>-s</literal> am
|
|
Boot-Prompt <prompt>boot:</prompt> ein). Überspringen Sie den
|
|
folgenden Paragrafen.</para>
|
|
|
|
<para>Wenn Sie die Standarddisketten <filename>boot.flp</filename>
|
|
und <filename>fixit.flp</filename> verwenden, lesen Sie hier weiter.
|
|
Legen Sie die Bootdiskette <filename>boot.flp</filename> in das
|
|
erste Floppylaufwerk ein und starten Sie den Computer. Wie
|
|
üblich wird dann das originale Installationsmenü von
|
|
FreeBSD gestartet. Wählen Sie die Option
|
|
<literal>Fixit--Repair mode with CD-ROM or floppy</literal>. Legen
|
|
Sie die Diskette <filename>fixit.flp</filename> ein, wenn danach
|
|
gefragt wird. <command>restore</command> und die anderen Programme,
|
|
die Sie benötigen, befinden sich dann in
|
|
<filename>/mnt2/stand</filename>.</para>
|
|
|
|
<para>Stellen Sie die Dateisysteme nacheinander, getrennt von
|
|
einander, wieder her.</para>
|
|
|
|
<indexterm>
|
|
<primary><command>mount</command></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Root-Partition</primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><command>disklabel</command></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><command>newfs</command></primary>
|
|
</indexterm>
|
|
<para>Versuchen Sie die Root-Partition Ihrer ersten Festplatte
|
|
einzuhängen (z.B. mit <command>mount /dev/sd0a
|
|
/mnt</command>). Wenn das Disklabel beschädigt wurde,
|
|
benutzen Sie <command>disklabel</command> um die Platte
|
|
neu zu partitionieren und zu benennen und zwar so, dass die
|
|
Festplatte mit dem Label übereinstimmt, das Sie
|
|
ausgedruckt und aufbewahrt haben.</para>
|
|
|
|
<para>Verwenden Sie <command>newfs</command> um neue Dateisysteme
|
|
auf den
|
|
Partitionen anzulegen. Hängen Sie nun die Root-Partition der
|
|
Festplatte mit Schreibzugriff ein (mit <command>mount -u -o rw
|
|
/mnt</command>). Benutzen Sie Ihr Backup-Programm um die Daten
|
|
für das jeweilige Dateisystem aus den Backup-Bändern
|
|
wieder her zu stellen (z.B. durch <command>restore vrf
|
|
/dev/sta</command>). Hängen Sie das Dateisystem wieder aus
|
|
(z.B. durch <command>umount /mnt</command>). Wiederholen Sie diesen
|
|
Ablauf für jedes betroffene Dateisystem.</para>
|
|
|
|
<para>Sobald Ihr System wieder läuft, machen Sie gleich wieder
|
|
ein vollständiges Backup auf neue Bänder. Denn die
|
|
Ursache für den Absturz oder den Datenverlust kann wieder
|
|
zuschlagen. Eine weitere Stunde, die Sie jetzt noch
|
|
dranhängen, kann Ihnen später ein weiteres Missgeschick
|
|
ersparen.</para>
|
|
</sect3>
|
|
|
|
<![ %not.published; [
|
|
|
|
<sect3>
|
|
<title>* Ich habe mich nicht auf Missgeschicke vorbereitet - was
|
|
nun?</title>
|
|
|
|
<para></para>
|
|
</sect3>
|
|
|
|
]]>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="disks-virtual">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Marc</firstname>
|
|
<surname>Fonvieille</surname>
|
|
<contrib>Verbessert und neu strukturiert von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
<title>Netzwerk-, speicher- und dateibasierte Dateisysteme</title>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>virtuelle</secondary>
|
|
</indexterm>
|
|
|
|
<para>Neben Laufwerken, die sich physikalisch im Rechner befinden
|
|
wie Floppylaufwerke, CDs, Festplatten usw., kann FreeBSD auch
|
|
mit anderen Laufwerken, den <firstterm>virtuellen Laufwerken</firstterm>,
|
|
umgehen.</para>
|
|
|
|
<indexterm><primary>NFS</primary></indexterm>
|
|
<indexterm><primary>Coda</primary></indexterm>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>speicherbasierte</secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>RAM-Disks</secondary>
|
|
</indexterm>
|
|
<para>Dazu zählen Netzwerkdateisysteme wie
|
|
<link linkend="nfs">Network Filesystem</link> und Coda,
|
|
speicher- und dateibasierte Dateisysteme.</para>
|
|
|
|
<para>Abhängig von der verwendeten FreeBSD Version werden
|
|
speicher- und dateibasierte Dateisysteme mit unterschiedlichen
|
|
Werkzeugen angelegt.</para>
|
|
|
|
<note>
|
|
<para>In FreeBSD 4.X werden Gerätedateien mit
|
|
&man.MAKEDEV.8; angelegt. FreeBSD 5.X erzeugt
|
|
Gerätedateien automatisch mithilfe von &man.devfs.5;.</para>
|
|
</note>
|
|
|
|
<sect2 id="disks-vnconfig">
|
|
<title>Dateibasierte Laufwerke unter FreeBSD 4.X</title>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>dateibasierte unter FreeBSD 4.X</secondary>
|
|
</indexterm>
|
|
|
|
<para>Mit &man.vnconfig.8; werden vnode Pseudo-Platten
|
|
konfiguriert und aktiviert. Ein <firstterm>vnode</firstterm>
|
|
stellt eine Datei dar, auf der Dateioperationen ablaufen.
|
|
Das bedeutet, dass &man.vnconfig.8; Dateien benutzt,
|
|
um ein Dateisystem zu erstellen und zu verwalten. Damit
|
|
ist es z.B. möglich, Dateien, die Abbilder von Floppies
|
|
oder CDs enthalten, anzuhängen.</para>
|
|
|
|
<para>In der Kernelkonfiguration muss die
|
|
&man.vn.4;-Unterstützung aktiviert sein, damit
|
|
&man.vnconfig.8; funktioniert:</para>
|
|
|
|
<programlisting>pseudo-device vn</programlisting>
|
|
|
|
<para>Um ein existierendes Abbild eines Dateisystems
|
|
einzuhängen:</para>
|
|
|
|
<example>
|
|
<title>Einhängen eines existierenden Abbildes unter
|
|
FreeBSD 4.X</title>
|
|
|
|
<screen>&prompt.root; <userinput>vnconfig vn<replaceable>0</replaceable> <replaceable>diskimage</replaceable></userinput>
|
|
&prompt.root; <userinput>mount /dev/vn<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput></screen>
|
|
</example>
|
|
|
|
<para>Um ein neues Dateisystem mit &man.vnconfig.8; anzulegen:</para>
|
|
|
|
<example>
|
|
<title>Anlegen eines dateibasierten Laufwerks</title>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput>
|
|
5120+0 records in
|
|
5120+0 records out
|
|
&prompt.root; <userinput>vnconfig -s labels -c vn<replaceable>0</replaceable> <replaceable>newimage</replaceable></userinput>
|
|
&prompt.root; <userinput>disklabel -r -w vn<replaceable>0</replaceable> auto</userinput>
|
|
&prompt.root; <userinput>newfs vn<replaceable>0</replaceable>c</userinput>
|
|
Warning: 2048 sector(s) in last cylinder unallocated
|
|
/dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
|
|
5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
|
|
super-block backups (for fsck -b #) at:
|
|
32
|
|
&prompt.root; <userinput>mount /dev/vn<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
|
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
|
/dev/vn0c 4927 1 4532 0% /mnt</screen>
|
|
</example>
|
|
</sect2>
|
|
|
|
<sect2 id="disks-mdconfig">
|
|
<title>Dateibasierte Laufwerke unter FreeBSD 5.X</title>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>dateibasierte unter FreeBSD 5.X</secondary>
|
|
</indexterm>
|
|
|
|
<para>Unter FreeBSD 5.0 werden virtuelle Laufwerke (&man.md.4;)
|
|
mit &man.mdconfig.8; erzeugt. Dazu muss das Modul &man.md.4;
|
|
geladen sein oder das entsprechende Gerät in der
|
|
Kernelkonfiguration aktiviert sein:</para>
|
|
|
|
<programlisting>device md</programlisting>
|
|
|
|
<para>Mit &man.mdconfig.8; können drei verschiedene virtuelle
|
|
Laufwerke angelegt werden: speicherbasierte Laufwerke, deren
|
|
Speicher von &man.malloc.9; zur Verfügung gestellt wird, oder
|
|
dateibasierte Laufwerke, deren Speicher von einer Datei oder dem
|
|
Swap-Bereich zur Verfügung gestellt wird. Eine mögliche
|
|
Anwendung ist das Einhängen von Dateien, die Abbilder von
|
|
CD-ROMs oder Floppies enthalten.</para>
|
|
|
|
<para>Das Abbild eines Dateisystems wird wie folgt
|
|
eingehangen:</para>
|
|
|
|
<example>
|
|
<title>Einhängen eines existierenden Abbildes unter
|
|
FreeBSD 5.X</title>
|
|
|
|
<screen>&prompt.root; <userinput>mdconfig -a -t vnode -f <replaceable>diskimage</replaceable> -u <replaceable>0</replaceable></userinput>
|
|
&prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput></screen>
|
|
</example>
|
|
|
|
<para>Ein neues Dateisystem-Abbild erstellen Sie mit
|
|
&man.mdconfig.8; wie folgt:</para>
|
|
|
|
<example>
|
|
<title>Erstellen eines dateibasierten Laufwerks mit
|
|
<command>mdconfig</command></title>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput>
|
|
5120+0 records in
|
|
5120+0 records out
|
|
&prompt.root; <userinput>mdconfig -a -t vnode -f <replaceable>newimage</replaceable> -u <replaceable>0</replaceable></userinput>
|
|
&prompt.root; <userinput>disklabel -r -w md<replaceable>0</replaceable> auto</userinput>
|
|
&prompt.root; <userinput>newfs md<replaceable>0</replaceable>c</userinput>
|
|
/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048
|
|
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
|
|
super-block backups (for fsck -b #) at:
|
|
32, 2624, 5216, 7808
|
|
&prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
|
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
|
/dev/md0c 4846 2 4458 0% /mnt</screen>
|
|
</example>
|
|
|
|
<para>Wenn Sie keine Gerätenummer mit dem Schalter
|
|
<option>-u</option> angeben, wird von &man.md.4; automatisch eine
|
|
ungenutzte Gerätenummer zugewiesen. Das zugewiesene Gerät
|
|
wird auf der Standardausgabe ausgegeben (zum Beispiel
|
|
<devicename>md4</devicename>). Weitere Informationen entnehmen Sie
|
|
bitte der Hilfeseite &man.mdconfig.8;.</para>
|
|
|
|
<para>Das Werkzeug &man.mdconfig.8; ist sehr nützlich, doch muss
|
|
man viele Kommandos absetzen, um ein dateibasiertes Dateisystem zu
|
|
erstellen. FreeBSD enthält das Werkzeug &man.mdmfs.8;, das
|
|
die notwendigen Schritte in einem Befehl zusammenfasst. Es
|
|
konfiguriert mit &man.mdconfig.8; ein &man.md.4;-Laufwerk, erstellt
|
|
darauf mit &man.newfs.8; ein Dateisystem und hängt es
|
|
anschließend mit &man.mount.8; ein. Das virtuelle Laufwerk
|
|
aus dem obigen Beispiel kann somit einfach mit den nachstehenden
|
|
Befehlen erstellt werden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput>
|
|
5120+0 records in
|
|
5120+0 records in
|
|
5120+0 records out
|
|
&prompt.root; <userinput>mdmfs -F <replaceable>newimage</replaceable> -s <replaceable>5</replaceable>m md<replaceable>0</replaceable> <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
|
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
|
/dev/md0 4846 2 4458 0% /mnt</screen>
|
|
|
|
<para>Wenn sie die Option <option>md</option> ohne Gerätenummer
|
|
verwenden, wählt &man.md.4; automatisch ein ungenutztes
|
|
Gerät aus. Weitere Einzelheiten entnehmen Sie bitte der
|
|
Hilfeseite &man.mdmfs.8;.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="disks-md-freebsd4">
|
|
<title>Speicherbasierte Laufwerke unter FreeBSD 4.X</title>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>speicherbasierte unter FreeBSD 4.X</secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>RAM-Disks unter FreeBSD 4.X</secondary>
|
|
</indexterm>
|
|
|
|
<para>Mit dem Gerätetreiber &man.md.4; lassen sich unter
|
|
FreeBSD 4.X leicht speicherbasierte Laufwerke (RAM-disks)
|
|
anlegen. Der dazu nötige Speicher wird mit &man.malloc.9;
|
|
belegt.</para>
|
|
|
|
<para>Nehmen Sie einfach ein Dateisystem, dass Sie
|
|
z.B. mit &man.vnconfig.8; vorbereitet haben:</para>
|
|
|
|
<example>
|
|
<title>Speicherbasiertes Laufwerk unter FreeBSD 4.X</title>
|
|
|
|
<screen>&prompt.root; <userinput>dd if=<replaceable>newimage</replaceable> of=/dev/md<replaceable>0</replaceable></userinput>
|
|
5120+0 records in
|
|
5120+0 records out
|
|
&prompt.root; <userinput>mount /dev/md<replaceable>0c</replaceable> <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
|
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
|
/dev/md0c 4927 1 4532 0% /mnt</screen>
|
|
</example>
|
|
|
|
<para>Weitere Einzelheiten entnehmen Sie bitte der Hilfeseite
|
|
&man.md.4;.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="disks-md-freebsd5">
|
|
<title>Speicherbasierte Laufwerke unter FreeBSD 5.X</title>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>speicherbasierte unter FreeBSD 5.X</secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>RAM-Disks unter FreeBSD 5.X</secondary>
|
|
</indexterm>
|
|
|
|
<para>Speicher- und dateibasierte Laufwerke werden in
|
|
FreeBSD 5.0 mit denselben Werkzeugen erstellt:
|
|
&man.mdconfig.8; oder &man.mdmfs.8;. Der Speicher für
|
|
speicherbasierte Laufwerke (RAM-disks) wird mit
|
|
&man.malloc.9; belegt.</para>
|
|
|
|
<example>
|
|
<title>Erstellen eines speicherbasierten Laufwerks mit
|
|
<command>mdconfig</command></title>
|
|
|
|
<screen>&prompt.root; <userinput>mdconfig -a -t malloc -s <replaceable>5</replaceable>m -u <replaceable>1</replaceable></userinput>
|
|
&prompt.root; <userinput>newfs -U md<replaceable>1</replaceable></userinput>
|
|
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
|
|
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
|
|
with soft updates
|
|
super-block backups (for fsck -b #) at:
|
|
32, 2624, 5216, 7808
|
|
&prompt.root; <userinput>mount /dev/md<replaceable>1</replaceable> <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
|
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
|
/dev/md1 4846 2 4458 0% /mnt</screen>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Erstellen eines speicherbasierten Laufwerks mit
|
|
<command>mdmfs</command></title>
|
|
<screen>&prompt.root; <userinput>mdmfs -M -s <replaceable>5</replaceable>m md<replaceable>2</replaceable> <replaceable>/mnt</replaceable></userinput>
|
|
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
|
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
|
/dev/md2 4846 2 4458 0% /mnt</screen>
|
|
</example>
|
|
|
|
<para>Der Speicher für das Dateisystem muss nicht mit
|
|
&man.malloc.9; zugewiesen werden, sondern kann auch aus dem
|
|
Swap-Bereich stammen. Auf der Kommandozeile von &man.mdconfig.8;
|
|
ist dazu <option>malloc</option> durch <option>swap</option>
|
|
zu ersetzen. Ohne Angabe des Schalters <option>-M</option>
|
|
verwendet &man.mdmfs.8; Speicher aus dem Swap-Bereich.
|
|
Weitere Informationen entnehmen Sie bitte den Hilfeseiten
|
|
&man.mdconfig.8; und &man.mdmfs.8;.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Virtuelle Laufwerke freigeben</title>
|
|
<indexterm>
|
|
<primary>Laufwerke</primary>
|
|
<secondary>Freigabe von virtuellen Laufwerken</secondary>
|
|
</indexterm>
|
|
|
|
<para>Wenn ein virtuelles Laufwerk nicht mehr gebraucht wird, sollten
|
|
Sie dem System die belegten Ressourcen zurückgeben.
|
|
Hängen Sie dazu zuerst das Dateisystem ab und geben Sie dann
|
|
die benutzten Ressourcen mit &man.mdconfig.8; frei.</para>
|
|
|
|
<para>Alle von <filename>/dev/md4</filename> belegten Ressourcen
|
|
werden mit dem nachstehenden Kommando freigegeben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mdconfig -d -u <replaceable>4</replaceable></userinput></screen>
|
|
|
|
<para>Eingerichtete &man.md.4;-Geräte werden mit dem Befehl
|
|
<command>mdconfig -l</command> angezeigt.</para>
|
|
|
|
<para>Unter FreeBSD 4.X geben Sie die Ressourcen mit
|
|
&man.vnconfig.8; frei. Die von <filename>/dev/vn4</filename>
|
|
belegten Ressourcen geben Sie wie folgt frei:</para>
|
|
|
|
<screen>&prompt.root; <userinput>vnconfig -u vn<replaceable>4</replaceable></userinput></screen>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="snapshots">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Tom</firstname>
|
|
<surname>Rhodes</surname>
|
|
<contrib>Beigetragen von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<!-- 15 JUL 2002 -->
|
|
</sect1info>
|
|
|
|
<title>Schnappschüsse von Dateisystemen</title>
|
|
|
|
<indexterm>
|
|
<primary>Schnappschüsse von Dateisystemen</primary>
|
|
<secondary>Schnappschüsse</secondary>
|
|
</indexterm>
|
|
|
|
<para>Zusammen mit <link linkend="soft-updates">Soft Updates</link>
|
|
bietet FreeBSD 5.0 eine neue Funktion: Schnappschüsse von
|
|
Dateisystemen.</para>
|
|
|
|
<para>Schnappschüsse sind Dateien, die ein Abbild eines
|
|
Dateisystems enthalten und müssen auf dem jeweiligen
|
|
Dateisystem erstellt werden. Pro Dateisystem darf es maximal
|
|
20 Schnappschüsse, die im Superblock vermerkt werden, geben.
|
|
Schnappschüsse bleiben erhalten, wenn das Dateisystem abgehangen,
|
|
neu eingehangen oder das System neu gestartet wird. Wenn Sie einen
|
|
Schnappschuss nicht mehr benötigen, können Sie ihn
|
|
mit &man.rm.1; löschen. Es ist egal, in welcher Reihenfolge
|
|
Schnappschüsse gelöscht werden. Es kann allerdings
|
|
vorkommen, dass nicht der gesamte Speicherplatz
|
|
wieder freigegeben wird, da ein anderer
|
|
Schnappschuss einen Teil der entfernten Blöcke für sich
|
|
beanspruchen kann.</para>
|
|
|
|
<para>Schnappschüsse werden mit dem <option>schg</option> Flag
|
|
(siehe &man.chflags.1;) angelegt, um sicherzustellen, das nicht
|
|
einmal <username>root</username> den Schnappschuss beschreiben
|
|
kann. In &man.unlink.1; wird allerdings für
|
|
Schnappschüsse eine Ausnahme gemacht: Sie dürfen
|
|
gelöscht werden, ohne das das <option>schg</option> Flag
|
|
vorher entfernt werden muss.</para>
|
|
|
|
<para>Schnappschüsse werden mit &man.mount.8; erstellt. Das
|
|
folgende Kommando legt einen Schnappschuss von
|
|
<filename>/var</filename> in <filename>/var/snapshot/snap</filename>
|
|
ab:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mount -u -o snapshot /var/snapshot/snap /var</userinput></screen>
|
|
|
|
<para>Nachdem ein Schnappschuss erstellt wurde, können Sie
|
|
ihn für verschiedene Zwecke benutzen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Sie können den Schnappschuss für die
|
|
Datensicherung benutzen und ihn auf eine CD oder ein Band
|
|
schreiben.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sie können den Schnappschuss mit &man.fsck.8;
|
|
prüfen. Wenn das Dateisystem zum Zeitpunkt der Erstellung
|
|
des Schnappschusses in Ordnung war, sollte &man.fsck.8; immer
|
|
erfolgreich durchlaufen.</para>
|
|
<!-- This is essentially what the
|
|
background &man.fsck.8; process does.-->
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sie können den Schnappschuss mit &man.dump.8;
|
|
sichern. Sie erhalten dann eine konsistente Sicherung des
|
|
Dateisystems zu dem Zeitpunkt, der durch den Zeitstempel des
|
|
Schnappschusses gegeben ist. Der Schalter <option>-L</option>
|
|
von &man.dump.8; erstellt für die Sicherung einen
|
|
Schnappschuss und entfernt diesen am Ende der Sicherung
|
|
wieder.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sie können einen Schnappschuss in den
|
|
Verzeichnisbaum einhängen und sich dann den Zustand des
|
|
Dateisystems zu dem Zeitpunkt ansehen, an dem der
|
|
Schnappschuss erstellt wurde. Der folgende Befehl
|
|
hängt den Schnappschuss
|
|
<filename>/var/snapshot/snap</filename> ein:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /var/snapshot/snap -u 4</userinput></screen>
|
|
<screen>&prompt.root; <userinput>mount -r /dev/md4 /mnt</userinput></screen>
|
|
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Sie können sich nun den eingefrorenen Stand des
|
|
<filename>/var</filename> Dateisystems unterhalb von
|
|
<filename>/mnt</filename> ansehen. Mit Ausnahme der früheren
|
|
Schnappschüsse, die als leere Dateien auftauchen, wird alles
|
|
so aussehen, wie zu dem Zeitpunkt als der Schnappschuss
|
|
erstellt wurde. Wenn Sie den Schnappschuss nicht mehr
|
|
benötigen, können Sie ihn, wie nachfolgend gezeigt,
|
|
abhängen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>umount /mnt</userinput></screen>
|
|
<screen>&prompt.root; <userinput>mdconfig -d -u 4</userinput></screen>
|
|
|
|
<para>Weitere Informationen über Soft Updates und
|
|
Schnappschüsse von Dateisystemen sowie technische Artikel finden
|
|
Sie auf der <ulink url="http://www.mckusick.com/">Webseite
|
|
von Marshall Kirk McKusick</ulink>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="quotas">
|
|
<title>Dateisystem Quotas</title>
|
|
<indexterm>
|
|
<primary>Accounting</primary>
|
|
<secondary>Plattenplatz</secondary>
|
|
</indexterm>
|
|
<indexterm><primary>Disk Quotas</primary></indexterm>
|
|
|
|
<para>Quotas sind eine optionale Funktion des Betriebssystems,
|
|
die es Ihnen erlauben, den Plattenplatz und/oder die Anzahl
|
|
der Dateien eines Benutzers oder der Mitglieder einer Gruppe,
|
|
auf Dateisystemebene zu beschränken. Oft wird dies
|
|
auf Timesharing-Systemen (Mehrbenutzersystemen) genutzt, da
|
|
es dort erwünscht ist, die Ressourcen, die ein Benutzer oder
|
|
eine Gruppe von Benutzern belegen können, zu limitieren. Das
|
|
verhindert, dass ein Benutzer oder eine Gruppe von Benutzern
|
|
den ganzen verfügbaren Plattenplatz belegt.</para>
|
|
|
|
<sect2>
|
|
<title>Konfiguration des Systems, um Quotas zu
|
|
aktivieren</title>
|
|
|
|
<para>Bevor Quotas benutzt werden können, müssen
|
|
sie im Kernel konfiguriert werden, wozu die folgende Zeile
|
|
der Kernelkonfiguration hinzugefügt wird:</para>
|
|
|
|
<programlisting>options QUOTA</programlisting>
|
|
|
|
<para>Im gewöhnlichen <filename>GENERIC</filename> Kernel
|
|
sind Quotas nicht aktiviert, so dass Sie einen angepassten
|
|
Kernel konfigurieren und bauen müssen, um Quotas zu
|
|
benutzen. Weitere Informationen
|
|
finden Sie in <xref linkend="kernelconfig">.</para>
|
|
|
|
<para>Durch Hinzufügen der folgenden Zeile in
|
|
<filename>/etc/rc.conf</filename> wird das Quota-System
|
|
aktiviert:</para>
|
|
|
|
<programlisting>enable_quotas="YES"</programlisting>
|
|
<indexterm>
|
|
<primary>Disk Quotas</primary>
|
|
<secondary>überprüfen</secondary>
|
|
</indexterm>
|
|
|
|
<para>Um den Start des Quota-Systems zu beeinflussen, steht
|
|
eine weitere Variable zur Verfügung. Normalerweise
|
|
wird beim Booten die Integrität der Quotas auf
|
|
allen Dateisystemen mit &man.quotacheck.8;
|
|
überprüft. &man.quotacheck.8; stellt
|
|
sicher, dass die Quota-Datenbank mit den Daten auf
|
|
einem Dateisystem übereinstimmt. Dies ist allerdings
|
|
ein sehr zeitraubender Prozess, der die Zeit, die
|
|
das System zum Booten braucht, signifikant beeinflusst.
|
|
Eine Variable in <filename>/etc/rc.config</filename> erlaubt es Ihnen,
|
|
diesen Schritt zu überspringen:</para>
|
|
|
|
<programlisting>check_quotas="NO"</programlisting>
|
|
|
|
<para>Wenn Sie ein FreeBSD vor 3.2-RELEASE benutzen, ist
|
|
die Konfiguration einfacher. In <filename>/etc/rc.conf</filename>
|
|
setzen Sie nur eine Variable:</para>
|
|
|
|
<programlisting>check_quotas="YES"</programlisting>
|
|
|
|
<para>Schließlich müssen Sie noch in
|
|
<filename>/etc/fstab</filename> die Plattenquotas auf
|
|
Dateisystemebene aktivieren. Dort können Sie
|
|
für alle Dateisysteme Quotas für Benutzer, Gruppen
|
|
oder für beide aktivieren.</para>
|
|
|
|
<para>Um Quotas pro Benutzer für ein Dateisystem zu
|
|
aktivieren, geben Sie für dieses Dateisystem die
|
|
Option <option>userquota</option> im Feld Optionen von
|
|
<filename>/etc/fstab</filename> an. Beispiel:</para>
|
|
|
|
<programlisting>/dev/da1s2g /home ufs rw,userquota 1 2</programlisting>
|
|
|
|
<para>Um Quotas für Gruppen einzurichten, verwenden
|
|
Sie <option>groupquota</option> anstelle von
|
|
<option>userquota</option>. Um Quotas für Benutzer
|
|
und Gruppen einzurichten, ändern Sie den Eintrag
|
|
wie folgt ab:</para>
|
|
|
|
<programlisting>/dev/da1s2g /home ufs rw,userquota,groupquota 1 2</programlisting>
|
|
|
|
<para>Die Quotas werden jeweils im Rootverzeichnis des Dateisystems
|
|
unter dem Namen <filename>quota.user</filename> für
|
|
Benutzer-Quotas und <filename>quota.group</filename> für
|
|
Gruppen-Quotas abgelegt. Obwohl &man.fstab.5; beschreibt,
|
|
dass diese Dateien an anderer Stelle gespeichert werden
|
|
können, wird das nicht empfohlen, da es den Anschein hat,
|
|
dass die verschiedenen Quota-Utilities das nicht richtig
|
|
unterstützen.</para>
|
|
|
|
<para>Jetzt sollten Sie Ihr System mit dem neuen Kernel booten.
|
|
<filename>/etc/rc</filename> wird dann automatisch die
|
|
richtigen Kommandos aufrufen, die die Quota-Dateien für
|
|
alle Quotas, die Sie in <filename>/etc/fstab</filename>
|
|
definiert haben, anlegen. Deshalb müssen vorher auch keine
|
|
leeren Quota-Dateien angelegt werden.</para>
|
|
|
|
<para>Normalerweise brauchen Sie die Kommandos
|
|
&man.quotacheck.8;, &man.quotaon.8; oder
|
|
&man.quotaoff.8; nicht händisch aufzurufen,
|
|
obwohl Sie vielleicht die entsprechenden Seiten im
|
|
Manual lesen sollten, um sich mit ihnen vertraut
|
|
zu machen.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Setzen von Quota-Limits</title>
|
|
<indexterm>
|
|
<primary>Disk Quotas</primary>
|
|
<secondary>Limits</secondary>
|
|
</indexterm>
|
|
|
|
<para>Nachdem Sie Quotas in Ihrem System aktiviert haben, sollten
|
|
Sie überprüfen, dass Sie auch tatsächlich
|
|
aktiviert sind. Führen Sie dazu einfach den folgenden
|
|
Befehl aus:</para>
|
|
|
|
<screen>&prompt.root; <userinput>quota -v</userinput></screen>
|
|
|
|
<para>Für jedes Dateisystem, auf dem Quotas aktiviert sind,
|
|
sollten Sie eine Zeile mit der Plattenauslastung und den
|
|
aktuellen Quota-Limits sehen.</para>
|
|
|
|
<para>Mit &man.edquota.8; können Sie nun
|
|
Quota-Limits setzen.</para>
|
|
|
|
<para>Sie haben mehrere Möglichkeiten, die Limits für
|
|
den Plattenplatz, den ein Benutzer oder eine Gruppe verbrauchen
|
|
kann, oder die Anzahl der Dateien, die angelegt werden dürfen,
|
|
festzulegen. Die Limits können auf dem Plattenplatz
|
|
(Block-Quotas) oder der Anzahl der Dateien (Inode-Quotas) oder
|
|
einer Kombination von beiden basieren.
|
|
Jedes dieser Limits wird weiterhin in zwei Kategorien geteilt:
|
|
Hardlimits und Softlimits.</para>
|
|
|
|
<indexterm><primary>Hardlimit</primary></indexterm>
|
|
<para>Ein Hardlimit kann nicht überschritten werden.
|
|
Hat der Benutzer einmal ein Hardlimit erreicht, so kann er
|
|
auf dem betreffenden Dateisystem keinen weiteren Platz mehr
|
|
beanspruchen. Hat ein Benutzer beispielsweise ein Hardlimit
|
|
von 500 Blöcken auf einem Dateisystem und benutzt davon
|
|
490 Blöcke, so kann er nur noch 10 weitere Blöcke
|
|
beanspruchen. Der Versuch, weitere 11 Blöcke zu beanspruchen,
|
|
wird fehlschlagen.</para>
|
|
|
|
<indexterm><primary>Softlimit</primary></indexterm>
|
|
<para>Im Gegensatz dazu können Softlimits für eine
|
|
befristete Zeit überschritten werden. Diese Frist
|
|
beträgt in der Grundeinstellung
|
|
eine Woche. Hat der Benutzer das Softlimit über die
|
|
Frist hinaus überschritten, so wird das Softlimit in
|
|
ein Hardlimit umgewandelt und der Benutzer kann
|
|
keinen weiteren Platz mehr beanspruchen. Wenn er einmal
|
|
das Softlimit unterschreitet, wird die Frist wieder
|
|
zurückgesetzt.</para>
|
|
|
|
<para>Das folgende Beispiel zeigt die Benutzung von
|
|
&man.edquota.8;. Wenn &man.edquota.8; aufgerufen wird,
|
|
wird der Editor gestartet, der durch <envar>EDITOR</envar>
|
|
gegeben ist oder <application>vi</application> falls
|
|
<envar>EDITOR</envar> nicht gesetzt ist. In dem Editor
|
|
können Sie die Limits eingeben.</para>
|
|
|
|
<screen>&prompt.root; <userinput>edquota -u test</userinput></screen>
|
|
|
|
<programlisting>Quotas for user test:
|
|
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
|
|
inodes in use: 7, limits (soft = 50, hard = 60)
|
|
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
|
|
inodes in use: 0, limits (soft = 50, hard = 60)</programlisting>
|
|
|
|
<para>Für jedes Dateisystem, auf dem Quotas aktiv sind,
|
|
sehen Sie zwei Zeilen, eine für die Block-Quotas und die
|
|
andere für die Inode-Quotas. Um ein Limit zu modifizieren,
|
|
ändern Sie einfach den angezeigten Wert. Um beispielsweise
|
|
das Blocklimit dieses Benutzers von einem Softlimit von 50
|
|
und einem Hardlimit von 75 auf ein Softlimit von 500 und
|
|
ein Hardlimit von 600 zu erhöhen, ändern Sie
|
|
die Zeile</para>
|
|
|
|
<programlisting>/usr: blocks in use: 65, limits (soft = 50, hard = 75)</programlisting>
|
|
|
|
<para>zu:</para>
|
|
|
|
<programlisting> /usr: blocks in use: 65, limits (soft = 500, hard = 600)</programlisting>
|
|
|
|
<para>Die neuen Limits sind wirksam, wenn Sie den
|
|
Editor verlassen.</para>
|
|
|
|
<para>Manchmal ist es erwünscht, die Limits für einen
|
|
Bereich von UIDs zu setzen. Dies kann mit der <option>-p</option>
|
|
Option von &man.edquota.8; bewerkstelligt werden.
|
|
Weisen Sie dazu die Limits einem Benutzer zu und rufen danach
|
|
<command>edquota -p protouser startuid-enduid</command> auf.
|
|
Besitzt beispielsweise der Benutzer <username>test</username>
|
|
die gewünschten Limits, können diese mit
|
|
dem folgenden Kommando für die UIDs 10.000 bis 19.999
|
|
dupliziert werden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen>
|
|
|
|
<para>Weitere Informationen erhalten Sie in &man.edquota.8;.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Überprüfen von Quota-Limits und Plattennutzung</title>
|
|
<indexterm>
|
|
<primary>Disk Quotas</primary>
|
|
<secondary>überprüfen</secondary>
|
|
</indexterm>
|
|
|
|
<para>Sie können &man.quota.1; oder
|
|
&man.repquota.8; benutzen, um Quota-Limits
|
|
und Plattennutzung zu überprüfen. Um die Limits
|
|
oder die Plattennutzung individueller Benutzer und Gruppen
|
|
zu überprüfen, kann &man.quota.1;
|
|
benutzt werden. Ein Benutzer kann nur die eigenen Quotas und die
|
|
Quotas der Gruppe, der er angehört untersuchen. Nur der
|
|
Superuser darf sich alle Limits ansehen.
|
|
Mit &man.repquota.8; erhalten Sie eine Zusammenfassung
|
|
von allen Limits und der Plattenausnutzung für alle
|
|
Dateisysteme, auf denen Quotas aktiv sind.</para>
|
|
|
|
<para>Das folgende Beispiel zeigt die Ausgabe von
|
|
<command>quota -v</command> für einen Benutzer, der
|
|
Quota-Limits auf zwei Dateisystemen besitzt:</para>
|
|
|
|
<programlisting>Disk quotas for user test (uid 1002):
|
|
Filesystem blocks quota limit grace files quota limit grace
|
|
/usr 65* 50 75 5days 7 50 60
|
|
/usr/var 0 50 75 0 50 60</programlisting>
|
|
|
|
<indexterm>
|
|
<primary>Disk Quotas</primary>
|
|
<secondary>Frist</secondary>
|
|
</indexterm>
|
|
<para>Im Dateisystem <filename>/usr</filename> liegt der Benutzer
|
|
momentan 15 Blöcke über dem Softlimit von
|
|
50 Blöcken und hat noch 5 Tage seiner Frist übrig.
|
|
Der Stern <literal>*</literal> zeigt an, dass der
|
|
Benutzer sein Limit überschritten hat.</para>
|
|
|
|
<para>In der Ausgabe von &man.quota.1; werden Dateisysteme,
|
|
auf denen ein Benutzer keinen Platz verbraucht, nicht angezeigt,
|
|
auch wenn diesem Quotas zugewiesen wurden. Mit <option>-v</option>
|
|
werden diese Dateisysteme, wie <filename>/usr/var</filename>
|
|
im obigen Beispiel, angezeigt.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Quotas über NFS</title>
|
|
<indexterm><primary>NFS</primary></indexterm>
|
|
|
|
<para>Quotas werden von dem Quota-Subsystem auf dem NFS Server
|
|
erzwungen. Der &man.rpc.rquotad.8; Dæmon stellt
|
|
&man.quota.1; die Quota Informationen auf dem NFS Client
|
|
zur Verfügung, so dass Benutzer auf diesen
|
|
Systemen ihre Quotas abfragen können.</para>
|
|
|
|
<para>Aktivieren Sie <command>rpc.rquotad</command> in
|
|
<filename>/etc/inetd.conf</filename> wie folgt:</para>
|
|
|
|
<programlisting>rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad</programlisting>
|
|
|
|
<para>Anschließend starten Sie <command>inetd</command>
|
|
neu:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|
|
|
|
<!--
|
|
Local Variables:
|
|
mode: sgml
|
|
sgml-declaration: "../chapter.decl"
|
|
sgml-indent-data: t
|
|
sgml-omittag: nil
|
|
sgml-always-quote-attributes: t
|
|
sgml-parent-document: ("../book.sgml" "part" "chapter")
|
|
End:
|
|
-->
|