Index: head/de_DE.ISO8859-1/books/handbook/vinum/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/vinum/chapter.xml (revision 47186)
+++ head/de_DE.ISO8859-1/books/handbook/vinum/chapter.xml (nonexistent)
@@ -1,1419 +0,0 @@
-
-
-
- Der Vinum Volume Manager
-
- GregLeheyUrsprünglich geschrieben von
-
-
- JohannKoisÜbersetzt von
- KayAbendroth
-
-
-
-
-
-
- Übersicht
-
-
- Egal, über welche und wieviele Festplatten Ihr System
- auch verfügt, immer wieder werden Sie mit den folgenden
- Problemen konfrontiert:
-
-
-
- Ihre Platten sind zu klein.
-
-
-
- Sie sind zu langsam.
-
-
-
- Ihre Platten sind unzuverlässig.
-
-
-
- Um derartige Probleme zu lösen, wurden verschiedene
- Methoden entwickelt. Eine Möglichkeit bietet der
- Einsatz von mehreren, manchmal auch redundant ausgelegten
- Platten. Zusätzlich zur Unterstützung verschiedener
- Erweiterungskarten und Controller für Hardware-RAID-Systeme
- enthält das &os;-Basissystem auch den Vinum
- Volume Manager, einen Blockgerätetreiber, der die
- Einrichtung virtueller Platten unterstützt. Bei
- Vinum handelt es sich um einen
- sogenannten Volume Manager, einen
- virtuellen Plattentreiber, der obige drei Probleme löst.
- Vinum bietet Ihnen größere Flexibilität,
- Leistung und Zuverlässigkeit als die klassische
- Datenspeicherung auf einzelne Festplatten. Dazu unterstützt
- Vinum RAID-0, RAID-1 und RAID-5 (sowohl einzeln als auch in
- Kombination).
-
- Dieses Kapitel bietet Ihnen einen Überblick über
- potentielle Probleme der klassischen Datenspeicherung auf
- Festplatten sowie eine Einführung in den Vinum
- Volume Manager.
-
-
- Für &os; 5.X wurde Vinum überarbeitet und
- an die GEOM-Architektur () angepasst,
- wobei die ursprünglichen Ideeen und Begriffe sowie die
- auf der Platte benötigten Metadaten beibehalten wurden.
- Die überarbeitete Version wird als
- gvinum (für
- GEOM-Vinum) bezeichnet. Die folgenden
- Ausführungen verwenden den Begriff
- Vinum als abstrakten Namen, unabhängig
- davon, welche Variante implementiert wurde. Sämtliche
- Befehlsaufrufe erfolgen über gvinum,
- welches nun das Kernelmodul geom_vinum.ko
- (statt vinum.ko) benötigt. Analog
- finden sich alle Gerätedateien nun unter /dev/gvinum statt unter /dev/vinum. Seit &os; 6.x ist die
- alte Vinum-Implementierung nicht mehr im Basissystem enthalten.
-
-
-
-
- Ihre Platten sind zu klein.
-
- Vinum
-
- RAID
- Software
-
-
- Festplatten werden zwar immer größer, parallel
- dazu steigt aber auch die Größe der zu speichernden
- Daten an. Es kann also nach wie vor vorkommen, dass Sie ein
- Dateisystem benötigen, welches die Größe Ihrer
- Platten übersteigt. Zwar ist dieses Problem nicht mehr
- so akut wie noch vor einigen Jahren, aber es existiert nach
- wie vor. Einige Systeme lösen dieses Problem durch die
- Erzeugung eines abstrakten Gerätes, das seine Daten auf
- mehreren Platten speichert.
-
-
-
- Mögliche Engpässe
-
- Moderne Systeme müssen häufig parallel auf
- Daten zugreifen. Große FTP- und HTTP-Server
- können beispielsweise Tausende von parallelen Sitzungen
- verwalten und haben mehrere 100 MBit/s-Verbindungen
- zur Außenwelt. Diese Bandbreite überschreitet
- die durchschnittliche Transferrate der meisten Platten
- bei weitem.
-
- Aktuelle Plattenlaufwerke können Daten mit bis zu
- 70 MB/s sequentiell übertragen, wobei dieser Wert
- in einer Umgebung, in der viele unabhängige Prozesse auf
- eine gemeinsame Platte zugreifen, die jeweils nur einen
- Bruchteil dieses Wertes erreichen, von geringer Aussagekraft
- ist. In solchen Fällen ist es interessanter, das Problem
- vom Blickwinkel des Platten-Subsystems aus zu betrachten.
- Der wichtigste Parameter ist dabei die Last, die eine
- Übertragung auf dem Subsystem verursacht. Unter Last
- versteht man dabei die Zeit, in der die Platte mit der
- Übertragung der Daten beschäftigt ist.
-
- Bei jedem Plattenzugriff muss das Laufwerk zuerst die
- Köpfe positionieren und auf den ersten Sektor warten, bis
- er den Lesekopf passiert. Dann wird die Übertragung
- gestartet. Diese Aktionen können als atomar betrachtet
- werden, da es keinen Sinn macht, diese zu unterbrechen.
-
- Nehmen wir beispielsweise an,
- dass wir 10 kB transferieren wollen. Aktuelle
- hochperformante Platten können die Köpfe im Durchschnitt
- in 3,5 ms positionieren und drehen sich mit maximal
- 15.000 U/min. Daher beträgt die durchschnittliche
- Rotationslatenz (eine halbe Umdrehung) 2 ms.
- Bei einer Transferrate von 70 MB/s dauert die eigentliche
- Übertragung von 10 kB etwa 150 μs, fast
- nichts im Vergleich zur Positionierungszeit. In einem solchen
- Fall beträgt die effektive Transferrate nur etwas mehr
- als 1 MB/s. Die Tranferrate ist also stark von der
- Größe der zu tranferierenden Daten
- abhängig.
-
- Die traditionelle und offensichtliche Lösung zur
- Beseitigung dieses Flaschenhalses sind mehr
- Spindeln. Statt einer einzigen großen Platte werden
- mehrere kleinere Platten mit demselben Gesamtspeicherplatz
- benutzt. Jede Platte ist in der Lage, unabhängig zu
- positionieren und zu transferieren, weshalb der effektive
- Durchsatz um einen Faktor nahe der Zahl der eingesetzten Platten
- steigt.
-
- Obwohl die Platten Daten parallel transferieren können,
- ist es nicht möglich, Anfragen gleichmäßig auf
- die einzelnen Platten zu verteilen. Daher wird die Last auf
- bestimmten Laufwerken immer höher sein als auf anderen
- Laufwerken. Daraus ergibt sich auch, dass die exakte Verbesserung
- des Datendurchsatzes immer kleiner ist als die Anzahl der
- involvierten Platten.
-
-
- Plattenkonkatenation
-
-
- Vinum
- Konkatenation
-
-
- Die gleichmäßige Verteilung der Last auf die einzelnen
- Platten ist stark abhängig von der Art, wie die Daten auf die
- Laufwerke aufgeteilt werden. In den folgenden Ausführungen
- wird eine Platte als eine große Anzahl von Datensektoren
- dargestellt, die durch Zahlen adressierbar sind (ähnlich
- den Seiten eines Buches). Die naheliegendste Methode ist es,
- die virtuelle Platte (wieder analog den Seiten eines Buches)
- in Gruppen aufeinanderfolgender Sektoren zu unterteilen, die
- jeweils der Größe der einzelnen physischen Platten
- entsprechen. Diese Vorgehensweise wird als
- Konkatenation bezeichnet und hat den
- Vorteil, dass die Platten keine spezielle
- Größenbeziehung haben müssen. Sie funktioniert
- gut, solange der Zugriff gleichmäßig auf den
- Adressraum der virtuellen Platte verteilt wird. Wenn sich der
- Zugriff allerdings auf einen kleinen Bereich konzentriert, ist die
- Verbesserung vernachlässigbar klein.
- verdeutlicht die Verteilung der
- Speichereinheiten in einer konkatenierten Anordnung.
-
-
-
- Konkatenierte Anordnung
-
-
-
-
-
- Striping von Platten
-
-
- Vinum
- Striping
-
-
- RAID
-
-
- Ein alternatives Mapping unterteilt den Adressraum in
- kleinere, gleich große Komponenten und speichert diese
- sequentiell auf verschiedenen Geräten. Zum Beispiel werden
- die ersten 256 Sektoren auf der ersten Platte, die nächsten
- 256 Sektoren auf der zweiten Platte gespeichert und so
- weiter. Nachdem die letzte Platte beschrieben wurde, wird dieser
- Vorgang solange wiederholt, bis die Platten voll sind. Dieses
- Mapping nennt man Striping oder
- RAID-0.
-
- RAID steht für Redundant
- Array of Inexpensive Disks und bietet verschiedene
- Formen der Fehlertorleranz, obwohl der letzte Begriff etwas
- irreführend ist, da RAID keine Redundanz bietet.
-
-
- Striping erfordert einen etwas größeren Aufwand,
- um die Daten zu
- lokalisieren, und kann zusätzliche E/A-Last verursachen,
- wenn eine Übertragung über mehrere Platten verteilt
- ist. Auf der anderen Seite erlaubt es aber eine
- gleichmäßigere Verteilung der Last auf die einzelnen
- Platten. veranschaulicht
- die Abfolge, in der Speichereinheiten in einer striped-Anordnung
- alloziert werden.
-
-
-
- Striped-Anordnung
-
-
-
-
-
-
- Datenintegrität
-
- Das dritte Problem, welches aktuelle Platten haben, ist ihre
- Unzuverlässigkeit. Obwohl sich die Zuverlässigkeit
- von Festplatten in den letzten Jahren stark verbessert hat,
- handelt es sich bei ihnen nach wie vor um die Komponente eines
- Servers, die am ehesten ausfällt. Fällt eine
- Festplatte aus, können die Folgen katastrophal sein: Es
- kann Tage dauern, bis eine Platte ersetzt und alle Daten
- wiederhergestellt sind.
-
-
- disk mirroring
-
-
- Vinum
- Spiegelung
-
-
- RAID-1
-
-
- Die traditionelle Art, dieses Problem anzugehen, war es,
- Daten zu spiegeln, also zwei Kopien der
- Daten auf getrennten Platten zu verwahren. Diese Technik wird
- auch als RAID Level 1 oder
- RAID-1 bezeichnet. Jeder Schreibzugriff
- findet auf beiden Datenträgern statt. Ein Lesezugriff
- kann daher von beiden Laufwerken erfolgen, sodass beim Ausfall
- eines Laufwerks die Daten immer noch auf dem anderen
- Laufwerk verfügbar sind.
-
- Spiegeln verursacht allerdings zwei Probleme:
-
-
-
- Es verursacht höhere Kosten, da doppelt so viel
- Plattenspeicher wie bei einer nicht-redundanten
- Lösung benötigt wird.
-
-
-
- Die Gesamtleistung des Systems sinkt, da
- Schreibzugriffe auf beiden Laufwerken ausgeführt
- werden müssen, daher wird im Vergleich zu einem
- nicht gespiegelten Datenträger die doppelte
- Bandbreite benötigt. Lesezugriffe hingegen sind
- davon nicht betroffen, es sieht sogar so aus, als
- würden diese schneller ausgeführt.
-
-
-
- RAID-5
-
- Eine alternative Lösung ist
- Parity, das in den
- RAID-Leveln 2, 3, 4 und 5
- implementiert ist. Von diesen ist RAID-5
- der interessanteste. So wie in VINUM implementiert, ist es
- eine Variante einer gestripten Anordung, welche einen Block
- jedes Stripes als Paritätsblock für einen der anderen
- Blöcke verwendet. Wie in RAID-5
- vorgeschrieben, ist die Position dieses Paritätsblockes
- auf jedem Stripe unterschiedlich. Die Nummern in den
- Datenblöcken geben die relativen Blocknummern an.
-
-
-
- RAID-5 Aufbau
-
-
-
-
- Im Vergleich zur Spiegelung hat RAID-5 den Vorteil, dass
- es signifikant weniger Speicherplatz benötigt.
- Lesezugriffe sind vergleichbar schnell mit jenen bei einem
- Striped-Aufbau, aber Schreibzugriffe sind deutlich langsamer
- (etwa 25% der Lesegeschwindigkeit). Wenn eine Platte
- ausfällt, kann das Array in einem "schwachen" Modus
- weiterarbeiten: Ein Lesezugriff auf eine der übrigen
- erreichbaren Platten wird normal ausgeführt, ein
- Lesezugriff auf die ausgefallene Platte muss aber
- zunächst mit dem zugehörigen Block aller
- verbleibender Platten rückberechnet werden.
-
-
-
- Vinum-Objekte
- Um die in den vorigen Abschnitte besprochenen Probleme zu
- lösen, verwendet Vinum eine vierstufige
- Objekthierarchie:
-
-
-
- Das auffälligste Objekt ist die virtuelle Platte,
- die Volume genannt wird. Volumes
- haben im Wesentlichen die gleichen Eigenschaften wie ein
- &unix;-Laufwerk, obwohl es ein paar kleine Unterschiede
- gibt. So existieren für Volumes beispielsweise keine
- Größenbeschränkungen.
-
-
-
- Volumes bestehen aus einem oder mehreren
- Plexus,
- von denen jeder den gesamten Adressraum eines
- Datenträgers repräsentiert. Diese Hierarchieebene
- ist für die benötigte Redundanz der Daten
- erforderlich. Stellen Sie sich die Plexus als
- eigenständige Platten in einem gespiegelten
- Array vor, von denen jede die gleichen Daten
- enthält.
-
-
-
- Da Vinum im &unix;-Plattenspeicher-Framework arbeitet,
- wäre es möglich, als Grundbaustein für
- Multiplatten-Plexus &unix;-Partitionen zu verwenden. In
- der Praxis ist dieser Ansatz aber zu unflexibel, da
- &unix;-Platten nur eine begrenzte Anzahl von Partitionen
- haben können. Daher unterteilt Vinum stattdessen
- eine einzige &unix;-Partition (die
- Platte) in zusammenhängende
- Bereiche, die als Subdisks bezeichnet
- werden und als Grundbausteine für einen Plexus
- benutzt werden.
-
-
-
- Subdisks befinden sich auf
- Vinum-Platten, eigentlich
- &unix;-Partitionen. Vinum-Platten können eine
- beliebige Anzahl von Subdisks haben und den gesamten
- Speicher der Platte mit Ausnahme eines kleinen Bereiches
- am Anfang der Platte (welcher zur Speicherung von
- Konfigurations- und Statusinformationen verwenden wird)
- verwenden.
-
-
-
- Der folgende Abschnitt beschreibt, wie diese Objekte
- die von Vinum benötigten Funktionen zur
- Verfügung stellen.
-
-
- Überlegungungen zur Größe eines Volumes
-
- Plexus können mehrere Subdisks beinhalten, die
- über alle Platten der Vinum-Konfiguration verteilt sind.
- Daraus folgt, dass die Größe einer Platte nicht die
- Größe eines Plexus (und damit eines Volumes)
- limitiert.
-
-
-
- Redundante Datenspeicherung
-
- Vinum implementiert die Datenspiegelung, indem es ein
- Volume auf mehrere Plexus verteilt. Jeder Plexus ist
- dabei die Repräsentation der Daten eines Volumes.
- Ein Volume kann aus bis zu acht Plexus bestehen.
-
- Obwohl ein Plexus die gesamten Daten eines Volumes
- repräsentiert, ist es möglich, dass Teile der
- Repräsentation physisch fehlen, entweder aufgrund des
- Designs (etwa durch nicht definierte Subdisks für Teile
- des Plexus) oder durch Zufall (als ein Ergebnis eines
- Plattenfehlers). Solange wenigstens ein Plexus die gesamten
- Daten für den kompletten Adressbereich des Volumes zur
- Verfügung stellen kann, ist das Volume voll
- funktionsfähig.
-
-
-
- Überlegungen zur Leistung
-
- Sowohl Konkatenation als auch Striping werden von Vinum
- auf der Plexus-Ebene realisiert:
-
-
-
- Ein konkatenierter Plexus benutzt
- abwechselnd den Adressraum jeder Subdisk.
-
-
-
- Ein gestripter Plexus striped die
- Daten über jede Subdisk. Die Subdisks müssen alle
- die gleiche Größe haben, und es muss mindestens
- zwei Subdisks in Reihenfolge geben, um ihn von einem
- konkatenierten Plexus unterscheiden zu können.
-
-
-
-
-
- Wie ist ein Plexus aufgebaut?
-
- Die Version von Vinum, welche von &os;-&rel.current;
- bereitgestellt wird, implementiert zwei Arten von Plexus:
-
-
-
- Konkatenierte Plexus sind die flexibelsten: Sie
- können aus einer beliebigen Anzahl von Subdisks
- unterschiedlicher Größe bestehen. Der Plexus
- kann erweitert werden, indem man zusätzliche Subdisks
- hinzufügt. Sie brauchen weniger
- CPU-Zeit als gestripte Plexus, obwohl
- der Unterschied des CPU-Overheads nicht
- messbar ist. Auf der anderen Seite sind sie aber sehr
- anfällig für das Entstehen von "hot spots", wobei
- eine Platte sehr aktiv ist, andere hingegen nahezu ungenutzt
- sind.
-
-
-
- Der größte Vorteil eines gestripten
- Plexus (RAID-0) ist die Verringerung von
- "hot spots". Dies wird durch die Auswahl eines Stripes
- optimaler Größe (etwa 256 kB) erreicht,
- wodurch die Last gleichmäßig auf die Platten
- verteilt werden kann. Nachteile dieser Vorgehensweise sind
- ein (geringfügig) komplexerer Code sowie einige
- Restriktionen für die Subdisks: Diese müssen alle
- die gleiche Größe haben, und das Erweitern eines
- Plexus durch das Hinzufügen neuer Subdisks ist so
- kompliziert, dass es von Vinum derzeit nicht
- unterstützt wird. Vinum fordert noch eine weitere
- triviale Beschränkung: Ein gestripter Plexus muss
- aus mindestens zwei Subdisks bestehen, da er ansonsten nicht
- von einem konkatenierten Plexus unterscheidbar ist.
-
-
-
- fasst die Vor- und
- Nachteile jedes Plexus-Aufbaus zusammen.
-
-
- Vinum-Plexus - Aufbau
-
-
-
-
- Plexus-Typ
- Minimum an Subdisks?
- Kann Subdisks hinzufügen?
- Müssen die gleiche Größe
- haben
- Applikation
-
-
-
-
-
- konkateniert
- 1
- ja
- nein
- Großer Datenspeicher mit maximaler
- Platzierungsflexibilität und moderater
- Leistung
-
-
-
- gestriped
- 2
- nein
- ja
- Hohe Leistung in Kombination mit
- gleichzeitigem Zugriff
-
-
-
-
-
-
-
-
- Einige Beispiele
-
- Vinum verwaltet eine
- Konfigurationsdatenbank für alle
- einem individuellen System bekannten Objekte. Zu Beginn
- erzeugt ein Benutzer mit &man.gvinum.8;
- eine Konfigurationsdatenbank aus einer oder mehreren
- Konfigurationsdateien. Vinum speichert danach eine Kopie der
- Konfigurationsdatenbank in jedem von ihm kontrollierten
- Slice (von Vinum als Device
- bezeichnet). Da die Datenbank bei jedem Statuswechsel
- aktualisiert wird, kann nach einem Neustart der Status
- jedes Vinum-Objekts exakt wiederhergestellt werden.
-
-
- Die Konfigurationsdatei
-
- Die Konfigurationsdatei beschreibt individuelle
- Vinum-Objekte. Die Beschreibung eines einfachen Volumes
- könnte beispielsweise so aussehen:
-
-
- drive a device /dev/da3h
- volume myvol
- plex org concat
- sd length 512m drive a
-
- Diese Datei beschreibt vier Vinum-Objekte:
-
-
-
- Die drive-Zeile beschreibt eine
- Plattenpartition (drive) sowie ihre
- Position in Bezug auf die darunter liegende Hardware.
- Die Partition hat dabei den symbolischen Namen
- a. Diese Trennung von symbolischen
- Namen und Gerätenamen erlaubt es, die Position von
- Platten zu ändern, ohne dass es zu Problemen
- kommt.
-
-
-
- Die volume-Zeile beschreibt ein
- Volume. Dafür wird nur ein einziges Attribut, der
- Name des Volumes, benötigt. In unserem Fall hat das
- Volume den Namen myvol.
-
-
-
- Die plex-Zeile definiert einen
- Plexus. Auch hier wird nur ein Parameter, und zwar die
- Art des Aufbau, benötigt (in unserem Fall
- concat). Es wird kein Name
- benötigt, das System generiert automatisch einen
- Namen aus dem Volume-Namen und dem Suffix
- .px wobei
- x die Nummer des Plexus innerhalb
- des Volumes angibt. So wird dieser Plexus den Namen
- myvol.p0 erhalten.
-
-
-
- Die sd-Zeile beschreibt eine
- Subdisk. Um eine Subdisk einzurichten, müssen Sie
- zumindest den Namen der Platte, auf der Sie die
- Subdisk anlegen wollen, sowie die Größe der
- Subdisk angeben. Analog zur Definition eines Plexus wird
- auch hier kein Name benötigt: Das System weist
- automatisch Namen zu, die aus dem Namen des Plexus und
- dem Suffix .sx
- gebildet werden, wobei x die Nummer
- der Subdisk innerhalb des Plexus ist. Folglich gibt
- Vinum dieser Subdisk den Namen
- myvol.p0.s0.
-
-
-
- Nach dem Verarbeiten dieser Datei erzeugt &man.gvinum.8;
- die folgende Ausgabe:
-
-
- &prompt.root; gvinum -> create config1
- Configuration summary
- Drives: 1 (4 configured)
- Volumes: 1 (4 configured)
- Plexes: 1 (8 configured)
- Subdisks: 1 (16 configured)
-
- D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)
-
- V myvol State: up Plexes: 1 Size: 512 MB
-
- P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
-
- S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
-
- Diese Ausgabe entspricht dem verkürzten
- Ausgabeformat von &man.gvinum.8; und wird in
- grafisch dargestellt.
-
-
-
- Ein einfaches Vinum-Volume
-
-
-
-
- Dieses und die folgenden Beispiele zeigen jeweils ein
- Volume, welches die Plexus enthält, die wiederum die
- Subdisk enthalten. In diesem trivialen Beispiel enthält
- das Volume nur einen Plexus, der wiederum nur aus einer
- Subdisk besteht.
-
- Eine solche Konfiguration hätte allerdings keinen
- Vorteil gegenüber einer konventionellen Plattenpartion.
- Das Volume enthält nur einen einzigen Plexus, daher
- gibt es keine redundante Datenspeicherung. Da der Plexus
- außerdem nur eine einzige Subdisk enthält,
- unterscheidet sich auch die Speicherzuweisung nicht von der
- einer konventionellen Plattenpartition. Die folgenden
- Abschnitte beschreiben daher verschiedene interessantere
- Konfigurationen.
-
-
-
- Verbesserte Ausfallsicherheit durch Spiegelung
-
- Die Ausfallsicherheit eines Volumes kann durch
- Spiegelung der Daten erhöht werden. Beim Anlegen eines
- gespiegelten Volumes ist es wichtig, die Subdisks jedes
- Plexus auf verschiedene Platten zu verteilen, damit ein
- Plattenausfall nicht beide Plexus unbrauchbar macht. Die
- folgende Konfiguration spiegelt ein Volume:
-
-
- drive b device /dev/da4h
- volume mirror
- plex org concat
- sd length 512m drive a
- plex org concat
- sd length 512m drive b
-
- Bei diesem Beispiel war es nicht nötig, noch einmal
- eine Platte a zu spezifizieren, da
- Vinum die Übersicht über alle Objekte und seine
- Konfigurationsdatenbank behält. Nach dem Abarbeiten
- dieser Definition sieht die Konfiguration wie folgt aus:
-
-
- Drives: 2 (4 configured)
- Volumes: 2 (4 configured)
- Plexes: 3 (8 configured)
- Subdisks: 3 (16 configured)
-
- D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)
- D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)
-
- V myvol State: up Plexes: 1 Size: 512 MB
- V mirror State: up Plexes: 2 Size: 512 MB
-
- P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
- P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
- P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
-
- S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
- S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
- S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB
-
- stellt diese Struktur
- grafisch dar.
-
-
-
- Ein gespiegeltes Vinum Volume
-
-
-
-
- In diesem Beispiel enthält jeder Plexus die vollen
- 512 MB des Adressraumes. Wie im vorangegangenen Beispiel
- enthält jeder Plexus nur eine Subdisk.
-
-
-
- Die Leistung optimieren
-
- Das gespiegelte Volume des letzten Beispieles ist
- resistenter gegenüber Fehlern als ein ungespiegeltes
- Volume, seine Leistung ist hingegen schlechter, da jeder
- Schreibzugriff auf das Volume einen Schreibzugriff auf beide
- Platten erfordert und damit mehr der insgesamt verfügbaren
- Datentransferrate benötigt. Steht also die optimale
- Leistung im Vordergrund, muss anders vorgegangen werden:
- Statt alle Daten zu spiegeln, werden die Daten über
- so viele Platten wie möglich gestriped. Die folgende
- Konfiguration zeigt ein Volume
- mit einem über vier Platten hinwegreichenden Plexus:
-
-
- drive c device /dev/da5h
- drive d device /dev/da6h
- volume stripe
- plex org striped 512k
- sd length 128m drive a
- sd length 128m drive b
- sd length 128m drive c
- sd length 128m drive d
-
- Wie zuvor ist es nicht nötig, die Platten zu
- definieren, die Vinum schon bekannt sind. Nach dem Abarbeiten
- dieser Definition sieht die Konfiguration wie folgt aus:
-
-
- Drives: 4 (4 configured)
- Volumes: 3 (4 configured)
- Plexes: 4 (8 configured)
- Subdisks: 7 (16 configured)
-
- D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%)
- D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%)
- D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)
- D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)
-
- V myvol State: up Plexes: 1 Size: 512 MB
- V mirror State: up Plexes: 2 Size: 512 MB
- V striped State: up Plexes: 1 Size: 512 MB
-
- P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
- P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
- P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
- P striped.p1 State: up Subdisks: 1 Size: 512 MB
-
- S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
- S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
- S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB
- S striped.p0.s0 State: up PO: 0 B Size: 128 MB
- S striped.p0.s1 State: up PO: 512 kB Size: 128 MB
- S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB
- S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB
-
-
-
- Ein Striped Vinum Volume
-
-
-
-
- Dieses Volume wird in
- dargestellt. Die Schattierung der Stripes zeigt die Position
- innerhalb des Plexus-Adressraumes an. Die hellsten Stripes
- kommen zuerst, die dunkelsten zuletzt.
-
-
-
- Ausfallsicherheit und Leistung
-
- Mit entsprechender Hardware
- ist es möglich, Volumes zu bauen, welche gegenüber
- Standard-&unix;-Partitionen beides, nämlich erhöhte
- Ausfallsicherheit und erhöhte Leistung, aufweisen
- können. Eine typische Konfigurationsdatei könnte
- etwa so aussehen:
-
-
- volume raid10
- plex org striped 512k
- sd length 102480k drive a
- sd length 102480k drive b
- sd length 102480k drive c
- sd length 102480k drive d
- sd length 102480k drive e
- plex org striped 512k
- sd length 102480k drive c
- sd length 102480k drive d
- sd length 102480k drive e
- sd length 102480k drive a
- sd length 102480k drive b
-
- Die Subdisks des zweiten Plexus sind gegenüber denen
- des ersten Plexus um zwei Platten verschoben. Dadurch wird
- sichergestellt, dass Schreibzugriffe nicht auf den gleichen
- Subdisks auftreten, auch wenn eine Übertragung über
- zwei Platten geht.
-
- veranschaulicht die
- Struktur dieses Volumes.
-
-
-
- Ein gespiegeltes, Striped Vinum Volume
-
-
-
-
-
-
-
- Objektbenennung
-
- Wie oben beschrieben, weist Vinum den Plexus und
- Subdisks Standardnamen zu, wenngleich diese überschrieben
- werden können. Das Überschreiben dieser Standardnamen
- wird allerdings nicht empfohlen. Erfahrungen mit dem VERITAS
- Volume Manager (der eine willkürliche Benennung von
- Objekten erlaubt) haben gezeigt, dass diese Flexibilität
- keinen entscheidenden Vorteil bringt und zudem Verwirrung
- stiften kann.
-
- Namen dürfen zwar alle nichtleeren Zeichen enthalten,
- es ist aber sinnvoll, nur Buchstaben, Ziffern und den
- Unterstrich zu verwenden. Die Namen von Volumes, Plexus und
- Subdisks können bis zu 64 Zeichen lang sein, die Namen
- von Platten dürfen hingegen nur bis zu 32 Zeichen lang
- sein.
-
- Vinum-Objekten werden Gerätedateien in der /dev/gvinum-Hierarchie zugewiesen. Die
- weiter oben dargestellte Konfiguration würde Vinum dazu
- veranlassen, die folgenden Gerätedateien zu erstellen:
-
-
-
- Geräte-Einträge für jedes Volume.
- Dieses sind die Hauptgeräte, die von Vinum benutzt
- werden. Somit würde die Konfiguration von oben
- folgende Geräte beinhalten:
- /dev/gvinum/myvol,
- /dev/gvinum/mirror,
- /dev/gvinum/striped,
- /dev/gvinum/raid5 sowie
- /dev/gvinum/raid10.
-
-
-
- Alle Volumes bekommen direkte Einträge unter /dev/gvinum/.
-
-
-
- Die Verzeichnisse /dev/gvinum/plex und /dev/gvinum/sd, die Gerätedateien
- für jeden Plexus sowie jede Subdisk enthalten.
-
-
-
- Stellen Sie sich folgende Konfigurationsdatei vor:
-
-
- drive drive1 device /dev/sd1h
- drive drive2 device /dev/sd2h
- drive drive3 device /dev/sd3h
- drive drive4 device /dev/sd4h
- volume s64 setupstate
- plex org striped 64k
- sd length 100m drive drive1
- sd length 100m drive drive2
- sd length 100m drive drive3
- sd length 100m drive drive4
-
- Nach Abarbeitung dieser Datei erstellt &man.gvinum.8; die
- folgende Struktur unter /dev/gvinum:
-
-
- drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex
- crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64
- drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd
-
- /dev/vinum/plex:
- total 0
- crwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0
-
- /dev/vinum/sd:
- total 0
- crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0
- crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1
- crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2
- crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3
-
- Es wird empfohlen, für Plexus und Subdisks keine
- eigenen Namen zu vergeben. Dies gilt aber nicht für
- Vinum-Platten. Durch die Benennung von Vinum-Platten
- wird es erst möglich, eine Platte an einen anderen Ort zu
- verschieben und sie trotzdem noch automatisch erkennen zu lassen.
- Plattennamen können bis zu 32 Zeichen lang sein.
-
-
- Dateisysteme erstellen
-
- Volumes erscheinen (mit einer Ausnahme) dem System nicht
- anders als Platten. Anders als &unix;-Platten partitioniert
- Vinum seine Volumes nicht, weshalb diese auch keine
- Partitionstabellen haben. Dies wiederum hat Modifikationen an
- einigen Platten-Tools, insbesondere &man.newfs.8;, nötig
- gemacht, welche bis dahin den letzten Buchstaben eines
- Vinum-Volume-Namen als Partitionsbezeichner identifiziert haben.
- Zum Beispiel könnte eine Platte einen Namen wie
- /dev/ad0a oder
- /dev/da2h haben. Diese Namen
- bedeuten, dass es sich um die erste Partition
- (a) der ersten (0) IDE-Platte
- (ad) und respektive die achte
- Partition (h) der dritten (2)
- SCSI-Platte (da) handelt. Im Vergleich
- dazu könnte ein Vinum-Volume beispielsweise /dev/gvinum/concat heißen, ein Name,
- der in keiner Beziehung mit einem Partitionsnamen steht.
-
- Um nun ein Dateisystem auf diesem Volume anzulegen, benutzen
- Sie &man.newfs.8;:
-
- &prompt.root; newfs /dev/gvinum/concat
-
-
-
-
- Vinum konfigurieren
-
- Der GENERIC-Kernel enthät kein
- Vinum. Es ist zwar möglich, einen speziellen Kernel zu
- bauen, der Vinum beinhaltet, empfohlen wird aber, Vinum als
- ein Kernelmodul (über kld) zu laden.
- Dazu müssen Sie nicht einmal &man.kldload.8; benutzen,
- da beim Start von &man.gvinum.8; automatisch überprüft
- wird, ob das Modul bereits geladen wurde. Falls das Modul noch
- nicht geladen wurde, wird es daraufhin geladen.
-
-
- Inbetriebnahme
-
- Vinum speichert seine Konfigurationsinformationen auf den
- Platten-Slices im Wesentlichen genauso ab wie in den
- Konfigurationsdateien. Beim Lesen der Konfigurationsdatenbank
- erkennt Vinum eine Anzahl von Schlüsselwörtern, die
- in den Konfigurationsdateien nicht erlaubt sind. Zum Beispiel
- könnte eine Platten-Konfiguration den folgenden Text
- enthalten:
-
- volume myvol state up
-volume bigraid state down
-plex name myvol.p0 state up org concat vol myvol
-plex name myvol.p1 state up org concat vol myvol
-plex name myvol.p2 state init org striped 512b vol myvol
-plex name bigraid.p0 state initializing org raid5 512b vol bigraid
-sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b
-sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b
-sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b
-sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b
-sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b
-sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b
-sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b
-sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b
-sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b
-sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b
-sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
-sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
-sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b
-
- Die offensichtlichen Unterschiede sind hier die Anwesenheit
- von Informationen über explizite Speicherorte und
- Benennungen (beides ist zwar erlaubt, aber es wird dem Benutzer
- davon abgeraten, es zu benutzen) und Informationen über die
- Zustände (welche für den Benutzer nicht zur
- Verfügung stehen). Vinum speichert keine Informationen
- über Platten in den Konfigurationsinformationen, es findet
- die Platten durch Scannen nach Vinum-Markierungen auf den
- eingerichteten Laufwerken. Dies ermöglicht es,
- Vinum-Platten auch dann noch korrekt zu identifizieren, wenn
- sie schon andere &unix;-Platten-IDs zugewiesen bekommen
- haben.
-
-
- Automatische Inbetriebnahme
-
-
- Gvinum
- unterstützt eine automatische Inbetriebnahme immer,
- wenn das Kernelmodul über &man.loader.conf.5; geladen ist.
- Um das Gvinum Modul beim Hochfahren des
- Systems zu laden, fügen Sie die Zeile
- geom_vinum_load="YES" in
- /boot/loader.conf ein.
-
-
- Beim starten von Vinum durch den Befehl vinum
- start liest Vinum die Konfigurationsdatenbank von
- einer der Vinum-Platten. Unter normalen Umständen
- enthält jede Platte eine identische Kopie der
- Konfigurationsdatenbank, so dass es keine Rolle spielt, von
- welcher der Platten diese eingelesen wird. Nach einem
- Plattencrash muss Vinum allerdings zunächst feststellen,
- welche der Platten zuletzt aktualisiert wurde und dann die
- Konfiguration von dieser Platte lesen. Danach werden (falls
- nötig) die Konfigurationen der "alten" Platten
- aktualisiert.
-
-
-
-
-
- Vinum für das Root-Dateisystem benutzen
-
- Auf einem System, das mit Hilfe von Vinum
- vollgespiegelte Dateisysteme hat, ist es wünschenswert, auch
- das Root-Dateisystem zu spiegeln. Solch eine Konfiguration ist
- allerdings weniger trivial als das Spiegeln eines
- gewöhnlichen Dateisystems, weil:
-
-
-
- Das Root-Dateisystem in einer sehr frühen Phase
- des Bootvorgangs verfügbar sein muss, und damit auch
- die Vinum-Infrastruktur.
-
-
-
- Das Volume, welches das Root-Dateisystem enthält,
- auch den Bootstrap und den Kernel enthält, die
- wiederum nur mit den systemeigenen Tools (zum Beispiel
- dem BIOS bei handelsüblichen PCs) gelesen werden
- können und meist nicht dazu gebracht werden können,
- Vinum zu verstehen.
-
-
-
- Im folgenden Abschnitt wird der Begriff
- Root-Volume benutzt, um das Vinum-Volume zu
- beschreiben, welches das Root-Dateisystem enthält. Es ist
- eine gute Idee, für dieses Volume den Namen
- "root" zu benutzen, aber es ist in keiner
- Weise technisch nötig (Das folgende Beispiel geht allerdings
- davon aus, dass dies der Fall ist.).
-
-
- Vinum für das Root-Dateisystem rechtzeitig
- starten
-
- Damit dies gelingt, müssen Sie folgende Aufgaben
- erledigen:
-
-
-
- Vinum muss zum Zeitpunkt des Bootvorganges im
- Kernel zur Verfügung stehen. Deswegen ist die
- Methode zum Start von Vinum, die in
- beschrieben wird,
- für diese Aufgabe nicht geeignet. Also muss
- auch der start_vinum-Parameter
- eigentlich nicht gesetzt werden,
- wenn man das folgende Setup einrichtet. Die erste
- Möglichkeit wäre es, Vinum statisch in den
- Kernel zu kompilieren, so dass es ständig
- verfügbar ist, was aber in der Regel nicht
- erwünscht ist. Ebenso gibt es die Möglichkeit
- /boot/loader
- () das Vinum-Kernelmodul
- früh genug laden zu lassen (und zwar noch bevor
- der Kernel gestartet wird). Dies kann bewerkstelligt
- werden, indem die Zeile
-
- geom_vinum_load="YES"
-
- in die Datei /boot/loader.conf
- eingetragen wird.
-
-
-
- Für Gvinum ist das oben
- beschriebene Prozedere alles, was Sie tun müssen,
- da der gesamte Startvorgang automatisch erledigt wird,
- sobald das Kernelmodul geladen wurde.
-
-
-
-
-
- Ein Vinum-basiertes Root-Volume dem Bootstrap
- verfügbar machen
-
- Da der aktuelle &os;-Bootstrap nur 7,5 KB Code
- enthält und schon ohne Vinum die Aufgabe hat,
- bestimmte Dateien (wie /boot/loader)
- von einem UFS-Dateisystem zu lesen, ist es schier
- unmöglich, ihm auch noch die Interna von Vinum
- beizubringen, damit er die Vinum-Konfigurationsdaten
- auslesen und die Elemente eines Boot-Volumes selbst
- herausfinden könnte. Daher sind ein paar Tricks
- nötig, um dem Bootstrap-Code die Illusion
- einer Standard-"a"-Partition mit
- einem Root-Dateisystem vorzugaukeln.
-
- Damit dies überhaupt möglich wird,
- müssen die folgenden Bedingungen für das
- Root-Dateisystem erfüllt sein:
-
-
-
- Das Root-Volume darf weder gestriped noch
- RAID-5 sein.
-
-
-
- Das Root-Volume darf nicht mehr als eine konkatenierte
- Subdisk pro Plexus enthalten.
-
-
-
- Beachten Sie, dass es möglich und
- wünschenswert ist, mehrere Plexus zu haben, von denen
- jeder eine Kopie des Root-Dateisystems enthält. Der
- Bootstrap-Prozess wird hingegen nur einen dieser Plexus
- benutzen, um den Bootstrap und alle Dateien zu finden, bis der
- Kernel letztendlich das Root-Dateisystem selbst laden wird.
- Jede einzelne Subdisk innerhalb dieser Plexus wird dann ihre
- eigene Illusion der Partition "a" brauchen,
- damit das entsprechende Gerät bootbar wird. Es ist nicht
- unbedingt notwendig, dass sich jede dieser gefälschten
- "a"-Partitionen auf seinem Gerät an
- einem Ort befindet, der um den selben Wert verschoben ist wie
- auf den anderen Geräten, die Plexus des Root-Dateisystems
- enthalten. Um Unklarheiten zu verhindern, ist es jedoch eine
- gute Idee, die Vinum-Volumes so zu erstellen, dass die
- gespiegelten Geräte symmetrisch sind.
-
- Damit diese "a"-Partitionen eingerichtet
- werden können, muss für alle Geräte, die Teil des
- Root-Dateisystems sind, folgendes getan werden:
-
-
-
- Der Ort (Verschiebung vom Beginn des Gerätes) und
- die Größe der Subdisk, die Teil des Root-Volumes
- ist, muss untersucht werden:
-
- &prompt.root; gvinum l -rv root
-
- Beachten Sie, dass Vinum-Verschiebungen und
- -Größen in Bytes gemessen werden. Sie müssen
- deshalb durch 512 geteilt werden, um die Blockanzahl zu
- erhalten, wie sie das bsdlabel-Kommando
- verwendet.
-
-
-
- Führen Sie den Befehl
-
- &prompt.root; bsdlabel -e devname
-
- für jedes Gerät, dass am Root-Volume beteiligt
- ist, aus. devname muss entweder
- der Name der Platte (wie da0), im
- Falle einer Platte ohne Slice-Tabelle oder der Name des
- Slices (wie ad0s1) sein.
-
- Wenn es schon eine "a"-Partition auf
- dem Gerät (in der Regel wahrscheinlich ein
- Prä-Vinum-Root-Dateisystem) gibt, sollte diese
- umbenannt werden, damit sie weiterhin verfügbar bleibt
- (nur für den Fall). Sie wird aber nicht länger
- benutzt, um das System zu starten. Beachten Sie aber, dass
- aktive Partitionen (wie ein gemountetes Root-Dateisystem)
- nicht umbenannt werden können, sodass Sie entweder von
- einem Fixit-Medium booten müssen, oder
- aber mittels eines zweistufigen Prozesses (sofern Sie in einer
- gespiegelten Umgebung arbeiten) zuerst die Platte
- ändern, von der gerade nicht gebootet wurde.
-
- Nun muss die Verschiebung der Vinum-Partition (sofern
- vorhanden) auf diesem Gerät mit der Veschiebung der
- entsprechenden Root-Volume-Subdisk addiert werden. Das
- Resultat wird der "offset"-Wert für
- die neue "a"-Partition. Der
- "size"-Wert für diese Partition
- kann entsprechend der Berechnung ermittelt werden.
- "fstype" sollte 4.2BSD
- sein. Die "fsize"-,
- "bsize"-, und
- "cpg"- Werte sollten entsprechend dem
- eigentlichen Dateisystem gewählt werden, obwohl sie in
- diesem Kontext ziemlich unwichtig sind.
-
- Auf diese Art und Weise wird eine neue Partition
- "a" etabliert, die die Vinum-Partition
- auf diesem Gerät überschneidet. Beachte Sie, dass
- das bsdlabel-Kommando diese
- Überschneidung nur erlaubt, wenn die Partition richtig
- mit dem "vinum"-fstype markiert ist.
-
-
-
- Das ist alles. Auf jedem Gerät befindet sich nun
- eine gefälschte "a"-Partition, die
- eine Kopie des Root-Volumes enthält. Es wird dringend
- empfohlen, das Resultat dieser Konfiguration zu
- überprüfen:
-
- &prompt.root; fsck -n /dev/devnamea
-
-
-
- Denken Sie stets daran, dass alle Dateien, die
- Kontrollinformationen enthalten, nun relativ zum
- Root-Dateisystem innerhalb des Vinum-Volumes sein müssen.
- Denn ein neu eingerichtetes Vinum-Root-Dateisystem ist
- möglicherweise inkompatibel zum gerade aktiven
- Root-Dateisystem. Deshalb müssen insbesondere die
- Dateien /etc/fstab und
- /boot/loader.conf überprüft
- werden.
-
- Beim nächsten Systemstart sollte der Bootstrap die
- adäquaten Kontrollinformationen des neuen
- Vinum-basierten Root-Dateisystems automatisch herausfinden und
- entsprechend handeln. Am Ende des
- Kernel-Initialisierungsprozesses (nachdem alle Geräte
- angezeigt wurden) erhalten Sie bei einer erfolgreichen
- Konfiguration eine Nachricht ähnlich der folgenden:
-
- Mounting root from ufs:/dev/gvinum/root
-
-
-
- Beispiel eines Vinum-basierten Root-Setups
-
- Nachdem das Vinum-Root-Volume eingerichtet wurde,
- könnte die Ausgabe von gvinum l -rv root
- bespielsweise so aussehen:
-
-
-...
-Subdisk root.p0.s0:
- Size: 125829120 bytes (120 MB)
- State: up
- Plex root.p0 at offset 0 (0 B)
- Drive disk0 (/dev/da0h) at offset 135680 (132 kB)
-
-Subdisk root.p1.s0:
- Size: 125829120 bytes (120 MB)
- State: up
- Plex root.p1 at offset 0 (0 B)
- Drive disk1 (/dev/da1h) at offset 135680 (132 kB)
-
-
- Wichtig ist hier insbesondere ist der Wert
- 135680 für die Verschiebung (relativ zur
- Partition /dev/da0h). Das entspricht
- beim Einsatz von bsdlabel 265
- 512-Byte-Plattenblöcken. Dieses Root-Volume ist ebenso
- 245760 512-Byte-Blöcke groß.
- /dev/da1h enthält die
- zweite Kopie dieses Root-Volumes und ist symmetrisch aufgebaut.
-
- Das Bsdlabel für diese Geräte könnte
- so aussehen:
-
-
-...
-8 partitions:
-# size offset fstype [fsize bsize bps/cpg]
- a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*)
- c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*)
- h: 71771672 16 vinum # (Cyl. 0*- 4467*)
-
-
- Wie man leicht feststellen kann, entspricht der Parameter
- "size" der gefälschten
- "a"-Partition dem ausgewiesenen Wert von
- oben, während der Parameter
- "offset" gleich der Summe der Verschiebung
- innerhalb der Vinum-Partition "h" und der
- Verschiebung innerhalb des Geräts (oder Slice) ist. Dies
- ist ein typischer Aufbau, der nötig ist, um die in
- beschriebenen Probleme zu
- vermeiden. Die gesamte Partition "a" befindet
- sich in "h", die alle Vinum-Daten für
- dieses Gerät enthält.
-
- Beachten Sie, dass in dem oben beschriebenen Beispiel das
- gesamte Gerät Vinum gewidmet ist und keine
- Prä-Vinum-Partition zurückgelassen wurde, da es sich
- im Beispiel um eine neu eingerichtete Platte handelt, die nur
- für die Vinum-Konfiguration bestimmt war.
-
-
-
- Fehlerbehebung
-
- Der folgende Abschnitt beschreibt einige bekannte
- Probleme und Fallstricke bei der Vinum-Konfiguration sowie
- deren Behebung.
-
-
- Der System-Bootstrap lädt zwar, das System startet
- aber nicht.
-
- Wenn aus irgendeinem Grund das System nicht mit dem Booten
- fortfährt, kann man den Bootstrap während der
- 10-Sekunden-Warnung durch Drücken der
- Leertaste unterbrechen. Die
- loader-Variablen (wie
- vinum.autostart) können mittels des
- show-Kommandos untersucht, und mit
- set oder unset
- geändert werden.
-
- Wenn das einzige Problem das Fehlen des
- Vinum-Kernelmoduls in der Liste der automatisch zu ladenden
- Module ist, hilft ein einfaches
- load geom_vinum.
-
- Danach können Sie den Bootvorgang mit
- boot -as fortsetzen. Die Optionen
- fordern den Kernel auf, nach dem zu
- mountenden Root-Dateisystem zu fragen (),
- und den Bootvorgang im Single-User-Modus
- () zu beenden, in dem das
- Root-Dateisystem schon schreibgeschützt gemountet ist.
- Auf diese Weise wird keine Dateninkonsistenz zwischen den
- Plexus riskiert, auch wenn nur ein Plexus eines
- Multi-Plexus-Volumes gemountet wurde.
-
- Beim Prompt, das nach einem Root-Dateisystem fragt,
- kann jedes Gerät angegeben werden, dass ein
- gültiges Root-Dateisystem hat. Wenn
- /etc/fstab richtig konfiguriert
- wurde, sollte die Vorgabe etwas wie
- ufs:/dev/gvinum/root sein. Eine typische
- Alternative würde etwas wie
- ufs:da0d sein, welches eine
- hypothetische Partition sein könnte, die ein
- Pre-Vinum-Root-Dateisystem enthält. Vorsicht sollte
- walten, wenn eine der alias
- "a"-Partitionen hier eingegeben wird, die
- eigentlich Referenzen auf die Subdisks des
- Vinum-Root-Dateisystems sind, da so nur ein Stück eines
- gespiegelten Root-Gerätes gemountet werden würde.
- Wenn das Dateisystem später zum Lesen und Schreiben
- gemountet werden soll, ist es nötig, die anderen Plexus
- des Vinum-Root-Volumes zu entfernen, weil diese Plexus
- andernfalls inkonsistente Daten enthalten würden.
-
-
-
- Nur der primäre Bootstrap lädt
-
- Wenn das Laden von /boot/loader
- fehlschlägt, aber der primäre Bootstrap dennoch
- lädt (sichtbar an dem einzelnen Strich in der linken
- Spalte des Bildschirms gleich nachdem der Bootprozess
- startet), kann man versuchen, den primären Bootstrap
- an diesem Punkt durch Benutzen der
- Leertaste zu unterbrechen. Dies wird
- den Bootstrap in der zweiten Phase stoppen (siehe dazu auch
- ). Hier kann nun der Versuch
- unternommen werden, von einer anderen Partition zu booten,
- wie beispielsweise dem vorhergehenden Root-Dateisystem,
- das von "a" verschoben wurde.
-
-
-
- Nichts bootet, der Bootstrap hängt sich auf
-
- Diese Situation wird vorkommen, wenn der Bootstrap durch
- die Vinum-Installation zerstört worden ist.
- Unglücklicherweise lässt Vinum am Anfang seiner
- Partition nur 4 KB frei und schreibt dahinter seine
- Kopfinformationen. Allerdings benötigen Stufe-Eins-
- und -Zwei-Bootstraps plus dem dazwischen eingebetteten
- bsdlabel momentan 8 KB.
- Demzufolge wird die Vinum-Installation, wenn die
- Vinum-Partition mit der Verschiebung 0 (innerhalb eines
- Slice oder einer Platte, die zum Start bestimmt waren)
- eingerichtet wurde, den Bootstrap zerstören.
-
- Analog wird eine anschließende
- Reinstallation eines Bootstrap (zum Beispiel durch Booten
- eines Fixit-Mediums) mit
- bsdlabel -B, wie in
- beschrieben, den Vinum-Kopf
- zerstören und Vinum wird seine Platte(n) nicht mehr
- finden können. Obwohl keine eigentlichen
- Vinum-Konfigurationsdaten oder Daten in den Vinum-Volumes
- zerstört werden und es möglich wäre, alle
- Daten wiederherzustellen, indem die exakt gleichen
- Vinum-Konfigurationsdaten noch einmal eingegeben werden,
- bleibt die Situation schwer zu bereinigen, da es nötig
- ist, die gesamte Vinum-Partition um mindestens
- 4 KB nach hinten zu verschieben, damit Bootstrap
- und Vinum-Kopf nicht mehr kollidieren.
-
-
-
-
Property changes on: head/de_DE.ISO8859-1/books/handbook/vinum/chapter.xml
___________________________________________________________________
Deleted: svn:keywords
## -1 +0,0 ##
-FreeBSD=%H
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/sgml
\ No newline at end of property
Index: head/de_DE.ISO8859-1/books/handbook/Makefile
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/Makefile (revision 47186)
+++ head/de_DE.ISO8859-1/books/handbook/Makefile (revision 47187)
@@ -1,317 +1,317 @@
#
# $FreeBSD$
# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.67 2011/12/31 12:27:25 bcr Exp $
-# basiert auf: 42118
+# basiert auf: r42118
#
# Build the FreeBSD Handbook in its German translation.
#
# ------------------------------------------------------------------------
#
# To add a new chapter to the Handbook:
#
# - Update this Makefile, chapters.ent and book.xml
# - Add a descriptive entry for the new chapter in preface/preface.xml
#
# ------------------------------------------------------------------------
.PATH: ${.CURDIR}/../../share/xml/glossary
MAINTAINER=de-bsd-translators@de.FreeBSD.org
DOC?= book
FORMATS?= html-split
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES_EN = advanced-networking/isdn-bus.eps
IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= advanced-networking/pxe-nfs.png
IMAGES_EN+= advanced-networking/static-routes.pic
IMAGES_EN+= bsdinstall/bsdinstall-adduser1.png
IMAGES_EN+= bsdinstall/bsdinstall-adduser2.png
IMAGES_EN+= bsdinstall/bsdinstall-adduser3.png
IMAGES_EN+= bsdinstall/bsdinstall-boot-loader-menu.png
IMAGES_EN+= bsdinstall/bsdinstall-choose-mode.png
IMAGES_EN+= bsdinstall/bsdinstall-config-components.png
IMAGES_EN+= bsdinstall/bsdinstall-config-hostname.png
IMAGES_EN+= bsdinstall/bsdinstall-config-keymap.png
IMAGES_EN+= bsdinstall/bsdinstall-config-services.png
IMAGES_EN+= bsdinstall/bsdinstall-config-crashdump.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-dhcp.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-static.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv6.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv6-static.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-slaac.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-network-ipv4-dns.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-accesspoints.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-scan.png
IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-wpa2setup.png
IMAGES_EN+= bsdinstall/bsdinstall-distfile-extracting.png
IMAGES_EN+= bsdinstall/bsdinstall-distfile-fetching.png
IMAGES_EN+= bsdinstall/bsdinstall-distfile-verifying.png
IMAGES_EN+= bsdinstall/bsdinstall-final-confirmation.png
IMAGES_EN+= bsdinstall/bsdinstall-finalconfiguration.png
IMAGES_EN+= bsdinstall/bsdinstall-final-modification-shell.png
IMAGES_EN+= bsdinstall/bsdinstall-keymap-select-default.png
IMAGES_EN+= bsdinstall/bsdinstall-mainexit.png
IMAGES_EN+= bsdinstall/bsdinstall-netinstall-files.png
IMAGES_EN+= bsdinstall/bsdinstall-netinstall-mirrorselect.png
IMAGES_EN+= bsdinstall/bsdinstall-part-entire-part.png
IMAGES_EN+= bsdinstall/bsdinstall-part-guided-disk.png
IMAGES_EN+= bsdinstall/bsdinstall-part-guided-manual.png
IMAGES_EN+= bsdinstall/bsdinstall-part-manual-addpart.png
IMAGES_EN+= bsdinstall/bsdinstall-part-manual-create.png
IMAGES_EN+= bsdinstall/bsdinstall-part-manual-partscheme.png
IMAGES_EN+= bsdinstall/bsdinstall-part-review.png
IMAGES_EN+= bsdinstall/bsdinstall-post-root-passwd.png
IMAGES_EN+= bsdinstall/bsdinstall-set-clock-local-utc.png
IMAGES_EN+= bsdinstall/bsdinstall-timezone-confirm.png
IMAGES_EN+= bsdinstall/bsdinstall-timezone-country.png
IMAGES_EN+= bsdinstall/bsdinstall-timezone-region.png
IMAGES_EN+= bsdinstall/bsdinstall-timezone-zone.png
IMAGES_EN+= geom/striping.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
IMAGES_EN+= install/boot-loader-menu.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/config-country.scr
IMAGES_EN+= install/config-keymap.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES_EN+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES_EN+= install/example-dir1.eps
IMAGES_EN+= install/example-dir2.eps
IMAGES_EN+= install/example-dir3.eps
IMAGES_EN+= install/example-dir4.eps
IMAGES_EN+= install/example-dir5.eps
IMAGES_EN+= mail/mutt1.scr
IMAGES_EN+= mail/mutt2.scr
IMAGES_EN+= mail/mutt3.scr
IMAGES_EN+= mail/pine1.scr
IMAGES_EN+= mail/pine2.scr
IMAGES_EN+= mail/pine3.scr
IMAGES_EN+= mail/pine4.scr
IMAGES_EN+= mail/pine5.scr
IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= virtualization/parallels-freebsd1.png
IMAGES_EN+= virtualization/parallels-freebsd2.png
IMAGES_EN+= virtualization/parallels-freebsd3.png
IMAGES_EN+= virtualization/parallels-freebsd4.png
IMAGES_EN+= virtualization/parallels-freebsd5.png
IMAGES_EN+= virtualization/parallels-freebsd6.png
IMAGES_EN+= virtualization/parallels-freebsd7.png
IMAGES_EN+= virtualization/parallels-freebsd8.png
IMAGES_EN+= virtualization/parallels-freebsd9.png
IMAGES_EN+= virtualization/parallels-freebsd10.png
IMAGES_EN+= virtualization/parallels-freebsd11.png
IMAGES_EN+= virtualization/parallels-freebsd12.png
IMAGES_EN+= virtualization/parallels-freebsd13.png
IMAGES_EN+= virtualization/virtualpc-freebsd1.png
IMAGES_EN+= virtualization/virtualpc-freebsd2.png
IMAGES_EN+= virtualization/virtualpc-freebsd3.png
IMAGES_EN+= virtualization/virtualpc-freebsd4.png
IMAGES_EN+= virtualization/virtualpc-freebsd5.png
IMAGES_EN+= virtualization/virtualpc-freebsd6.png
IMAGES_EN+= virtualization/virtualpc-freebsd7.png
IMAGES_EN+= virtualization/virtualpc-freebsd8.png
IMAGES_EN+= virtualization/virtualpc-freebsd9.png
IMAGES_EN+= virtualization/virtualpc-freebsd10.png
IMAGES_EN+= virtualization/virtualpc-freebsd11.png
IMAGES_EN+= virtualization/virtualpc-freebsd12.png
IMAGES_EN+= virtualization/virtualpc-freebsd13.png
IMAGES_EN+= virtualization/vmware-freebsd01.png
IMAGES_EN+= virtualization/vmware-freebsd02.png
IMAGES_EN+= virtualization/vmware-freebsd03.png
IMAGES_EN+= virtualization/vmware-freebsd04.png
IMAGES_EN+= virtualization/vmware-freebsd05.png
IMAGES_EN+= virtualization/vmware-freebsd06.png
IMAGES_EN+= virtualization/vmware-freebsd07.png
IMAGES_EN+= virtualization/vmware-freebsd08.png
IMAGES_EN+= virtualization/vmware-freebsd09.png
IMAGES_EN+= virtualization/vmware-freebsd10.png
IMAGES_EN+= virtualization/vmware-freebsd11.png
IMAGES_EN+= virtualization/vmware-freebsd12.png
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
IMAGES_LIB+= callouts/11.png
IMAGES_LIB+= callouts/12.png
IMAGES_LIB+= callouts/13.png
IMAGES_LIB+= callouts/14.png
IMAGES_LIB+= callouts/15.png
#
# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
# XML content
SRCS+= audit/chapter.xml
SRCS+= book.xml
SRCS+= bsdinstall/chapter.xml
SRCS+= colophon.xml
SRCS+= advanced-networking/chapter.xml
SRCS+= basics/chapter.xml
SRCS+= bibliography/chapter.xml
SRCS+= boot/chapter.xml
SRCS+= config/chapter.xml
SRCS+= cutting-edge/chapter.xml
SRCS+= desktop/chapter.xml
SRCS+= disks/chapter.xml
SRCS+= dtrace/chapter.xml
SRCS+= eresources/chapter.xml
SRCS+= filesystems/chapter.xml
SRCS+= firewalls/chapter.xml
SRCS+= zfs/chapter.xml
SRCS+= geom/chapter.xml
SRCS+= install/chapter.xml
SRCS+= introduction/chapter.xml
SRCS+= jails/chapter.xml
SRCS+= kernelconfig/chapter.xml
SRCS+= l10n/chapter.xml
SRCS+= linuxemu/chapter.xml
SRCS+= mac/chapter.xml
SRCS+= mail/chapter.xml
SRCS+= mirrors/chapter.xml
SRCS+= multimedia/chapter.xml
SRCS+= network-servers/chapter.xml
SRCS+= pgpkeys/chapter.xml
SRCS+= ports/chapter.xml
SRCS+= ppp-and-slip/chapter.xml
SRCS+= preface/preface.xml
SRCS+= printing/chapter.xml
SRCS+= security/chapter.xml
SRCS+= serialcomms/chapter.xml
SRCS+= users/chapter.xml
SRCS+= virtualization/chapter.xml
SRCS+= x11/chapter.xml
# Entities
SRCS+= chapters.ent
# alle Kapitel bauen
CHAPTERS?= ${SRCS:M*chapter.xml}
XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./}
XMLFLAGS+= -i chap.freebsd-glossary
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
#
# rules generating lists of mirror site from XML database.
#
XMLDOCS= lastmod:::mirrors.lastmod.inc \
mirrors-ftp-index:::mirrors.xml.ftp.index.inc \
mirrors-ftp:::mirrors.xml.ftp.inc \
mirrors-cvsup-index:::mirrors.xml.cvsup.index.inc \
mirrors-cvsup:::mirrors.xml.cvsup.inc \
eresources-index:::eresources.xml.www.index.inc \
eresources:::eresources.xml.www.inc
DEPENDSET.DEFAULT= transtable mirror
XSLT.DEFAULT= ${XSL_MIRRORS}
XML.DEFAULT= ${XML_MIRRORS}
PARAMS.lastmod+= --param 'target' "'lastmod'"
PARAMS.mirrors-ftp-index+= --param 'type' "'ftp'" \
--param 'proto' "'ftp'" \
--param 'target' "'index'"
PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \
--param 'proto' "'ftp'" \
--param 'target' "'handbook/mirrors/chapter.xml'"
PARAMS.mirrors-cvsup-index+= --param 'type' "'cvsup'" \
--param 'proto' "'cvsup'" \
--param 'target' "'index'"
PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \
--param 'proto' "'cvsup'" \
--param 'target' "'handbook/mirrors/chapter.xml'"
PARAMS.eresources-index+= --param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'index'"
PARAMS.eresources+= --param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.xml'"
SRCS+= mirrors.lastmod.inc \
mirrors.xml.ftp.inc \
mirrors.xml.ftp.index.inc \
mirrors.xml.cvsup.inc \
mirrors.xml.cvsup.index.inc \
eresources.xml.www.inc \
eresources.xml.www.index.inc
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
Index: head/de_DE.ISO8859-1/books/handbook/book.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/book.xml (revision 47186)
+++ head/de_DE.ISO8859-1/books/handbook/book.xml (revision 47187)
@@ -1,326 +1,325 @@
%chapters;
%txtfiles;
]>
Das &os;-HandbuchThe FreeBSD German Documentation Project$FreeBSD$$FreeBSD$19951996199719981999200020012002200320042005200620072008200920102011201220132014The FreeBSD German Documentation Project
&legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.google;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
Willkommen bei &os;! Dieses Handbuch beschreibt die
Installation und den täglichen Umgang mit &os;
&rel3.current;-RELEASE,
&rel2.current;-RELEASE und &os;
&rel.current;-RELEASE. Das Handbuch ist
jederzeit unter Bearbeitung und das
Ergebnis der Arbeit vieler Einzelpersonen. Dies kann dazu
führen, dass bestimmte Bereiche nicht mehr aktuell sind und
auf den neuesten Stand gebracht werden müssen. Bei
Unklarheiten empfiehlt es sich daher stets, die
englische Originalversion des Handbuchs zu
lesen.Wenn Sie bei der Übersetzung des Handbuchs mithelfen
möchten, senden Sie bitte eine E-Mail an die Mailingliste
&a.de.translators;.Die aktuelle Version des Handbuchs ist immer auf dem &os;-Webserver
verfügbar und kann in verschiedenen Formaten und in
komprimierter Form vom &os;
FTP-Server oder einem der vielen Spiegel herunter geladen werden
(ältere Versionen finden Sie hingegen unter http://docs.FreeBSD.org/doc/).
Vielleicht möchten Sie das Handbuch aber auch durchsuchen.
&chap.preface;
Erste SchritteDieser Teil des &os;-Handbuchs richtet sich an Benutzer
und Administratoren für die &os; neu ist. Diese
Kapitelgeben Ihnen eine Einführung in &os;,geleiten Sie durch den Installationsprozess,erklären Ihnen die Grundlagen
von &unix; Systemen,zeigen Ihnen, wie Sie die Fülle der erhältlichen
Anwendungen Dritter installieren undführen Sie in X, der Benutzeroberfläche
von &unix; Systemen ein. Es wird gezeigt, wie Sie den
Desktop konfigurieren, um effektiver arbeiten
zu können.Wir haben uns bemüht, Referenzen auf weiter vorne liegende
Textteile auf ein Minimum zu beschränken, so dass Sie
diesen Teil des Handbuchs ohne viel Blättern durcharbeiten
können.
&chap.introduction;
&chap.install;
&chap.bsdinstall;
&chap.basics;
&chap.ports;
&chap.x11;
Oft benutzte FunktionenNach den Grundlagen beschäftigt sich das
&os;-Handbuch mit oft benutzten Funktionen von
&os;. Die Kapitel behandeln die nachstehenden
Themen:Zeigen Ihnen beliebte und nützliche
Werkzeuge wie Browser, Büroanwendungen und
Programme zum Anzeigen von Dokumenten.Zeigen Ihnen Multimedia-Werkzeuge für
&os;.Erklären den Bau eines angepassten &os;-Kernels,
der die Systemfunktionen erweitert.Beschreiben ausführlich das Drucksystem,
sowohl für direkt angeschlossene Drucker als
auch für Netzwerkdrucker.Erläutern, wie Sie Linux-Anwendungen auf einem
&os;-System laufen lassen.Damit Sie einige Kapitel verstehen, sollten Sie vorher
andere Kapitel gelesen haben. Die Übersicht zu jedem
Kapitel zählt die Voraussetzungen für das
erolgreiche Durcharbeiten des Kapitels auf.
&chap.desktop;
&chap.multimedia;
&chap.kernelconfig;
&chap.printing;
&chap.linuxemu;
SystemadministrationDie restlichen Kapitel behandeln alle Aspekte der &os;
Systemadministration. Am Anfang jedes Kapitels finden Sie
eine Zusammenfassung, die beschreibt, was Sie nach dem
Durcharbeiten des Kapitels gelernt haben. Weiterhin werden
die Voraussetzungen beschrieben, die für das Durcharbeiten des
Kapitels erforderlich sind.Diese Kapitel sollten Sie lesen, wenn Sie die
Informationen darin benötigen. Sie brauchen Sie nicht in
einer bestimmten Reihenfolge zu lesen, noch müssen Sie die
Kapitel lesen, bevor Sie anfangen, &os; zu benutzen.
&chap.config;
&chap.boot;
&chap.users;
&chap.security;
&chap.jails;
&chap.mac;
&chap.audit;
&chap.disks;
&chap.geom;
&chap.zfs;
&chap.filesystems;
- &chap.vinum;
&chap.virtualization;
&chap.l10n;
&chap.cutting-edge;
&chap.dtrace;
Netzwerke&os; ist eins der meist benutzten Betriebssysteme
für leistungsfähige Netzwerkserver. Die
Kapitel in diesem Teil behandeln die nachstehenden
Themen:Serielle DatenübertragungPPP und PPP over EthernetElectronic-MailDen Betrieb von NetzwerkdienstenFirewallsWeiterführende NetzwerkthemenDiese Kapitel sollten Sie lesen, wenn Sie die
Informationen darin benötigen. Sie brauchen Sie nicht
in einer bestimmten Reihenfolge zu lesen, noch müssen Sie die
Kapitel lesen, bevor Sie anfangen, &os; zu benutzen.
&chap.serialcomms;
&chap.ppp-and-slip;
&chap.mail;
&chap.network-servers;
&chap.firewalls;
&chap.advanced-networking;
Anhang
&chap.mirrors;
&chap.bibliography;
&chap.eresources;
&chap.pgpkeys;
&chap.freebsd-glossary;
&chap.index;
&chap.colophon;
Index: head/de_DE.ISO8859-1/books/handbook/chapters.ent
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/chapters.ent (revision 47186)
+++ head/de_DE.ISO8859-1/books/handbook/chapters.ent (revision 47187)
@@ -1,78 +1,77 @@
%pgpkeys;
-
">
Index: head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml (revision 47186)
+++ head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml (revision 47187)
@@ -1,4170 +1,4164 @@
SpeichermedienBerndWarkenÜbersetzt von MartinHeinenÜbersichtDieses Kapitel behandelt die Benutzung von Laufwerken unter
&os;. Laufwerke können speichergestützte Laufwerke,
Netzwerklaufwerke oder normale SCSI/IDE-Geräte sein.Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes
wissen:Die Begriffe, die &os; verwendet, um die
Organisation der Daten auf einem physikalischen Laufwerk
zu beschreiben.Wie Sie zusätzliche Laufwerke zu einem &os;-System
hinzufügen.Wie virtuelle Dateisysteme, zum Beispiel RAM-Disks,
eingerichtet werden.Wie Sie mit Quotas die Benutzung von Laufwerken
einschränken können.Wie Sie Partitionen verschlüsseln, um Ihre Daten
zu schützen.Wie unter &os; CDs und DVDs gebrannt werden.Wie Sie die unter &os; erhältlichen
Backup-Programme benutzen.Was Dateisystem-Schnappschüsse sind und wie sie
eingesetzt werden.Bevor Sie dieses Kapitel lesen,sollten Sie wissen, wie Sie einen
neuen &os;-Kernel konfigurieren
und installieren können.GerätenamenDie folgende Tabelle zeigt die von &os; unterstützten
Speichergeräte und deren Gerätenamen.
Namenskonventionen von physikalischen LaufwerkenLaufwerkstypGerätenameIDE-Festplattenad oder
adaIDE-CD-ROM-Laufwerkeacd oder
cdSATA-Festplattenad oder
adaSATA-CD-ROM-Laufwerkeacd oder
cdSCSI-Festplatten und USB-SpeichermediendaSCSI-CD-ROM-LaufwerkecdVerschiedene proprietäre CD-ROM-Laufwerkemcd Mitsumi CD-ROM und
scd Sony CD-ROMDiskettenlaufwerkefdSCSI-BandlaufwerkesaIDE-BandlaufwerkeastFlash-Laufwerkefla für &diskonchip;
Flash-DeviceRAID-Laufwerkeaacd für &adaptec; AdvancedRAID,
mlxd und mlyd
für &mylex;,
amrd für AMI &megaraid;,
idad für Compaq Smart RAID,
twed für &tm.3ware; RAID.
Hinzufügen von LaufwerkenDavidO'BrianIm Original von LaufwerkehinzufügenDieser Abschnitt beschreibt, wie Sie ein neues
SATA-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 des Laufwerkherstellers. Starten Sie das System neu und
melden Sie sich als Benutzer
root an.Kontrollieren Sie /var/run/dmesg.boot,
um sicherzustellen, dass das neue Laufwerk gefunden wurde. In
diesem Beispiel erscheint das neu hinzugefügte
SATA-Laufwerk als
ada1.PartitionengpartIn diesem Beispiel wird eine einzige große Partition auf der
Festplatte erstellt. Verwendet wird das GPT-Partionsschema,
welches gegenüber dem älteren und weniger vielseitigen
MBR-Schema bevorzug wird.Wenn die hinzugefügte Festplatte nicht leer ist, können
alte Partitionsinformationen mit
gpart delete entfernt werden. Details
finden Sie in &man.gpart.8;.Zuerst wird das Partitionsschema erstellt und dann eine
einzelne Partition angefügt:&prompt.root; gpart create -s GPT ada1
&prompt.root; gpart add -t freebsd-ufs ada1Je nach Anwendung kann es wünschenswert sein, mehrere
kleinere Partitionen zu haben. In &man.gpart.8; finden Sie
Optionen zum Erstellen von kleineren Partitionen.Ein Dateisystem wird auf der neuen, leeren Festplatte
erstellt:&prompt.root; newfs -U /dev/ada1p1Ein leeres Verzeichnis wird als Mountpunkt erstellt, also
ein Speicherort für die Montage der neuen Festplatte im
originalen Dateisystem:&prompt.root; mkdir /newdiskAbschließend wird ein Eintrag in
/etc/fstab hinzugefügt, damit die neue
Festplatte automatisch beim Start eingehängt wird:/dev/ada1p1 /newdisk ufs rw 2 2Die neue Festplatte kann manuell montiert werden, ohne das
System neu zu starten:&prompt.root; mount /newdiskUSB SpeichermedienMarcFonvieilleBeigetragen von USBSpeichermedienDer Universal Serial Bus (USB) wird heutzutage von
vielen externen Speichern benutzt: Festplatten,
USB-Thumbdrives oder CD-Brennern, die alle von
&os; unterstützt werden.USB-KonfigurationDer Treiber für USB-Massenspeicher, &man.umass.4;, ist im
GENERIC-Kernel enthalten und bietet
Unterstützung für USB-Speichermedien. Für einen angepassten
Kernel müssen die nachstehenden Zeilen in der
Kernelkonfigurationsdatei enthalten sein:device scbus
device da
device pass
device uhci
device ohci
device ehci
device usb
device umassDa der &man.umass.4;-Treiber das SCSI-Subsystem benutzt
um auf USB-Geräte zuzugreifen, werden alle USB-Geräte vom
System als SCSI-Geräte erkannt. Abhängig vom Chipsatz Ihrer
Systemplatine wird device uhci oder
device ohci für die Unterstützung von
USB 1.X benutzt. Unterstützung für USB 2.0 Controller
wird durch device ehci
bereitgestellt.Wenn es sich bei dem USB-Gerät um einen
CD- oder DVD-Brenner handelt, muss &man.cd.4; in den
Kernel aufgenommen werden:device cdDa der Brenner als SCSI-Laufwerk erkannt wird,
sollten Sie den Treiber &man.atapicam.4; nicht
benutzen.Die USB-Konfiguration testenUm die USB-Konfiguration zu testen, schließen Sie das
USB-Gerät an. In den Systemmeldungen, &man.dmesg.8;, sollte
das Gerät wie folgt angezeigt werden:umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)Fabrikat, Gerätedatei (da0) und
andere Details werden je nach Gerät unterschiedlich
sein.Da ein USB-Gerät als SCSI-Gerät erkannt wird, kann
camcontrol benutzt werden, um die mit dem
System verbundenen USB-Massenspeicher anzuzeigen:&prompt.root; camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)Wenn auf dem Laufwerk ein Dateisystem eingerichtet
ist, kann es gemountet werden.
beschreibt, wie Sie
USB-Laufwerke formatieren und Partitionen einrichten.Aus Sicherheitsgründen sollten Sie Benutzern, denen Sie
nicht vertrauen, das Einhängen (z.B. durch die unten
beschriebene Aktivierung von vfs.usermount)
beliebiger Medien verbieten. Die meisten Dateisysteme in &os;
wurden nicht entwickelt, um sich vor böswilligen Geräten
zu schützen.Um auch normalen Anwendern das Einhängen des Laufwerks zu
gestatten, könnten Sie beispielsweise mit &man.pw.8; alle
potentiellen Benutzer dieser Gerätedateien in die Gruppe
operator aufnehmen.
Außerdem muss sichergestellt werden, dass Mitglieder der
Gruppe operator
Schreib- und Lesezugriff auf diese Gerätedateien haben.
Hierfür werden die folgenden Zeilen in
/etc/devfs.rules hinzugefügt:[localrules=5]
add path 'da*' mode 0660 group operatorVerfügt das System über SCSI-Laufwerke, so verändern Sie
die zweite Zeile wie folgt:add path 'da[3-9]*' mode 0660 group operatorDies wird die ersten drei SCSI-Laufwerke
(da0 bis
da2) davon ausschließen, in die
Gruppe operator
aufgenommen zu werden.Aktivieren Sie nun die &man.devfs.rules.5;-Regeln
in /etc/rc.conf:devfs_system_ruleset="localrules"Als nächstes müssen Sie Ihren Kernel anweisen, auch
normalen Benutzern das mounten von Dateisystemen zu erlauben.
Am einfachsten geht dies, indem die folgende Zeile in
/etc/sysctl.conf hinzugefügt wird:vfs.usermount=1Da diese Einstellung erst nach einem Neustart wirksam
wird, können Sie diese Variable mit &man.sysctl.8; auch direkt
setzen.Zuletzt müssen Sie noch ein Verzeichnis anlegen, in
das das USB-Laufwerk eingehängt werden soll. Dieses
Verzeichnis muss dem Benutzer gehören, der das
USB-Laufwerk in den Verzeichnisbaum einhängen will.
Dazu legen Sie als
root ein
Unterverzeichnis
/mnt/username
an, wobei Sie username
durch den Login des jeweiligen Benutzers sowie
usergroup durch die primäre
Gruppe des Benutzers ersetzen:&prompt.root; mkdir /mnt/username
&prompt.root; chown username:usergroup /mnt/usernameWenn Sie nun beispielsweise einen USB-Stick
anschließen, wird automatisch die Gerätedatei
/dev/da0s1 erzeugt. Ist das Gerät mit
einem FAT-Dateisystem formatiert, können Sie es mit dem
folgenden Befehl in den Verzeichnisbaum einhängen:&prompt.user; mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/usernameBevor das Gerät entfernt werden kann,
muss es abgehängt werden. Nach
Entfernen des Geräts zeigen sich in den Systemmeldungen
Einträge, ähnlich der folgenden:umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detachedWeiteres zu USBNeben den Abschnitten
Hinzufügen von Laufwerken
und Anhängen und
Abhängen von Dateisystemen lesen Sie bitte
die Hilfeseiten &man.umass.4;, &man.camcontrol.8; für
&os; 8.X oder &man.usbdevs.8; bei vorherigen Versionen.Erstellen und Verwenden von CDsMikeMeyerBeigesteuert von CD-ROMbrennenEinführungCDs 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 können auch
leichter zwischen Systemen bewegt werden.CDs besitzen Spuren, aber damit ist der Teil Daten
gemeint, der ununterbrochen gelesen wird, und nicht eine
physikalische Eigenschaft der CD. Um beispielsweise eine CD
mit &os; zu erstellen, werden die Daten jeder Spur der CD in
Dateien vorbereitet und dann die Spuren auf die CD
geschrieben.ISO 9660DateisystemeISO 9660Das ISO 9660-Dateisystem wurde entworfen, um mit diesen
Unterschieden umzugehen. Um die ursprünglichen
Dateisystemgrenzen zu überwinden 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.sysutils/cdrtoolsDer Port sysutils/cdrtools
enthält das Programm &man.mkisofs.8;, das eine Datei
erstellt, die ein ISO 9660-Dateisystem enthält.
Das Programm hat Optionen, um verschiedene Erweiterungen
zu unterstützen, und wird unten beschrieben.CD-BrennerATAPIWelches Werkzeug zum Brennen von CDs benutzt wird, hängt
davon ab, ob der CD-Brenner ein ATAPI-Gerät ist oder nicht.
Mit ATAPI-CD-Brennern wird burncd benutzt,
das Teil des Basissystems ist. SCSI- und USB-CD-Brenner
werden mit cdrecord aus
sysutils/cdrtools benutzt. Zusätzlich ist
es möglich, über das Modul
ATAPI/CAM SCSI-Werkzeuge wie
cdrecord auch für ATAPI-Geräte
einzusetzen.Für eine Brennsoftware mit grafischer
Benutzeroberfläche benötigen, sollten Sie sich
X-CD-Roast oder
K3b näher ansehen. Diese
Werkzeuge können als Paket oder aus den
Ports (sysutils/xcdroast
und sysutils/k3b)
installiert werden. Mit ATAPI-Hardware benötigt
K3b das
ATAPI/CAM-Modul.mkisofsDer Port sysutils/cdrtools installiert
auch &man.mkisofs.8;, welches ein ISO 9660-Abbild erstellt,
das ein Abbild eines Verzeichnisbaumes ist. Die einfachste
Anwendung ist:&prompt.root; mkisofs -o
imagefile.iso/path/to/treeDateisystemeISO 9660Dieses Kommando erstellt
imagefile.iso, die ein ISO
9660-Dateisystem enthält, das eine Kopie des Baumes unter
/path/to/tree 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.DateisystemeHFSDateisystemeJolietEs einige Optionen, um diese Beschränkungen zu überwinden.
Die unter &unix; Systemen üblichen Rock-Ridge-Erweiterungen
werden durch aktiviert,
aktiviert die von Microsoft Systemen
benutzten Joliet-Erweiterungen und dient
dazu, um das von &macos; benutzte HFS zu erstellen.Für CDs, die nur auf &os;-Systemen verwendet werden
sollen, kann genutzt werden, um alle
Beschränkungen für Dateinamen aufzuheben. Zusammen mit
wird ein Abbild des Dateisystems,
identisch zu angegebenen &os;-Dateibaum, erstellt, obwohl dies
den ISO 9660 Standard verletzen kann.CD-ROMbootbare erstellenDie letzte übliche Option ist .
Sie wird benutzt, um den Ort eines Bootimages einer
El Torito 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. In der Voreinstellung erzeugt &man.mkisofs.8; ein
ISO-Image im Diskettenemulations-Modus. Dabei
muss das Image genau 1200, 1440 oder 2880 KB groß
sein. Einige Bootloader, darunter der auf den &os;-Disks
verwendete, kennen keinen Emulationsmodus. Daher sollten Sie
in diesen Fällen verwenden.
Wenn /tmp/myboot ein bootbares
&os;-System enthält, dessen Bootimage sich in
/tmp/myboot/boot/cdboot befindet, können
Sie ein Abbild eines ISO 9660-Dateisystems in
/tmp/bootable.iso erstellen:&prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/mybootWenn md im Kernel konfiguriert ist,
kann das Dateisystem als speicherbasiertes Laufwerk
eingehängt werden:&prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
&prompt.root; mount -t cd9660 /dev/md0 /mntJetzt können Sie überprüfen, dass
/mnt und /tmp/myboot
identisch sind.Sie können das Verhalten von &man.mkisofs.8;
mit einer Vielzahl von Optionen beeinflussen. Details dazu
entnehmen Sie bitte &man.mkisofs.8;.burncdCD-ROMbrennenFür ATAPI-CD-Brenner kann burncd
benutzt werden, um ein ISO-Image auf CD zu brennen.
burncd ist Teil des Basissystems und unter
/usr/sbin/burncd installiert. Da es
nicht viele Optionen hat, ist es leicht zu benutzen:&prompt.root; burncd -f cddevice data imagefile.iso fixateDieses Kommando brennt eine Kopie von
imagefile.iso auf das Gerät
cddevice. In der Grundeinstellung
wird das Gerät /dev/acd0 benutzt.
&man.burncd.8; beschreibt, wie die Schreibgeschwindigkeit
gesetzt wird, die CD ausgeworfen wird und Audiodaten
geschrieben werden.cdrecordFür Systeme ohne ATAPI-CD-Brenner kann
cdrecord benutzt werden, um CDs zu brennen.
cdrecord ist nicht Bestandteil des
Basissystems und muss entweder als Paket
sysutils/cdrtools oder Port installiert
werden. Änderungen im Basissystem können Fehler im binären
Programm verursachen und führen möglicherweise dazu, dass Sie
einen Untersetzer brennen. Es wird daher
empfohlen den Port aktualisieren, wenn das System
aktualisiert wird, oder für Benutzer die
STABLE verfolgen,
den Port zu aktualisieren, wenn es eine neue Version
gibt.Obwohl cdrecord viele Optionen besitzt,
ist die grundlegende Anwendung einfach. Ein ISO 9660-Image
wird wie folgt erstellt:&prompt.root; cdrecord dev=device imagefile.isoDer Knackpunkt in der Benutzung von
cdrecord besteht darin, das richtige
Argument zu zu finden. Benutzen Sie
, der eine ähnliche Ausgabe
wie die folgende produziert:CD-ROMbrennen&prompt.root; cdrecord -scanbus
Cdrecord 1.9 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
0,2,0 2) *
0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) *
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
1,7,0 107) *Für die aufgeführten Geräte in der Liste
wird das passende Argument zu gegeben.
Benutzen Sie die drei durch Kommas separierten Zahlen, die zum
CD-Brenner angegeben sind, als Argument für
. Im Beispiel ist das CDRW-Gerät
1,5,0, so dass die passende Eingabe
dev=1,5,0 ist. Einfachere Wege das
Argument anzugeben, sowie Informationen über Audiospuren und
das Einstellen der Geschwindigkeit, sind in &man.cdrecord.1;
beschrieben.Kopieren von Audio-CDsUm 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- oder SCSI-Laufwerke verwenden.SCSI-LaufwerkeKopieren Sie die Audiodaten mit
cdda2wav:&prompt.user; cdda2wav -vall -D2,0 -B -OwavDie erzeugten .wav Dateien
schreiben Sie mit cdrecord auf eine
leere CD:&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wavDas Argument von gibt das
verwendete Gerät an, das wie in
ermittelt werden kann.ATAPI-LaufwerkeÜber das Modul
ATAPI/CAM kann
cdda2wav auch mit ATAPI-Laufwerken
verwendet werden. Diese Methode ist für die meisten
Anwender besser geeignet als die im folgenden
beschriebenen Methoden (Jitter-Korrektur,
Big-/Little-Endian-Probleme und anderes mehr spielen
hierbei eine Rolle).Der ATAPI-CD-Treiber stellt die einzelnen Stücke der
CD über die Dateien
/dev/acddtnn,
zur Verfügung. d bezeichnet
die Laufwerksnummer und nn ist die
Nummer des Stücks. Die Nummer ist immer zweistellig,
das heißt es wird, wenn nötig, eine führende
Null ausgegeben. Die Datei /dev/acd0t01
ist also das erste Stück des ersten CD-Laufwerks.
/dev/acd0t02 ist das zweite Stück
und /dev/acd0t03 das dritte.Überprüfen Sie stets, ob die entsprechenden
Dateien im Verzeichnis /dev auch
angelegt werden. Sind die Einträge nicht vorhanden,
weisen Sie Ihr System an, das Medium erneut zu testen:&prompt.root; dd if=/dev/acd0 of=/dev/null count=1Unter &os; 4.X werden diese Einträge nicht
mit dem Wert Null vordefiniert. Falls die entsprechenden
Einträge unter /dev nicht
vorhanden sind, müssen Sie diese hier von
MAKEDEV anlegen lassen:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV acd0t99Die einzelnen Stücke werden mit &man.dd.1; kopiert.
Achten Sie darauf, eine Blockgröße anzugeben:&prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352
&prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352
...Die kopierten Dateien können Sie dann mit
burncd brennen. Geben Sie an, dass es
sich um Audio-Daten handelt und dass burncd
das Medium am Ende fixieren soll:&prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixateKopieren von Daten-CDsEs ist möglich eine Daten-CD in eine Datei zu kopieren,
die einem Image entspricht, das mit &man.mkisofs.8; erstellt
wurde. Mit Hilfe dieses Images können Sie jede Daten-CD
kopieren. Das folgende Beispiel verwendet
acd0 für das CD-ROM-Gerät. Wird ein
anderes Laufwerk benutzt, muss der Name entsprechend ersetzt
werden.&prompt.root; dd if=/dev/acd0 of=file.iso bs=2048Danach existiert ein Image, das wie oben beschrieben, auf
CD gebrannt werden kann.Einhängen von Daten-CDsEs ist möglich, eine Daten-CD zu mounten und die Daten zu
lesen. Standardmäßig erwartet &man.mount.8; ein Dateisystem
vom Typ ufs. Wenn Sie das folgende
Kommando ausführen:&prompt.root; mount /dev/cd0 /mnterhalten Sie die Fehlermeldung
Incorrect super block, und die CD
konnte nicht eingehängt werden. Die CD benutzt nicht das
UFS-Dateisystem, deshalb schlägt der
Versuch fehl, sie als solches einzuhängen. Sie müssen
&man.mount.8; durch die Angabe von
sagen, dass es sich um ein Dateisystem vom Typ
ISO9660 handelt. Wenn Sie also die
CD-ROM /dev/cd0 in
/mnt einhängen wollen, führen Sie
folgenden Befehl aus:&prompt.root; mount -t cd9660 /dev/cd0 /mntErsetzen Sie /dev/cd0 durch den
Gerätenamen des CD-Gerätes. Die Angabe von
führt &man.mount.cd9660.8; aus,
was äquivalent zu folgendem Befehl ist:&prompt.root; mount_cd9660 /dev/cd0 /mntAuf diese Weise können Sie Daten-CDs von jedem Hersteller
verwenden. Es kann allerdings zu Problemen mit CDs kommen,
die verschiedene ISO9660-Erweiterungen benutzen. So speichern
Joliet-CDs alle Dateinamen unter Verwendung von zwei Byte
langen Unicode-Zeichen. Zwar unterstützt der &os;-Kernel
derzeit noch kein Unicode, der CD9660-Treiber erlaubt es aber,
zur Laufzeit eine Konvertierungstabelle zu laden. Tauchen
also statt bestimmter Zeichen nur Fragezeichen auf, so
müssen Sie über die Option den
benötigten Zeichensatz angeben. Weitere Informationen zu
diesem Problem finden Sie in der Manualpage
&man.mount.cd9660.8;.Damit der Kernel diese Zeichenkonvertierung (festgelegt
durch die Option ) erkennt, müssen Sie
das Kernelmodul cd9660_iconv.ko laden.
Dazu fügen Sie folgende Zeile in
loader.conf ein:cd9660_iconv_load="YES"Danach müssen Sie allerdings Ihr System neu starten.
Alternativ können Sie das Kernelmodul auch direkt
über &man.kldload.8; laden.Manchmal werden Sie die Meldung
Device not configured 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.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
Kernel bauen:options SCSI_DELAY=15000Die 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.Brennen von rohen CDsEs ist möglich eine Datei auch direkt auf eine CD zu
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.&prompt.root; burncd -f /dev/acd1 -s 12 data archive.tar.gz fixateUm die Daten einer solchen CD abzurufen, müssen die Daten
direkt von dem rohen Gerät gelesen werden:&prompt.root; tar xzvf /dev/acd1Eine auf diese Weise gefertigte CD kann nicht in das
Dateisystem eingehangen werden. Sie kann auch nicht auf
einem anderen Betriebssystem gelesen werden. Wenn Sie die
erstellten CDs in das Dateisystem einhängen oder mit anderen
Betriebssystemen austauschen wollen, müssen Sie
&man.mkisofs.8; wie oben beschrieben benutzen.Der ATAPI/CAM TreiberMarcFonvieilleBeigetragen von CD-BrennerATAPI/CAM TreiberMit diesem Treiber kann auf ATAPI-Geräte, wie
CD-ROM-, CD-RW- oder DVD-Laufwerke, mithilfe des
SCSI-Subsystems zugegriffen werden. Damit können
Sie SCSI-Werkzeuge, wie sysutils/cdrdao oder &man.cdrecord.1;,
zusammen mit einem ATAPI-Gerät benutzen.Um den Treiber zu benutzen, fügen Sie die folgende Zeile
in /boot/loader.conf ein:atapicam_load="YES"Um den Treiber zu aktivieren, muss das System neu
gestartet werden.Benutzer, die es vorziehen
&man.atapicam.4;-Unterstützung statisch in den Kernel
zu komplillieren, sollten diese Zeile in die
Kernelkonfigurationsdatei hinzufügen:device atapicamDie folgenden Zeilen werden ebenfalls benötigt,
sollten aber schon Teil der Kernelkonfiguration sein:device ata
device scbus
device cd
device passÜbersetzen und installieren Sie den neuen
Kernel. Starten Sie anschließend das System neu.Während des Bootvorgangs sollte der CD-Brenner ungefähr
so angezeigt werden:acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closedÜber den Gerätenamen /dev/cd0
kann nun auf das Laufwerk zugegriffen werden. Um
beispielsweise eine CD-ROM in /mnt
einzuhängen, geben Sie folgendes ein:&prompt.root; mount -t cd9660 /dev
/cd0 /mntDie SCSI-Adresse des Brenners können Sie als
root wie folgt
ermitteln:&prompt.root; camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)Die SCSI-Adresse 1,0,0 können
Sie mit den SCSI-Werkzeugen, zum Beispiel &man.cdrecord.1;,
verwenden.Weitere Informationen über das ATAPI/CAM- und
das SCSI-System finden Sie in &man.atapicam.4; und
&man.cam.4;.DVDs benutzenMarcFonvieilleBeigetragen von AndyPolyakovMit Beiträgen von DVDbrennenEinführungNach der CD ist die DVD die nächste Generation
optischer Speichermedien. Auf einer DVD können
mehr Daten als auf einer CD gespeichert werden.
DVDs werden als Standardmedium für Videos verwendet.Für beschreibbare DVDs existieren fünf
Medienformate:DVD-R: Dies war das erste verfügbare Format.
Das Format wurde vom DVD-Forum
festgelegt. Die Medien sind nur einmal beschreibbar.DVD-RW: Dies ist die wiederbeschreibbare Version
des DVD-R Standards. Eine DVD-RW kann ungefähr
1000 Mal beschrieben werden.DVD-RAM: Dies ist ein wiederbeschreibbares
Format, das wie ein Wechsellaufwerk betrachtet werden
kann. Allerdings sind die Medien nicht kompatibel zu den
meisten DVD-ROM-Laufwerken und DVD-Video-Spielern, da das
DVD-RAM-Format nur von wenigen Brennern unterstützt
wird. Informationen zur Nutzung von DVD-RAM finden Sie in
.DVD+RW: Ist ein wiederbeschreibbares Format, das
von der DVD+RW
Alliance festgelegt wurde. Eine DVD+RW
kann ungefähr 1000 Mal beschrieben werden.DVD+R: Dieses Format ist die nur einmal beschreibbare
Variante des DVD+RW Formats.Auf einer einfach beschichteten DVD können
4.700.000.000 Bytes gespeichert werden. Das
sind 4,38 GB oder 4485 MB (1 Kilobyte
sind 1024 Bytes).Die physischen Medien sind unabhängig von
der Anwendung. Ein DVD-Video ist eine spezielle
Anordnung von Dateien, die auf irgendein Medium,
beispielsweise DVD-R, DVD+R oder DVD-RW geschrieben werden
kann. Bevor Sie ein Medium auswählen, müssen Sie
sicherstellen, dass der Brenner und der DVD-Spieler mit dem
Medium umgehen können.KonfigurationBenutzen Sie &man.growisofs.1;, um DVDs zu beschreiben.
Das Kommando ist Bestandteil von
sysutils/dvd+rw-tools, und kann mit allen
DVD-Medien umgehen.Diese Werkzeuge verwenden das SCSI-Subsystem, um auf die
Geräte zuzugreifen. Daher muss
ATAPI/CAM-Unterstützung
geladen, oder statisch in den Kernel kompiliert werden.
Sollte der Brenner jedoch die USB-Schnittstelle nutzen, wird
diese Unterstützung nicht benötigt. Weitere Informationen
zur Konfiguration von USB-Geräten finden Sie in
.Für ATAPI-Geräte müssen ebenfalls DMA-Zugriffe aktiviert
werden. Dazu wird die folgende Zeile in
/boot/loader.conf eingefügt:hw.ata.atapi_dma="1"Bevor Sie dvd+rw-tools
benutzen, lesen Sie bitte die
Hardware-Informationen auf der Seite Hardware
Compatibility Notes.Für eine grafische Oberfläche sollten Sie sich
sysutils/k3b ansehen, das eine
benutzerfreundliche Schnittstelle zu &man.growisofs.1; und
vielen anderen Werkzeugen bietet.Daten-DVDs brennen&man.growisofs.1; erstellt mit dem Programm
mkisofs das Dateisystem
und brennt anschließend die DVD. Vor dem Brennen braucht
daher kein Abbild der Daten zu erstellt werden.Wenn Sie von den Daten im Verzeichnis
/path/to/data eine
DVD+R oder eine DVD-R brennen wollen, benutzen Sie
das nachstehende Kommando:&prompt.root; growisofs -dvd-compat -Z /dev
/cd0 -J -R /path/to/dataIn diesem Beispiel wird an
&man.mkisofs.8; durchgereicht und dient zum Erstellen
des Dateisystems (hier: ein ISO-9660-Dateisystem mit
Joliet- und Rock-Ridge-Erweiterungen). Weiteres
entnehmen Sie bitte der Hilfeseite &man.mkisofs.8;.Die Option wird für die erste
Aufnahme einer Single- oder Multisession benötigt. Ersetzen
Sie /dev/cd0 mit dem Gerätenamen
des DVD-Gerätes. Die Nutzung von
schließt das Medium, weitere Daten können danach nicht mehr
angehängt werden. Dies sollte auch eine eine bessere
Kompatibilität mit anderen DVD-ROM-Laufwerken bieten.Um ein vorher erstelltes Abbild der Daten zu brennen,
beispielsweise imagefile.iso,
verwenden Sie:&prompt.root; growisofs -dvd-compat -Z /dev
/cd0=imagefile.isoDie Schreibgeschwindigkeit hängt von den
verwendeten Medium sowie dem verwendeten Gerät ab
und sollte automatisch gesetzt werden. Um die
Schreibgeschwindigkeit vorzugeben, verwenden Sie
. Beispiele finden Sie in
&man.growisofs.1;.Um grössere Dateien als 4.38GB zu unterstützen, ist es
notwendig ein UDF/ISO-9660 Hybrid-Dateisystem zu erstellen.
Dieses Dateisystem muss mit zusätzlichen Parametern
bei &man.mkisofs.8; und
allen relevanten Programmen, wie beispielsweise
&man.growisofs.1;) erzeugt werden. Dies ist nur notwendig,
wenn Sie ein ISO-Image erstellen oder direkt auf eine DVD
schreiben wollen. DVDs, die in dieser Weise hergestellt
worden sind, müssen als UDF-Dateisystem mit
&man.mount.udf.8; eingehangen werden. Sie sind nur auf
Betriebssystemen, die UDF unterstützen brauchbar, ansonsten
sieht es so aus, als ob sie kaputte Dateien enthalten
würden.Um diese Art von ISO-Datei zu erstellen:&prompt.user; mkisofs -R -J -udf -iso-level 3 -o
imagefile.iso/path/to/dataUm Daten direkt auf eine DVD zu brennen, geben Sie den
folgenden Befehl ein:&prompt.root; growisofs -dvd-compat -udf -iso-level 3 -Z
/dev/cd0 -J -R /path/to/dataWenn ein ISO-Abbild bereits große Dateien enthält, sind
keine weiteren Optionen für &man.growisofs.1; notwendig, um
das Abbild auf die DVD zu brennen.Achten Sie darauf, eine aktuelle Version von
sysutils/cdrtools zu verwenden, welche
&man.mkisofs.8; enthält, da ältere Versionen keinen Support
für große Dateien enthalten. Falls die neueste Version
nicht funktioniert, installieren Sie
sysutils/cdrtools-devel und lesen Sie
&man.mkisofs.8;.DVD-Videos brennenDVDDVD-VideoEin DVD-Video ist eine spezielle Anordnung von Dateien,
die auf den ISO-9660 und den micro-UDF (M-UDF) Spezifikationen
beruht. Da DVD-Video auf eine bestimmte Datei-Hierarchie
angewiesen ist, müssen DVDs mit speziellen Programmen wie
multimedia/dvdauthor erstellt
werden.Ist bereits ein Abbild des Dateisystems eines
DVD-Videos vorhanden, kann es auf die gleiche Weise wie jedes
andere Abbild gebrannt werden. Wenn
dvdauthor verwendet wurde, um die DVD zu
erstellen und die Resultate in
/path/to/video liegen, kann das folgende
Kommando verwendet werden, um ein DVD-Video zu brennen:&prompt.root; growisofs -Z /dev/cd0
-dvd-video /path/to/video wird an &man.mkisofs.8;
weitergereicht, um die Datei-Hierarchie für ein DVD-Video zu
erstellen. Weiterhin bewirkt diese Option, dass
&man.growisofs.1; mit aufgerufen
wird.DVD+RW-Medien benutzenDVDDVD+RWIm Gegensatz zu CD-RW-Medien müssen DVD+RW-Medien
erst formatiert werden, bevor sie benutzt werden können.
Es wird empfohlen &man.growisofs.1;
einzusetzen, da das Programm Medien automatisch formatiert,
wenn es erforderlich ist. Es ist jedoch möglich, auch
dvd+rw-format zu nutzen, um die DVD+RW zu
formatieren:&prompt.root; dvd+rw-format /dev
/cd0Dieser Vorgang muss nur einmal durchgeführt werden. Denken
Sie daran, dass nur neue DVD+RWs formatiert werden müssen.
Anschließend können DVD+RWs, wie gewohnt, gebrannt
werden.Wenn Sie auf einer DVD+RW ein neues Dateisystem
erstellen wollen, brauchen Sie die DVD+RW vorher nicht zu
löschen. Überschreiben Sie einfach das vorige Dateisystem
indem Sie eine neue Session anlegen:&prompt.root; growisofs -Z /dev/cd0
-J -R /path/to/newdataDas DVD+RW-Format erlaubt es, Daten an eine
vorherige Aufnahme anzuhängen. Dazu wird eine neue
Session mit der schon bestehenden zusammengeführt.
Es wird keine Multi-Session geschrieben, sondern
&man.growisofs.1; vergrößert
das ISO-9660-Dateisystem auf dem Medium.Das folgende Kommando fügt weitere Daten zu
einer vorher erstellten DVD+RW hinzu:&prompt.root; growisofs -M /dev/cd0
-J -R /path/to/nextdataWenn Sie eine DVD+RW erweitern, verwenden Sie
dieselben &man.mkisofs.8;-Optionen wie beim Erstellen
der DVD+RW.Verwenden Sie , um bessere
Kompatibilität mit DVD-ROM-Laufwerken zu gewährleisten.
Zu einem DVD+RW-Medium können Sie mit dieser Option auch
weiterhin Daten hinzufügen.Um das Medium zu löschen, verwenden Sie:&prompt.root; growisofs -Z /dev/
cd0=/dev/zeroDVD-RW-Medien benutzenDVDDVD-RWEine DVD-RW kann mit zwei Methoden beschrieben werden:
Sequential-Recording oder
Restricted-Overwrite. Voreingestellt
ist Sequential-Recording.Eine neue DVD-RW kann direkt beschrieben werden; sie
muss nicht vorher formatiert werden. Allerdings muss
eine DVD-RW, die mit Sequential-Recording aufgenommen
wurde, zuerst gelöscht werden, bevor eine neue Session
aufgenommen werden kann.Der folgende Befehl löscht eine DVD-RW im
Sequential-Recording-Modus:&prompt.root; dvd+rw-format -blank=full /dev/
cd0Das vollständige Löschen mit
dauert mit einem
1x Medium ungefähr eine Stunde. Wenn die DVD-RW im
Disk-At-Once-Modus (DAO) aufgenommen wurde, kann sie mit
schneller gelöscht werden. Um eine
DVD-RW im DAO-Modus zu brennen, benutzen Sie das folgende
Kommando:&prompt.root; growisofs -use-the-force-luke=dao -Z
/dev/cd0=imagefile.isoDie Option
sollte nicht erforderlich sein, da &man.growisofs.1;
den DAO-Modus automatisch erkennt.Der Restricted-Overwrite-Modus sollte mit jeder
DVD-RW verwendet werden, da er flexibler als der
voreingestellte Sequential-Recording-Modus ist.Um Daten auf eine DVD-RW im Sequential-Recording-Modus
zu schreiben, benutzen Sie dasselbe Kommando wie
für die anderen DVD-Formate:&prompt.root; growisofs -Z /dev/cd0
-J -R /path/to/dataUm weitere Daten zu einer Aufnahme hinzuzufügen, benutzen
Sie mit &man.growisofs.1;. Werden die
Daten im Sequential-Recording-Modus hinzugefügt, wird eine
neue Session erstellt. Das Ergebnis ist ein
Multi-Session-Medium.Eine DVD-RW im Restricted-Overwrite-Modus muss nicht
gelöscht werden, um eine neue Session aufzunehmen.
Das Medium kann einfach mit
überschrieben werden. Mit kann das
ISO-9660-Dateisystem, wie mit einer DVD+RW, vergrößert werden.
Die DVD enthält danach eine Session.Benutzen sie das nachstehende Kommando, um den
Restricted-Overwrite-Modus einzustellen:&prompt.root; dvd+rw-format /dev
/cd0Das folgende Kommando stellt den Modus wieder auf
Sequential-Recording zurück:&prompt.root; dvd+rw-format -blank=full /dev
/cd0Multi-SessionNur wenige DVD-ROM-Laufwerke unterstützen
Multi-Session-DVDs und lesen meist nur die erste Session.
Mehrere Sessions werden von DVD+R, DVD-R und DVD-RW im
Sequential-Recording-Modus unterstützt. Im Modus
Restricted-Overwrite gibt nur eine Session.Wenn das Medium noch nicht geschlossen ist, erstellt
das nachstehende Kommando eine neue Session auf einer
DVD+R, DVD-R oder DVD-RW im Sequential-Recording-Modus:&prompt.root; growisofs -M /dev/cd0
-J -R /path/to/nextdataWird dieses Kommando mit DVD+RW- oder DVD-RW-Medien im
Restricted-Overwrite-Modus benutzt, werden die neuen Daten mit
den Daten der bestehenden Session zusammengeführt. Das Medium
enthält danach eine Session. Nutzen Sie diese Methode, um
neue Daten zu einer bestehenden Session hinzuzufügen.Für den Anfang und das Ende einer Session wird auf dem
Medium zusätzlicher Platz verbraucht. Um den Speicherplatz
auf dem Medium optimal auszunutzen, sollten Sie daher
Sessions mit vielen Daten hinzufügen. Auf ein DVD+R-Medium
passen maximal 154 Sessions, 2000 Sessions auf ein
DVD-R-Medium und 127 Sessions auf eine DVD+R Double
Layer.Weiterführendesdvd+rw-mediainfo
/dev/cd0 zeigt
Informationen über eine im Laufwerk liegende
DVD an.Weiteres zu dvd+rw-tools
finden Sie in &man.growisofs.1;, auf der dvd+rw-tools
Web-Seite und in den Archiven der cdwrite-Mailingliste.Wenn Sie einen Problembericht zur Nutzung der
dvd+rw-tools erstellen, fügen Sie
immer die Ausgabe von dvd+rw-mediainfo
hinzu.DVD-RAMDVDDVD-RAMKonfigurationDVD-RAM-fähige Brenner nutzten die SCSI- oder
ATAPI-Schnittstelle. Für ATAPI-Geräte muss der DMA-Modus
aktiviert werden, indem die folgende Zeile in
/boot/loader.conf hinzugefügt
wird:hw.ata.atapi_dma="1"Das Medium vorbereitenEine DVD-RAM kann mit einer Wechselplatte vergleichen
werden. Wie diese, muss auch eine DVD-RAM vor dem ersten
Einsatz formatiert werden. In diesem Beispiel wird das
gesamte Medium mit dem Standard-UFS2-Dateisystem
formatiert:&prompt.root; dd if=/dev/zero of=/dev/acd0 bs=2k count=1
&prompt.root; bsdlabel -Bw acd0
&prompt.root; newfs /dev/acd0Denken Sie dabei daran, dass Sie gegebenenfalls die
Gerätedatei (hier acd0) an
Ihre Konfiguration anpassen müssen.Das Medium einsetzenNachdem die DVD-RAM formatiert ist, kann sie wie eine
normale Festplatte gemountet werden:&prompt.root; mount /dev/acd0/mntDanach kann schreibend und lesend auf das
Medium zugegriffen werden.Disketten benutzenJulioMerinoOriginal von MartinKarlssonUmgeschrieben von Disketten sind nützlich, wenn kein anderes
bewegliches Speichermedium vorhanden ist oder wenn
nur kleine Datenmengen transferiert werden sollen.Dieser Abschnitt beschreibt die Handhabung von Disketten
unter &os;. Es umfasst die Formatierung und Benutzung von
3,5 Zoll Disketten, doch lassen sich die Konzepte leicht
auf Disketten anderer Formate übertragen.Disketten formatierenDie GerätedateienWie auf jedes andere Gerät auch, greifen Sie
auf Disketten über Einträge im Verzeichnis
/dev zu. Verwenden
Sie dazu die Einträge
/dev/fdN.FormatierungBevor eine Diskette benutzt werden kann, muss Sie
(low-level) formatiert werden, was normalerweise der
Hersteller schon gemacht hat. Sie können die Diskette
allerdings noch einmal formatieren, um das Medium zu
überprüfen. Es ist möglich, die Kapazität der Diskette zu
verändern, allerdings sind die meisten Disketten auf
1440 kB ausgelegt.Mit &man.fdformat.1; werden Disketten formatiert. Das
Kommando erwartet die Angabe eines Gerätenamens.Achten Sie bei der Formatierung
auf Fehlermeldungen, die schlechte Speichermedien
anzeigen.Disketten formatierenUm eine Diskette zu formatieren, legen Sie eine
3,5 Zoll Diskette in das erste Diskettenlaufwerk ein
und führen das folgende Kommando aus:&prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0Das DisklabelNach 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.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
/etc/disktab.Erstellen Sie nun das Label mit &man.bsdlabel.8;:&prompt.root; /sbin/bsdlabel -B -w /dev/fd0 fd1440Das DateisystemAuf der Diskette muss nun ein Dateisystem erstellt werden
(high-level Formatierung), damit &os; von der Diskette lesen
und auf sie schreiben kann. Das Disklabel wird durch das
Anlegen eines Dateisystems zerstört. Falls die Diskette
später erneut formatiert wird, muss auch ein neues Disklabel
erstellt werden.Sie können entweder UFS oder FAT als Dateisystem
verwenden. Für Disketten ist FAT das beste Dateisystem.Das folgende Kommando legt ein Dateisystem auf der Diskette
an:&prompt.root; /sbin/newfs_msdos /dev/fd0Die Diskette kann nun benutzt werden.Verwenden der DisketteZum Einhängen der Diskette in das Dateisystem
verwenden Sie den Befehl &man.mount.msdosfs.8;. Sie
können auch den
Port emulators/mtools
verwenden, um mit der Diskette zu arbeiten.Bandmedien benutzenBandmedienBandmedien haben sich mit der Zeit weiterentwickelt, werden
jedoch in heutigen Systemen immer weniger verwendet. Moderne
Backup-Systeme verwenden
Offsite-Backups in Verbindung mit
lokalen Wechseldatenträgern. Weiterhin unterstützt &os;
SCSI-Bandlaufwerke, wie etwa LTO und die älteren DAT-Laufwerke.
Zusätzlich gibt es begrenzte Unterstützung für SATA- und
USB-Bandlaufwerke.Serieller Zugriff mit &man.sa.4;Bandlaufwerke&os; nutzt den &man.sa.4; Treiber, der die Schnittstellen
/dev/sa0,
/dev/nsa0 und
/dev/esa0 bereitstellt. Im üblichen
Gebrauch wird jedoch meist nur
/dev/sa0 benötigt.
/dev/nsa0 bezeichnet das selbe
pysikalische Laufwerk wie /dev/sa0,
aber nach dem Schreiben einer Datei wird das Band nicht
zurückgespult, was es erlaubt, mehr als eine Datei auf ein
Band zu schreiben. Die Verwendung von
/dev/esa0 wirft das Band aus,
nachdem das Gerät geschlossen wurde.Steuerung des Bandlaufwerks mit &man.mt.1;Bandmedienmt&man.mt.1; ist das &os; Dienstprogramm für die Steuerung
weiterer Optionen des Bandlaufwerks, wie zum Beispiel die
Suche nach Dateien auf dem Band, oder um Kontrollmarkierungen
auf das Band zu schreiben.Beispielsweise können die ersten drei Dateien auf einem
Band erhalten bleiben, indem diese übersprungen werden,
bevor eine neue Datei geschrieben wird:&prompt.root; mt -f /dev/nsa0 fsf 3Benutzung von &man.tar.1; zum Lesen
und Schreiben von BandsicherungenHier ein Beispiel, wie eine einzelne Datei mittels
&man.tar.1; auf ein Band geschrieben wird:&prompt.root; tar cvf /dev/sa0 fileWiederherstellung von Dateien aus dem &man.tar.1;-Archiv
von Band in das aktuelle Verzeichnis:&prompt.root; tar xvf /dev/sa0Die Benutzung von &man.dump.8;
und &man.restore.8; zum Erstellen und Wiederherstellen von
Sicherungen.Ein einfache Sicherung von
/usr mit
&man.dump.8;:&prompt.root; dump -0aL -b64 -f /dev/nsa0 /usrInteraktive Wiederherstellung von Dateien aus einer
&man.dump.8;-Datei von Band in das aktuelle
Verzeichnis:&prompt.root; restore -i -f /dev/nsa0Weitere Software zur
BandsicherungEs stehen weitere Programme zur Vereinfachung von
Bandsicherungen zur Verfügung. Zu den bekanntesten gehören
Amanda und
Bacula. Diese Programme zielen
darauf ab, Sicherungen einfacher und bequemer zu machen, oder
um komplexe Sicherungen mehrerer Maschinen zu automatisieren.
Die Ports-Sammlung enthält sowohl diese, als auch weitere
Programme für die Bandsicherung.Backup-StrategienLowellGilbertBeigetragen von Wenn Sie eine eigene Backup-Strategie planen, müssen Sie
darauf achten, dass jedes der folgenden Probleme von Ihrer
Strategie abgedeckt wird:Plattendefekte.Versehentliches Löschen von Dateien.Eine nicht vorhersehbare Korrumpierung von Dateien.Die vollständige Zerstörung Ihres Systems, etwa
durch ein Feuer. Dazu gehört auch die Zerstörung
von Backups, die am gleichen Ort aufbewahrt werden.Einige Systeme werden am besten geschützt, wenn für jedes
dieser Probleme eine eigene (oft völlig unterschiedliche)
Strategie besteht. Es ist vielmehr unwahrscheinlich (sieht man
von Systemen ab, die keine wichtigen Daten enthalten), dass
eine Technik alle Problembereiche abdecken kann.Einige mögliche Techniken sind unter anderen:Die Archivierung des kompletten Systems auf externen
Datenträgern, die an einem gesonderten Ort aufbewahrt
werden. Dieser Ansatz schützt zwar vor allen oben
angeführten Problemen, ist aber zeitaufwändig.
Auch eine Wiederherstellung des Systems ist nicht ohne
weiteres möglich. Zwar können Kopien Ihrer
Backups auch vor Ort und/oder auf online zugängigen
Systemen aufbewahrt werden, was aber nichts daran ändert,
dass eine Wiederherstellung, insbesondere für nicht
privilegierte Benutzer, nach wie vor nicht ohne weiteres
möglich ist.Dateisystem-Snapshots helfen zwar nur gegen das
versehentliche Löschen von Dateien, in einem solchen Fall
sind sie aber äußerst hilfreich. Ein
weiterer Vorteil ist die schnelle und einfache
Handhabung.Das Erstellen von Kopien ganzer Dateisysteme oder
Platten (etwa durch einen periodischen
&man.rsync.1;-Transfer des kompletten Systems). Diese
Technik ist insbesondere in Netzwerken mit besonderen
Anforderungen nützlich. Der Schutz vor Plattendefekten
ist allerdings schlechter als beim Einsatz von
RAID. Die Fähigkeiten zur
Wiederherstellung gelöschter Dateien sind mit denen von
UFS-Snapshots vergleichbar.RAID. Minimiert oder vermeidet
Ausfallzeiten, die durch einen Plattendefekt verursacht
werden könnten. Zwar können Plattendefekte aufgrund der
höheren Anzahl verwendeter Platten häufiger auftreten, sie
stellen aber dann kein so akutes Problem dar.Das Überprüfen von Datei-Fingerprints durch
&man.mtree.8;. Dabei handelt es sich zwar um keine
Backup-Technik im eigentlichen Sinne, Sie werden durch den
Einsatz dieses Werkzeugs aber informiert, dass Sie auf Ihre
Backups zurückgreifen müssen. Dies ist insbesondere
beim Einsatz von Offline-Backups von großer Bedeutung.
Daher sollte diese Technik regelmäßig eingesetzt
werden.Es gibt noch weitere Techniken, von denen aber viele nur
Variationen der eben beschriebenen Techniken sind. Spezielle
Anforderungen erfordern dabei in der Regel auch spezielle
Backup-Techniken. So erfordert das Backup einer aktiven
Datenbank in der Regel ein auf die eingesetzte
Datenbank-Software abgestimmtes Verfahren. Entscheidend ist
daher immer, gegen welche Gefahren man sich schützen will und
wie dieser Schutz realisiert wird.DatensicherungDie wichtigsten Programme zur Sicherung von Daten in &os;
sind &man.dump.8;, &man.tar.1;, &man.cpio.1; und
&man.pax.1;.Sichern und WiederherstellenDatensicherungBackupBackup-SoftwaredumpBackup-Softwarerestoredumprestoredump und restore
sind die traditionellen Backup-Programme in &unix; Systemen.
Sie betrachten das Laufwerk als eine Ansammlung von Blöcken,
operieren also unterhalb des Abstraktionslevels von Dateien,
Links und Verzeichnissen, die die Grundlage des
Dateisystemkonzepts bilden. Im Gegensatz zu anderen
Backup-Programmen sichert dump 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.
dump schreibt keine Dateien oder
Verzeichnisse, sondern die Blöcke, aus denen Dateien und
Verzeichnisse bestehen. Wenn restore für
das Extrahieren von Daten verwendet wird, werden temporäre
Dateien standardmäßig in /tmp/ abgelegt.
Wenn Sie von einer Platte mit einem kleinen
/tmp-Verzeichnis zurücksichern, setzen
Sie die Umgebungsvariable TMPDIR auf ein
Verzeichnis mit mehr freiem Speicherplatz, damit die
Wiederherstellung gelingt.Wird dump benutzt, um das
Root-Verzeichnis zu sichern, werden
/home, /usr und
viele andere Verzeichnisse nicht gesichert, da dies
normalerweise Mountpunkte für andere Dateisysteme oder
symbolische Links zu diesen Dateisystemen sind.dump hat einige Eigenarten, die noch aus den
frühen Tagen der Version 6 von AT&T &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..rhostsrdump und rrestore
können Daten über Netzwerk auf ein Band, das sich in einem
Laufwerk eines anderen Computers befindet, überspielen. Beide
Programme benutzen die Funktionen &man.rcmd.3; und
&man.ruserok.3; zum Zugriff auf das entfernte Bandlaufwerk.
Daher muss der Anwender, der das Backup durchführt, auf dem
entfernten Rechner in .rhosts eingetragen
sein. Die Argumente zu rdump und
rrestore müssen zur Verwendung auf dem
entfernten Computer geeignet sein. Wenn zum Beispiel mit
rdump von einem &os;-Rechner aus auf ein
Exabyte-Bandlaufwerk mit Namen komodo
zugreifen werden soll, nutzen Sie:&prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1Die Authentifizierung über .rhosts
stellt ein Sicherheitsrisiko dar. Nutzen Sie diese Funktion
also mit Vorsicht.Es ist auch möglich, dump und
restore über eine gesicherte Verbindung
mit ssh einzusetzen:dump mit ssh
benutzen&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gzAlternativ kann das integrierte RSH benutzt
werden.dump über ssh
mit gesetzter RSH benutzen&prompt.root; env RSH=/usr/bin/ssh /sbin/dump -0uan -f tatargetuser@targetmachine.example.com:/dev/sa0 /usrtarBackup-Softwaretar&man.tar.1; stammt ebenfalls aus Version 6 von AT&T
&unix; (ca. 1975). tar arbeitet mit dem
Dateisystem und schreibt Dateien und Verzeichnisse auf das
Band. tar unterstützt zwar nicht alle
Optionen, die bei &man.cpio.1; zur Verfügung stehen, aber
dafür erfordert es auch nicht die ungewöhnliche
Kommando-Pipeline, die von cpio verwendet
wird.tarUm Daten mit tar auf ein
angeschlossenes Exabyte-Bandlaufwerk am Host
komodo zu archivieren:&prompt.root; tar cf - . | rsh komodo dd of=tape-
device obs=20bBei der Sicherung über ein unsicheres Netzwerk, sollte
stattdessen ssh benutzt werden.CpioBackup-Softwarecpiocpio&man.cpio.1; ist das ursprüngliche Programm von
&unix; Systemen zum Dateitransfer mit magnetischen Medien.
cpio hat 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 cpio
zu einer ausgezeichneten Wahl für Installationsmedien.
cpio kann jedoch keine Dateibäume
durchlaufen, so dass eine Liste der zu bearbeitenden Dateien
über stdin angegeben werden muss.cpiocpio unterstützt keine Backups
über das Netzwerk. Man kann aber eine Pipeline und
ssh verwenden, um Daten an ein entferntes
Bandlaufwerk zu senden.&prompt.root; for f in directory_list; dofind $f >> backup.listdone
&prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"Dabei steht directory_list für
eine Aufzählung der Verzeichnisse, die gesichert werden
sollen. user@host
gibt den Benutzer auf dem Zielrechner an, der die Sicherung
laufen lässt. Der Ort der Sicherung wird durch
backup_device angegeben,
beispielsweise/dev/nsa0.paxBackup-SoftwarepaxpaxPOSIXIEEE&man.pax.1; ist IEEE/&posix; Antwort auf
tar und cpio. Über die
Jahre hinweg sind die verschiedenen Versionen von
tar und cpio leicht
inkompatibel geworden. Daher hat &posix;, statt eine
Standardisierung zwischen diesen auszufechten, ein neues
Archivprogramm geschaffen. pax versucht
viele der unterschiedlichen cpio- und
tar-Formate zu lesen und zu schreiben,
außerdem einige neue, eigene Formate. Die Kommandostruktur
ähnelt eher cpio als
tar.AmandaBackup-SoftwareAmandaAmandaAmanda
(Advanced Maryland Network Disk Archiver) ist ein
Client/Server-Backupsystem, nicht nur ein einzelnes Programm.
Ein Amanda-Server kann auf einem
einzigen Bandlaufwerk Datensicherungen von jeder beliebigen
Anzahl von Computern speichern, sofern auf diesen jeweils ein
Amanda-Client läuft und sie
über Netzwerk mit dem Amanda-Server
verbunden sind.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.
Amanda löst dieses Problem durch
Verwendung einer Holding Disk, einer Festplatte
zum gleichzeitigen Zwischenspeichern mehrerer
Dateisysteme.Für Datensicherungen über einen längeren
Zeitraum erzeugt AmandaArchivsets von allen Dateisystemen, die in
Amandas 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.Die Konfigurationsdatei ermöglicht die Feineinstellung
der Backups und des Netzwerkverkehrs von
Amanda.
Amanda kann zum Schreiben der Daten
auf das Band jedes der oben beschriebenen Backuprogramme
verwenden. Amanda ist nicht Teil
des Basissystems, es muss über die Ports-Sammlung oder als
Paket installiert werden.Tue nichtsTue nichts ist kein Computerprogramm, sondern die
am häufigsten angewendete Backupstrategie. Diese kostet nichts,
man muss keinen Backup Plan befolgen, einfach nur nein sagen. Wenn
etwas passiert, einfach grinsen und ertragen!Wenn Ihre Zeit und Daten nicht so wichtig sind, dann ist
die Strategie Tue nichts das geeignetste
Backup-Programm für den Computer. Aber &unix; ist ein
nützliches Werkzeug, und im Laufe der Zeit kann es dazu
verwendet werden, eine Sammlung von Dateien zu schaffen, die
wertvoll sind.Tue nichts ist die richtige Backupmethode
für /usr/obj 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 XML erzeugt. Es
ist nicht nötig, Sicherheitskopien der HTML- oder
&postscript;-Dateien zu erstellen, solange die
XML-Dateien in regelmäßige Backups mit
einbezogen werden.Welches Backup-Programm ist am Besten?LISAdump, Punkt und Schluss.
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 dump.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. Torture-testing
Backup and Archive Programs.Die Wiederherstellung in einem NotfallVor dem UnglückEs sind vier Vorkehrungen zu treffen, um auf jedes
erdenkliche Unglück vorbereitet zu sein.bsdlabelAls erstes drucken Sie das bsdlabel jeder Festplatte mit
einem Befehl wie bsdlabel da0 | lpr.
Drucken Sie ebenfalls eine Kopie von
/etc/fstab) sowie alle
Bootmeldungen.Live-CDZweitens, brennen Sie eine livefs-CD.
Diese CD-ROM enthält alle nötigen Programme, um in einen
Reperaturmodus zu starten, aus dem heraus Sie unter anderem
&man.dump.8;, &man.restore.8;, &man.fdisk.8;,
&man.bsdlabel.8;, &man.newfs.8; sowie &man.mount.8; starten
können. ISO-Abbilder für das livefs-System
finden Sie unter ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO-IMAGES/&rel.current;/&os;-&rel.current;-RELEASE-&arch.i386;-livefs.iso.Seit &os; 9.0-RELEASE sind ISO-Abbilder
für das livefs-System nicht mehr verfügbar.
Neben den ISO-Abbildern für CD-ROM können auch Abbilder
für USB-Datenspeicher verwendet werden, um ein System
wiederherzustellen. Das memstick-Abbild
für &os;/&arch.i386; &rel.current;-RELEASE finden Sie
unter ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/&rel.current;/&os;-&rel.current;-RELEASE-&arch.i386;-memstick.img.Drittens, machen Sie regelmäßig Backups auf Band.
Jede Änderung seit dem letzten Backup kann
unwiederbringlich verloren gehen. Versehen Sie die
Backup-Bänder mit Schreibschutz.Viertens, testen Sie das erstellte
livefs-System sowie die Backups.
Dokumentieren Sie diesen Test und bewahren Sie diese
Notizen zusammen mit der livefs-CD und den
Backups. Diese Notizen können Ihnen im Notfall helfen
eine versehentliche Zerstörung des Backups zu verhindern,
während Sie unter Druck eine Wiederherstellung
durchführen.Als zusätzliche Sicherheitsvorkehrung, kann man jeweils
die livefs-CD und Bänder doppelt erstellen.
Eine der Kopien sollte an einem entfernten Standort
aufbewahrt werden. Ein entfernter Standort ist NICHT der
Keller im gleichen Gebäude. Ein entfernter Standort sollte
von den Computern und den Festplatten physikalisch durch
eine erhebliche Entfernung getrennt sein.Nach dem UnglückPrüfen Sie als Erstes, ob die Hardware überlebt hat.
Dank regelmäßigen
Offside-Backups besteht kein
Grund, sich um die Software Sorgen zu machen.Falls die Hardware beschädigt wurde, ersetzen Sie zuerst
die defekten Teile bevor Sie den Computer benutzen.Falls die Hardware funktioniert, legen Sie die
livefs-CD ein und starten den Rechner. Das
originale Installationsprogramm wird auf dem Bildschirm
angezeigt werden. Legen Sie zuerst Ihr Land fest. Danach
öffnen Sie das Menü
Fixit -- Repair mode with CD-ROM/DVD/floppy or start
a shell. und wählen den Eintrag
CD-ROM/DVD -- Use the live filesystem
CD-ROM/DVD aus. restore
und die anderen benötigten Programme, befinden sich dann im
Verzeichnis /mnt2/rescue.Stellen Sie die Dateisysteme nacheinander wieder her.mountRoot-PartitionbsdlabelnewfsVersuchen Sie mit mount die
Root-Partition der ersten Festplatte einzuhängen. Wenn das
bsdlabel beschädigt wurde, benutzen Sie
bsdlabel um die Platte neu zu
partitionieren und zu benennen und zwar so, dass die
Festplatte mit dem Label übereinstimmt, welches ausgedruckt
und aufbewahrt wurde.Verwenden Sie newfs um die
Dateisysteme neu zu erstellen. Hängen Sie mit
mount -u -o rw /mnt die Root-Partition
der Festplatte mit Schreibzugriff ein. Benutzen Sie die
Backups, um die Daten für das jeweilige Dateisystem
wieder her zu stellen. Hängen Sie das Dateisystem mit
umount /mnt wieder aus. Wiederholen Sie
diesen Ablauf für jedes beschädigte Dateisystem.Sobald das 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
investieren, kann später weiteres Missgeschick
ersparen.Netzwerk-, speicher- und dateibasierte DateisystemeMarcFonvieilleVerbessert und neu strukturiert von LaufwerkevirtuelleNeben physikalischen Laufwerken, wie Disketten, CDs und
Festplatten, unterstützt &os; auch
virtuelle Laufwerke.NFSCodaLaufwerkespeicherbasierteLaufwerkeRAM-DisksDazu zählen Netzwerkdateisysteme wie
Network Filesystem und Coda,
speicher- und dateibasierte Dateisysteme.Abhängig von der verwendeten &os; Version werden
speicher- und dateibasierte Dateisysteme mit unterschiedlichen
Werkzeugen angelegt.Gerätedateien werden unter &os; automatisch
von &man.devfs.5; angelegt.Dateibasierte Laufwerke unter FreeBSDLaufwerkedateibasierteUnter &os; werden virtuelle Laufwerke, &man.md.4;,
mit &man.mdconfig.8; erzeugt. Dazu muss das Modul
&man.md.4; geladen sein. Bei der Verwendung einer eigenen
Kernelkonfiguration, muss diese Zeile enthalten sein:device md&man.mdconfig.8; unterstützt verschiedene Arten von
speicherbasierten virtuellen Laufwerken: speicherbasierte
Laufwerke, deren Speicher von &man.malloc.9; zur Verfügung
gestellt wird, und 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 CD-ROMs.Das Abbild eines Dateisystems wird wie folgt
eingehangen:Einhängen eines existierenden Abbildes unter
&os;&prompt.root; mdconfig -a -t vnode -f diskimage -u 0
&prompt.root; mount /dev/md0 /mntEin neues Dateisystem-Abbild erstellen Sie mit
&man.mdconfig.8; wie folgt:Erstellen eines dateibasierten Laufwerks mit
mdconfig&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdconfig -a -t vnode -f newimage -u 0
&prompt.root; bsdlabel -w md0 auto
&prompt.root; newfs md0a
/dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes.
super-block backups (for fsck -b #) at:
160, 2720, 5280, 7840
&prompt.root; mount /dev/md0a /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0a 4710 4 4330 0% /mntWenn keine Gerätenummer mit angegeben
ist, wird von &man.md.4; automatisch eine
ungenutzte Gerätenummer zugewiesen. Das zugewiesene Gerät
wird auf der Standardausgabe ausgegeben (zum Beispiel
md4). Weitere Informationen finden Sie
in &man.mdconfig.8;.Obwohl &man.mdconfig.8; sehr nützlich ist, benötigt es
einige Kommandos, um ein dateibasiertes Dateisystem zu
erstellen. &os; enthält auch &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 UFS-Dateisystem und
hängt es anschließend mit &man.mount.8; ein. Das virtuelle
Laufwerk aus dem obigen Beispiel kann mit den nachstehenden
Befehlen erstellt werden:Mit mdmfs ein dateibasiertes
Dateisystem erstellen&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdmfs -F newimage -s 5m md0 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0 4718 4 4338 0% /mntWenn ohne Gerätenummer verwendet wird,
wählt &man.md.4; automatisch ein ungenutztes
Gerät aus. Weitere Einzelheiten entnehmen Sie bitte der
Hilfeseite &man.mdmfs.8;.Speicherbasierte Laufwerke unter FreeBSDLaufwerkespeicherbasierteBei einem speicherbasierten Dateisystem sollte
swap backing aktiviert werden. Das heißt
allerdings nicht, dass das speicherbasierte Laufwerk
automatisch auf die Festplatte ausgelagert wird, vielmehr
wird der Speicherplatz danach aus einem Speicherpool
angefordert, der bei Bedarf auf die Platte ausgelagert werden
kann. Zusätzlich ist es möglich, &man.malloc.9;-gestützte
speicherbasierte Laufwerke zu erstellen. Das Anlegen solcher
Laufwerke kann allerdings zu einer System-Panic führen, wenn
der Kernel danach über zu wenig Speicher verfügt.Erstellen eines speicherbasierten Laufwerks mit
mdconfig&prompt.root; mdconfig -a -t swap -s 5m -u 1
&prompt.root; newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes.
with soft updates
super-block backups (for fsck -b #) at:
160, 2752, 5344, 7936
&prompt.root; mount /dev/md1 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md1 4718 4 4338 0% /mntErstellen eines speicherbasierten Laufwerks mit
mdmfs&prompt.root; mdmfs -s 5m md2 /mnt
&prompt.root; df /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md2 4846 2 4458 0% /mntVirtuelle Laufwerke freigebenLaufwerkeFreigabe von virtuellen LaufwerkenWenn ein virtuelles Laufwerk nicht mehr in Gebrauch ist,
sollten seine belegten Ressourcen an das System zurückgegeben
werden. Zuerst wird das Dateisystem abgehängt und dann die
benutzten Ressourcen mit &man.mdconfig.8; freigegeben.Alle von /dev/md4 belegten Ressourcen
werden mit dem nachstehenden Kommando freigegeben:&prompt.root; mdconfig -d -u 4Informationen zu eingerichteten &man.md.4;-Geräten werden
mit mdconfig -l angezeigt.Schnappschüsse von DateisystemenTomRhodesBeigetragen von Schnappschüssevon DateisystemenZusammen mit
Soft Updates bietet &os;
eine weitere Funktion: Schnappschüsse von Dateisystemen.UFS-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 ein Schnappschuss nicht mehr benötigt wird, kann er
mit &man.rm.1; gelöscht werden. 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.Das unveränderliche -Dateiflag
wird nach der Erstellung des Snaphshots von &man.mksnap.ffs.8;
gesetzt. Durch die Verwendung von &man.unlink.1; ist es
allerdings möglich, einen Schnappschuss zu löschen.Schnappschüsse werden mit &man.mount.8; erstellt. Das
folgende Kommando legt einen Schnappschuss von
/var in /var/snapshot/snap
ab:&prompt.root; mount -u -o snapshot /var/snapshot/snap /varAlternativ kann der Schnappschuss auch mit
&man.mksnap.ffs.8; erstellt werden.&prompt.root; mksnap_ffs /var /var/snapshot/snapUm Schnappschüsse auf einem Dateisystem, beispielsweise
/var zu finden, kann man &man.find.1;
verwenden:&prompt.root; find /var -flags snapshotNachdem ein Schnappschuss erstellt wurde, können Sie
ihn für verschiedene Zwecke benutzen:Sie können den Schnappschuss für die
Datensicherung benutzen und ihn auf eine CD oder ein Band
schreiben.Die Intigrität des Schnappschusses kann mit &man.fsck.8;
geprüft werden. Wenn das Dateisystem zum Zeitpunkt der
Erstellung des Schnappschusses in Ordnung war, sollte
&man.fsck.8; immer erfolgreich durchlaufen.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
von &man.dump.8; erstellt für die
Sicherung einen Schnappschuss und entfernt diesen am Ende
der Sicherung wieder.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
/var/snapshot/snap ein:&prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4
&prompt.root; mount -r /dev/md4 /mntDer eingefrorene Stand des
/var-Dateisystems ist nun unterhalb von
/mnt verfügbar. Mit Ausnahme der früheren
Schnappschüsse, die als leere Dateien auftauchen, wird zu
Beginn alles so aussehen, wie zum Zeitpunkt der Erstellung des
Schnappschusses. Der Schnappschuss kann wie folgt abgehängt
werden:&prompt.root; umount /mnt
&prompt.root; mdconfig -d -u 4Weitere Informationen über Soft Updates und
Schnappschüsse von Dateisystemen sowie technische Artikel finden
Sie auf der Webseite
von Marshall Kirk McKusick.Dateisystem-QuotasAccountingPlattenplatzDisk QuotasQuotas sind eine optionale Funktion des Betriebssystems,
die es 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.Konfiguration des Systems, um Quotas zu
aktivierenBevor Quotas benutzt werden können, müssen
sie im Kernel konfiguriert werden, wozu die folgende Zeile
der Kernelkonfiguration hinzugefügt wird:options QUOTAIm GENERIC Kernel sind Quotas
standardmäßig nicht aktiviert, so dass ein angepasster
Kernel gebaut werden muss, um Quotas zu benutzen. Weitere
Informationen zur Kernelkonfiguration finden Sie in
.Durch Hinzufügen der folgenden Zeile in
/etc/rc.conf wird das Quota-System
aktiviert:quota_enable="YES"Disk QuotasüberprüfenUm 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. Dieses Programm stellt sicher, dass die
Quota-Datenbank mit den Daten auf einem Dateisystem
übereinstimmt. Dies ist allerdings ein zeitraubender Prozess,
der die Zeit, die das System zum Booten braucht, signifikant
beeinflusst. Eine Variable in
/etc/rc.config erlaubt es, diesen Schritt
zu überspringen:check_quotas="NO"Zuletzt muss noch /etc/fstab
bearbeitet werden, um die Plattenquotas auf Dateisystemebene
zu aktivieren. Dort können für die Dateisysteme Quotas für
Benutzer oder Gruppen aktiviert werden.Um Quotas pro Benutzer für ein Dateisystem zu aktivieren,
geben Sie für dieses Dateisystem im
Feld Optionen von /etc/fstab an.
Beispiel:/dev/da1s2g /home ufs rw,userquota 1 2Um Quotas für Gruppen einzurichten, verwenden
Sie . Um Quotas für Benutzer
und Gruppen einzurichten, ändern Sie den Eintrag
wie folgt ab:/dev/da1s2g /home ufs rw,userquota,groupquota 1 2Die Quota-Dateien werden standardmäßig im Rootverzeichnis
des Dateisystems unter quota.user und
quota.group abgelegt. Weitere
Informationen finden Sie in &man.fstab.5;. Obwohl die
Quota-Dateien an anderer Stelle gespeichert werden können,
wird das nicht empfohlen, da es den Anschein hat, dass die
verschiedenen Quota-Utilities dies nicht richtig
unterstüzten.Sobald die Konfiguration abgeschlossen ist, booten Sie das
System mit dem neuen Kernel.
/etc/rc wird dann automatisch die
richtigen Kommandos aufrufen, die die Quota-Dateien für
alle Quotas, die Sie in /etc/fstab
definiert haben, anlegen. Es besteht keine Notwendigkeit,
leere Quota-Dateien manuell zu erstellen .Normalerweise brauchen die Kommandos
&man.quotacheck.8;, &man.quotaon.8; oder
&man.quotaoff.8; nicht händisch aufgerufen werden,
obwohl man die entsprechenden Seiten im
Manual lesen sollte, um sich mit ihnen vertraut
zu machen.Setzen von Quota-LimitsDisk QuotasLimitsSobald das System konfiguriert wurde, Quotas zu
aktivieren, stellen Sie sicher, dass diese auch tatsächlich
aktiviert sind:&prompt.root; quota -vFür jedes Dateisystem, auf dem Quotas aktiviert sind,
sollte eine Zeile mit der Plattenauslastung und den
aktuellen Quota-Limits zu sehen sein.Mit &man.edquota.8; können nun
Quota-Limits zugewiesen werden.Mehrere Möglichkeiten stehen zur Verfügung, um 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), der Anzahl der Dateien (Inode-Quotas) oder
einer Kombination von beiden basieren.
Jedes Limit wird weiterhin in zwei Kategorien geteilt:
Hardlimits und Softlimits.HardlimitEin 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 Kilobytes auf einem Dateisystem und benutzt davon
490 Kilobyte, so kann er nur noch 10 weitere Kilobytes
beanspruchen. Der Versuch, weitere 11 Kilobytes zu beanspruchen,
wird fehlschlagen.SoftlimitSoftlimits können 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.Das folgende Beispiel zeigt die Benutzung von
&man.edquota.8;. Wenn &man.edquota.8; aufgerufen wird,
wird der Editor gestartet, der durch EDITOR
gegeben ist oder vi falls
EDITOR nicht gesetzt ist. In dem Editor
können Sie die Limits eingeben.&prompt.root; edquota -u testQuotas for user test:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: kbytes in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)Für jedes Dateisystem, auf dem Quotas aktiv sind,
sind zwei Zeilen zu sehen. Eine repräsentiert die
Block-Quotas und die andere 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:/usr: kbytes in use: 65, limits (soft = 50, hard = 75)zu:/usr: kbytes in use: 65, limits (soft = 500, hard = 600)Die neuen Limits sind wirksam, sobald der Editor verlassen
wird.Manchmal ist es erwünscht, die Limits für einen
Bereich von UIDs zu setzen. Dies kann mit der
Option von &man.edquota.8; bewerkstelligt werden.
Weisen Sie dazu die Limits einem Benutzer zu und rufen danach
edquota -p protouser startuid-enduid auf.
Besitzt beispielsweise der Benutzer test
die gewünschten Limits, können diese mit
dem folgenden Kommando für die UIDs 10.000 bis 19.999
dupliziert werden:&prompt.root; edquota -p test 10000-19999Weitere Informationen finden Sie in
&man.edquota.8;.Überprüfen von Quota-Limits und PlattennutzungDisk Quotasüberprüfen&man.quota.1; oder &man.repquota.8; können benutzt werden,
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.Das folgende Beispiel zeigt die Ausgabe von
quota -v für einen Benutzer, der
Quota-Limits auf zwei Dateisystemen besitzt:Disk quotas for user test (uid 1002):
Filesystem usage quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60grace periodIm Dateisystem /usr liegt der Benutzer
momentan 15 Kilobytes über dem Softlimit von
50 Kilobytes und hat noch 5 Tage seiner Frist übrig.
Der Stern * zeigt an, dass der
Benutzer sein Limit überschritten hat.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
werden diese Dateisysteme, wie /usr/var
im obigen Beispiel, angezeigt.Quotas über NFSNFSQuotas werden von dem Quota-Subsystem auf dem NFS Server
erzwungen. Der &man.rpc.rquotad.8; Daemon 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.Aktivieren Sie rpc.rquotad in
/etc/inetd.conf wie folgt:rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotadAnschließend starten Sie inetd
neu:&prompt.root; service inetd restartPartitionen verschlüsselnLuckyGreenBeigetragen von shamrock@cypherpunks.toPartitionenverschlüsseln&os; bietet ausgezeichnete Möglichkeiten, Daten vor
unberechtigten Zugriffen zu schützen. Wenn das
Betriebssystem läuft, schützen Zugriffsrechte und
vorgeschriebene Zugriffskontrollen (MAC) (siehe )
die Daten. Die Zugriffskontrollen des Betriebssystems
schützen allerdings nicht vor einem Angreifer, der
Zugriff auf den Rechner hat. Der Angreifer
kann eine Festplatte in ein anderes System einbauen
und dort die Daten analysieren.Die für &os; verfügbaren kryptografischen Subsysteme,
GEOM Based Disk Encryption (gbde)
und geli sind in der Lage, Daten auf
Dateisystemen auch vor hoch motivierten Angreifern zu
schützen, die über erhebliche Mittel verfügen.
Dieser Schutz ist unabhängig von der Art und Weise, durch
die ein Angreifer Zugang zu einer Festplatte oder zu einem
Rechner erlangt hat. Im Gegensatz zu schwerfälligen
Systemen, die einzelne Dateien verschlüsseln,
verschlüsseln gbde und
geli transparent ganze Dateisysteme. Auf der
Festplatte werden dabei keine Daten im Klartext gespeichert.Plattenverschlüsselung mit
gbdeSie benötigen Superuser-Rechte, um
gbde einzurichten.&prompt.user; su -
Password:Wird eine angepasste Kernelkonfigurationsdatei
verwendet, stellen Sie sicher, dass folgende Zeile
enthalten ist:options GEOM_BDEWenn der Kernel diese Unterstützung bereits enthält,
verwenden Sie kldload um
&man.gbde.4; zu laden:&prompt.root; kldload geom_bdeEinrichten einer verschlüsselten FestplatteDas folgende Beispiel beschreibt, wie eine Partition
auf einer neuen Festplatte verschlüsselt wird. Die
Partition wird in /private eingehangen.
Mit gbde könnten auch
/home und /var/mail
verschlüsselt werden. Die dazu nötigen Schritte
können allerdings in dieser Einführung
nicht behandelt werden.Installieren der FestplatteInstallieren Sie die Festplatte wie in
beschrieben. Im Beispiel
verwenden wir die Partition /dev/ad4s1c.
Die Gerätedateien
/dev/ad0s1*
sind Standard-Partitionen des &os;-Systems.&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4Verzeichnis für gbde-Lock-Dateien anlegen&prompt.root; mkdir /etc/gbdeDie Lock-Dateien sind für den Zugriff von
gbde auf verschlüsselte
Partitionen notwendig. Ohne die Lock-Dateien können
die Daten nur mit erheblichem manuellen Aufwand wieder
entschlüsselt werden (dies wird auch von der Software
nicht unterstützt). Jede verschlüsselte
Partition benötigt eine gesonderte Lock-Datei.Vorbereiten der gbde-PartitionEine von gbde benutzte
Partition muss einmalig vorbereitet werden:&prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock&man.gbde.8; öffnet eine Vorlage im Standard-Editor,
um verschiedene Optionen einstellen zu können.
Setzen Sie sector_size auf
2048, wenn Sie
UFS1 oder UFS2 benutzen.# $FreeBSD: src/sbin/gbde/template.txt,v 1.1.36.1 2009/08/03 08:13:06 kensmith Exp $
#
# Sector size is the smallest unit of data which can be read or written.
# Making it too small decreases performance and decreases available space.
# Making it too large may prevent filesystems from working. 512 is the
# minimum and always safe. For UFS, use the fragment size
#
sector_size = 2048
[...]&man.gbde.8; fragt zweimal die Passphrase zum Schutz
der Daten ab. Die Passphrase muss beide Mal gleich
eingegeben werden. Die Sicherheit der Daten hängt allein
von der Qualität der gewählten Passphrase ab. Die Auswahl
einer sicheren und leicht zu merkenden Passphrase wird auf
der Webseite Diceware
Passphrase beschrieben.Mit gbde init wurde im Beispiel
auch die Lock-Datei /etc/gbde/ad4s1c.lock
angelegt. gbde-Lockdateien
müssen die Dateiendung .lock aufweisen,
damit sie von /etc/rc.d/gbde, dem
Startskript von gbde, erkannt
werden.Sichern Sie die Lock-Dateien von
gbde immer zusammen mit den
verschlüsselten Dateisystemen. Ein entschlossener
Angreifer kann die Daten vielleicht auch ohne die
Lock-Datei entschlüsseln. Ohne die Lock-Datei
können Sie allerdings nicht auf die
verschlüsselten Daten zugreifen. Dies ist nur noch
mit erheblichem manuellen Aufwand möglich, der nicht
&man.gbde.8; wird.Einbinden der verschlüsselten Partition
in den Kernel&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lockDieses Kommando fragt die Passphrase ab, die bei der
Initialisierung der verschlüsselten Partition eingegeben
wurde. Das neue verschlüsselte Gerät erscheint danach in
/dev als
/dev/device_name.bde:&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bdeDateisystem auf dem verschlüsselten Gerät
anlegenNachdem die verschlüsselte Partition im Kernel
eingebunden ist, kann mit &man.newfs.8; ein Dateisystem
erstellt werden. Dieses Beispiel erstellt ein
UFS2-Dateisystem mit aktivierten Soft Updates.&prompt.root; newfs -U -O2 /dev/ad4s1c.bde&man.newfs.8; muss auf einer eingebundenen
gbde-Partition ausgeführt
werden, welche durch das Suffix
*.bde
identifiziert wird.Einhängen der verschlüsselten PartitionLegen Sie einen Mountpunkt für das
verschlüsselte Dateisystem an:&prompt.root; mkdir /privateHängen Sie das verschlüsselte Dateisystem
ein:&prompt.root; mount /dev/ad4s1c.bde /privateÜberprüfen des verschlüsselten
DateisystemsDas verschlüsselte Dateisystem sollte jetzt
von &man.df.1; erkannt werden und benutzt werden
können.&prompt.user; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1037M 72M 883M 8% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 8.1G 55K 7.5G 0% /home
/dev/ad0s1e 1037M 1.1M 953M 0% /tmp
/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr
/dev/ad4s1c.bde 150G 4.1K 138G 0% /privateEinhängen eines existierenden verschlüsselten
DateisystemsNach jedem Neustart müssen verschlüsselte
Dateisysteme dem Kernel wieder bekannt gemacht werden,
auf Fehler überprüft werden und eingehangen
werden. Die dazu nötigen Befehle müssen als
root durchgeführt werden.gbde-Partition im Kernel bekannt geben&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lockDieses Kommando fragt nach der Passphrase, die
während der Initialisierung der verschlüsselten
gbde-Partition festgelegt
wurde.Prüfen des DateisystemsDas verschlüsselte Dateisystem kann noch nicht
automatisch über /etc/fstab
eingehangen werden. Daher muss es vor dem Einhängen
mit &man.fsck.8; geprüft werden:&prompt.root; fsck -p -t ffs /dev/ad4s1c.bdeEinhängen des verschlüsselten
Dateisystems&prompt.root; mount /dev/ad4s1c.bde /privateDas verschlüsselte Dateisystem steht danach
zur Verfügung.Verschlüsselte Dateisysteme automatisch
einhängenMit einem Skript können verschlüsselte
Dateisysteme automatisch bekannt gegeben, geprüft
und eingehangen werden. Wir raten Ihnen allerdings
aus Sicherheitsgründen davon ab. Starten Sie das
Skript manuell an der Konsole oder in einer
&man.ssh.1;-Sitzung.Alternativ existiert ein
rc.d-Skript, an das über
Einträge in &man.rc.conf.5; Argumente übergeben werden
können:gbde_autoattach_all="YES"
gbde_devices="ad4s1c"
gbde_lockdir="/etc/gbde"Durch diese Argumente muss beim Systemstart die
gbde-Passphrase eingegeben werden.
Erst nach Eingabe der korrekten Passphrase wird die
gbde-verschlüsselte
Partition automatisch in den Verzeichnisbaum
eingehängt. Dieses Vorgehen ist
nützlich, wenn gbde auf
einem Laptop eingesetzt wird.Kryptografische Methoden von gbde&man.gbde.8; benutzt den 128-Bit AES im CBC-Modus,
um die Daten eines Sektors zu verschlüsseln. Jeder
Sektor einer Festplatte wird mit einem unterschiedlichen
AES-Schlüssel verschlüsselt. Weitere Informationen,
unter anderem wie die Schlüssel für einen Sektor
aus der gegebenen Passphrase ermittelt werden, finden
Sie in &man.gbde.4;.Kompatibilität&man.sysinstall.8; kann nicht mit verschlüsselten
gbde-Geräten umgehen. Vor
dem Start von &man.sysinstall.8; sind alle
*.bde-Geräte
zu deaktivieren, da &man.sysinstall.8; sonst bei der
Gerätesuche abstürzt. Das im Beispiel verwendete
Gerät wird mit dem folgenden Befehl deaktiviert:&prompt.root; gbde detach /dev/ad4s1c
-
- Sie können gbde
- nicht zusammen mit vinum
- benutzen, da &man.vinum.4; das &man.geom.4;-Subsystem
- nicht benutzt.
- Plattenverschlüsselung mit geliDanielGerzoBeigetragen von Mit geli ist eine alternative
kryptografische GEOM-Klasse verfügbar.
geli unterscheidet sich von
gbde durch unterschiedliche Fähigkeiten und
einen unterschiedlichen Ansatz für die Verschlüsselung.Die wichtigsten Merkmale von &man.geli.8; sind:Die Nutzung des &man.crypto.9;-Frameworks. Wenn das
System über kryptografische Hardware verfügt, wird diese
von geli automatisch verwendet.Die Unterstützung verschiedener kryptografischer
Algorithmen, wie beispielsweise AES, Blowfish, und
3DES.Die Möglichkeit, die root-Partition zu
verschlüsseln. Um auf die verschlüsselte
root-Partition zugreifen zu können, muss beim
Systemstart die Passphrase eingegeben werden.geli erlaubt den Einsatz von zwei
voneinander unabhängigen Schlüsseln, etwa einem
privaten Schlüssel und einem
Unternehmens-Schlüssel.geli ist durch einfache
Sektor-zu-Sektor-Verschlüsselung sehr schnell.Die Möglichkeit, Master-Keys zu sichern und
wiederherzustellen. Wenn ein Benutzer seinen Schlüssel
zerstört, kann er über seinen zuvor gesicherten
Schlüssel wieder auf seine Daten zugreifen.geli erlaubt es, Platten mit
einem zufälligen Einmal-Schlüssel einzusetzen,
was für Swap-Partitionen und
temporäre Dateisysteme interessant ist.Weitere Merkmale von
geli finden Sie in &man.geli.8;.Dieser Abschnitt beschreibt, wie geli
im &os;-Kernel aktiviert wird und wie ein
geli-Verschlüsselungs-Provider
angelegt wird.Da der Kernel angepasst werden muss, werden
root-Privilegien
benötigt.Aufnahme der geli-Unterstützung
in Ihre KernelkonfigurationsdateiStellen Sie bei einer angepassten
Kernelkonfigurationsdatei sicher, dass diese Zeile
enthalten ist:options GEOM_ELI
device cryptoAlternativ kann auch das
geli-Kernelmodul beim Systemstart
geladen werden, indem folgende Zeile in
/boot/loader.conf eingefügt
wird:geom_eli_load="YES"Ab sofort wird &man.geli.8; vom Kernel
unterstützt.Erzeugen des Master-KeysDas folgende Beispiel beschreibt, wie eine
Schlüsseldatei erzeugt wird, die als Teil des
Master-Keys für den Verschlüsselungs-Provider
verwendet wird, der unter /private
in den Verzeichnisbaum eingehängt wird. Die
Schlüsseldatei liefert zufällige Daten, die für die
Verschlüsselung des Master-Keys benutzt werden.
Zusätzlich wird der Master-Key durch eine Passphrase
geschützt. Die Sektorgröße des Providers beträgt
4 KB. Das Beispiel beschreibt, wie Sie einen
geli-Provider aktivieren, ein vom ihm
verwaltetes Dateisystem erzeugen, es mounten, mit ihm
arbeiten und wie Sie es schließlich wieder unmounten
und den Provider deaktivieren.Um eine bessere Leistung zu erzielen, wird eine
größere Sektorgröße, beispielsweise 4 KB,
empfohlen.Der Master-Key wird durch eine Passphrase sowie, den
Daten der Schlüsseldatei aus
/dev/random geschützt.
Die Sektorgröße des Providers
/dev/da2.eli beträgt
4 KB.&prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1
&prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2
Enter new passphrase:
Reenter new passphrase:Es ist nicht zwingend nötig, sowohl eine Passphrase
als auch eine Schlüsseldatei zu verwenden. Die
einzelnen Methoden können auch unabhängig
voneinander eingesetzt werden.Wird für die Schlüsseldatei
- angegeben, wird dafür die
Standardeingabe verwendet. Das folgende Beispiel zeigt,
dass auch mehr als eine Schlüsseldatei verwendet werden
kann:&prompt.root; cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2Aktivieren des Providers mit dem erzeugten
Schlüssel&prompt.root; geli attach -k /root/da2.key /dev/da2
Enter passphrase:Dadurch wird die (Normaltext-)Gerätedatei
/dev/da2.eli
angelegt.&prompt.root; ls /dev/da2*
/dev/da2 /dev/da2.eliDas neue Dateisystem erzeugen&prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m
&prompt.root; newfs /dev/da2.eli
&prompt.root; mount /dev/da2.eli /privateDas verschlüsselte Dateisystem wird nun von
&man.df.1; angezeigt und kann ab sofort eingesetzt werden.&prompt.root; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 248M 89M 139M 38% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr
/dev/ad0s1d 989M 1.5M 909M 0% /tmp
/dev/ad0s1e 3.9G 1.3G 2.3G 35% /var
/dev/da2.eli 150G 4.1K 138G 0% /privateDas Dateisystem unmounten und den Provider deaktivierenWenn Sie nicht mehr mit dem verschlüsselten
Dateisystem arbeiten und die unter /private eingehängte
Partition daher nicht mehr benötigen, sollten
Sie diese unmounten und den
geli-Verschlüsselungs-Provider
wieder deaktivieren:&prompt.root; umount /private
&prompt.root; geli detach da2.eliWeitere Informationen zum Einsatz von
geli finden Sie in &man.geli.8;.Der Einsatz des geli-
rc.d-Skriptsgeli verfügt über ein
rc.d-Skript,
das den Einsatz von geli
deutlich vereinfacht. Es folgt nun ein Beispiel, in dem
geli über die Datei
&man.rc.conf.5; konfiguriert wird:geli_devices="da2"
geli_da2_flags="-p -k /root/da2.key"Durch diese Einträge wird
/dev/da2 als
geli-Provider festgelegt. Der Master-Key
befindet sich in /root/da2.key. Beim
Aktivieren des geli-Providers wird keine
Passphrase abgefragt. Beachten Sie, dass dies nur dann
möglich ist, wenn geli mit dem
Parameter initialisiert wurde. Wird das
System heruntergefahren, wird der
geli-Provider zuvor deaktiviert.Weitere Informationen zur Konfiguration der
rc.d-Skripten
finden Sie im Abschnitt rc.d des Handbuchs.Den Auslagerungsspeicher verschlüsselnChristianBrüfferGeschrieben von AuslagerungsspeicherverschlüsselnWie die Verschlüsselung von Partitionen, wird auch der
Auslagerungsspeicher verschlüsselt, um sensible Informationen
zu schützen. Stellen Sie sich eine Anwendung vor, die mit
Passwörtern umgeht. Solange sich diese Passwörter im
Arbeitsspeicher befinden, werden sie nicht auf die Festplatte
geschrieben und nach einem Neustart gelöscht. Falls &os; jedoch
damit beginnt Speicher auszulagern, um Platz für andere
Anwendungen zu schaffen, können die Passwörter unverschlüsselt
auf die Festplatte geschrieben werden. Die Verschlüsselung des
Auslagerungsspeichers kann in solchen Situationen Abhilfe
schaffen.Das
&man.gbde.8;- oder das &man.geli.8;-Verschlüsselungs-Subsystem
kann für die Verschlüsselung des Auslagerungsspeichers
eingesetzt werden. Beide Subsysteme nutzen das
encswap
rc.d-Skript.Für den Rest dieses Abschnitts wird
ad0s1b die Swap-Partition
darstellen.Swap-Partitionen werden standardmäßig nicht verschlüsselt.
Sie sollten daher alle sensiblen Daten im Auslagerungsspeicher
löschen, bevor Sie fortfahren. Führen Sie folgenden Befehl aus,
um die Swap-Partition mit Zufallsdaten zu überschreiben:&prompt.root; dd if=/dev/random of=/dev
/ad0s1b bs=1mDen Auslagerungsspeicher mit &man.gbde.8;
verschlüsselnIn der Datei /etc/fstab sollte
das Suffix .bde an den Gerätenamen
der Swap-Partition anhängt werden:# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.bde none swap sw 0 0Den Auslagerungsspeicher mit &man.geli.8;
verschlüsselnDie Vorgehensweise für die Verschlüsselung des
Auslagerungsspeichers mit &man.geli.8; ist der von
&man.gbde.8; sehr ähnlich. Bei der Verwendung
von &man.geli.8; in /etc/fstab wird das
Suffix .eli an den Gerätenamen der
Swap-Partition angehangen:# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.eli none swap sw 0 0In der Voreinstellung verschlüsselt &man.geli.8; den
Auslagerungsspeicher mit dem AES-Algorithmus
und einer Schlüssellänge von 128 Bit. Diese Voreinstellungen
können mittels geli_swap_flags in
/etc/rc.conf angepasst werden. Die
folgende Zeile weist das rc.d-Skript
encswap an, &man.geli.8;-Swap-Partitionen
mit dem Blowfish-Algorithmus und einer Schlüssellänge von
128 Bit zu verschlüsseln. Zusätzlich wird die
Sektorgröße auf 4 Kilobyte gesetzt und
detach on last close aktiviert:geli_swap_flags="-e blowfish -l 128 -s 4096 -d"Eine Auflistung möglicher Optionen für
onetime finden Sie in der Manualpage von
&man.geli.8;.Überprüfung des verschlüsselten
AuslagerungsspeichersNachdem das System neu gestartet wurde, kann die korrekte
Funktion des verschlüsselten Auslagerungsspeichers mit
swapinfo geprüft werden.Wenn Sie &man.gbde.8; einsetzen, erhalten Sie eine
Meldung ähnlich der folgenden:&prompt.user; swapinfo
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b.bde 542720 0 542720 0%Wenn Sie &man.geli.8; einsetzen, erhalten Sie hingegen
eine Ausgabe ähnlich der folgenden:&prompt.user; swapinfo
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b.eli 542720 0 542720 0%Highly Available Storage (HAST)DanielGerzoBeigetragen von FreddieCashMit Beiträgen von Pawel JakubDawidekMichael W.LucasViktorPeterssonBenedictReuschlingÜbersetzt von HASThigh availabilityÜberblickHochverfügbarkeit ist eine der Hauptanforderungen von
ernsthaften Geschäftsanwendungen und hochverfügbarer Speicher
ist eine Schlüsselkomponente in solchen Umgebungen. Highly
Available STorage, oder HASTHighly Available STorage, wurde von
&a.pjd; als ein Framework entwickelt, welches die transparente
Speicherung der gleichen Daten über mehrere physikalisch getrennte
Maschinen ermöglicht, die über ein TCP/IP-Netzwerk verbunden
sind. HAST kann als ein netzbasiertes RAID1
(Spiegel) verstanden werden und ist dem DRBD®-Speichersystem der
GNU/&linux;-Plattform ähnlich. In Kombination mit anderen
Hochverfügbarkeitseigenschaften von &os;
wie CARP, ermöglicht es
HAST, hochverfügbare Speichercluster zu bauen,
die in der Lage sind, Hardwareausfällen zu widerstehen.Nachdem Sie diesen Abschnitt gelesen haben, werden Sie folgendes
wissen:Was HAST ist, wie es funktioniert und
welche Eigenschaften es besitzt.Wie man HAST auf &os; aufsetzt und
verwendet.Wie man CARP und &man.devd.8; kombiniert, um
ein robustes Speichersystem zu bauen.Bevor Sie diesen Abschnitt lesen, sollten Sie:die Grundlagen von &unix; und &os; verstanden haben
().wissen, wie man Netzwerkschnittstellen und andere Kernsysteme
von &os; konfiguriert ().ein gutes Verständnis der &os;-Netzwerkfunktionalität
besitzen ().Das HAST-Projekt wurde von der &os; Foundation
mit Unterstützung der OMCnet Internet Service GmbH und
TransIP BV
gesponsert.HAST-MerkmaleDie Hauptmerkmale des HAST-Systems sind:Es kann zur Maskierung von I/O-Fehlern auf lokalen Festplatten
eingesetzt werden.Dateisystem-unabhängig, was es erlaubt, jedes von &os;
unterstützte Dateisystem zu verwenden.Effiziente und schnelle Resynchronisation: es werden nur die
Blöcke synchronisiert, die während der Ausfallzeit eines
Knotens geändert wurden.Es kann in einer bereits bestehenden Umgebung eingesetzt
werden, um zusätzliche Redundanz zu erreichen.Zusammen mit CARP,
Heartbeat, oder anderen Werkzeugen, ist
es möglich, ein robustes und dauerhaftes Speichersystem zu
bauen.HAST im EinsatzHAST stellt auf Block-Ebene eine synchrone
Replikation eines beliebigen Speichermediums auf mehreren Maschinen zur
Verfügung. Daher werden mindestens zwei physikalische
Maschinen benötigt: der primary, auch
bekannt als master Knoten, sowie der
secondary, oder slave
Knoten. Diese beiden Maschinen zusammen werden als Cluster
bezeichnet.HAST ist momentan auf insgesamt zwei Knoten im Cluster
beschränkt.Da HAST in einer
primär-sekundär-Konfiguration funktioniert, ist immer nur ein
Knoten des Clusters zu jeder Zeit aktiv. Der
primäre Knoten, auch
active genannt, ist derjenige, der alle I/O-Anfragen
verarbeitet, die an die HAST-Schnittstelle gesendet
werden. Der secondary-Knoten wird automatisch vom
primary-Knoten aus synchronisiert.Die physischen Komponenten des HAST-Systems
sind:lokale Platte am Primärknotenentfernte Platte am SekundärknotenHAST arbeitet synchron auf Blockebene,
was es für Dateisysteme und Anwendungen transparent macht.
HAST stellt gewöhnliche GEOM-Provider in
/dev/hast/ für die Verwendung durch
andere Werkzeuge oder Anwendungen zur Verfügung. Somit gibt
es keinen Unterschied zwischen dem Einsatz von
HAST bereitgestellten Geräten und
herkömmlichen Platten, Partitionen, etc.Jede Schreib-, Lösch- oder Entleerungsoperation wird an die
lokale und über TCP/IP zu der entfernt liegenden
Platte gesendet. Jede Leseoperation wird von der lokalen Platte
durchgeführt, es sei denn, die lokale Platte ist nicht aktuell
oder es tritt ein I/O-Fehler auf. In solchen Fällen wird die
Leseoperation an den Sekundärknoten geschickt.Synchronisation und ReplikationsmodiHAST versucht, eine schnelle Fehlerbereinigung
zu gewährleisten. Aus diesem Grund ist es sehr wichtig, die
Synchronisationszeit nach dem Ausfall eines Knotens zu reduzieren.
Um eine schnelle Synchronisation zu ermöglichen, verwaltet
HAST eine Bitmap von unsauberen Bereichen
auf der Platte und synchronisiert nur diese während einer
regulären Synchronisation (mit Ausnahme der initialen
Synchronisation).Es gibt viele Wege, diese Synchronisation zu behandeln.
HAST implementiert mehrere Replikationsarten, um
unterschiedliche Methoden der Synchronisation zu realisieren:memsync: meldet Schreiboperationen als
vollständig, wenn die lokale Schreiboperation beendet ist
und der entfernt liegende Knoten die Ankunft der Daten
bestätigt hat, jedoch bevor die Daten wirklich gespeichert
wurden. Die Daten werden auf dem entfernt liegenden Knoten
direkt nach dem Senden der Bestätigung gespeichert. Dieser
Modus ist dafür gedacht, Latenzen zu verringern und
zusätzlich eine gute Verlässlichkeit zu bieten.fullsync: meldet Schreiboperationen als
vollständig, wenn die lokale Schreiboperation beendet ist
und die entfernte Schreiboperation ebenfalls abgeschlossen wurde.
Dies ist der sicherste und zugleich der langsamste
Replikationsmodus. Er stellt den momentanen Standardmodus
dar.async: meldet Schreiboperationen als
vollständig, wenn lokale Schreibvorgänge abgeschlossen
wurden. Dies ist der schnellste und gefährlichste
Replikationsmodus. Er sollte verwendet werden, wenn die Latenz
zu einem entfernten Knoten bei einer Replikation zu hoch ist
für andere Modi.HAST-KonfigurationHAST benötigt
GEOM_GATE-Unterstützung, welche
standardmäßig nicht im GENERIC-Kernel
enthalten ist. Jedoch ist in der Standardinstallation von
&os; geom_gate.ko als ladbares Modul
vorhanden. Alternativ lässt sich die
GEOM_GATE-Unterstützung in den Kernel
statisch einbauen, indem folgende Zeile zur
Kernelkonfigurationsdatei hinzugefügt wird:options GEOM_GATEDas HAST-Framework besteht aus Sicht des
Betriebssystems aus mehreren Bestandteilen:Dem &man.hastd.8;-Daemon, welcher für
Datensynchronisation verantwortlich ist,Dem &man.hastctl.8; Management-Werkzeug,Der Konfigurationsdatei &man.hast.conf.5;.Das folgende Beispiel beschreibt, wie man zwei Knoten als
master-slave /
primary-secondary mittels
HAST konfiguriert, um Daten zwischen diesen beiden
auszutauschen. Die Knoten werden als
hasta mit der IP-Adresse
172.16.0.1 und
hastb mit der IP-Adresse
172.16.0.2 bezeichnet. Beide Knoten
besitzen eine dedizierte Festplatte
/dev/ad6 mit der
gleichen Grösse für den HAST-Betrieb.
Der HAST-Pool, manchmal auch Ressource
genannt, oder der GEOM-Provider in
/dev/hast/ wird als
test bezeichnet.Die Konfiguration von HAST wird in
/etc/hast.conf vorgenommen. Diese Datei sollte
auf beiden Knoten gleich sein. Die denkbar einfachste Konfiguration
ist folgende:resource test {
on hasta {
local /dev/ad6
remote 172.16.0.2
}
on hastb {
local /dev/ad6
remote 172.16.0.1
}
}Fortgeschrittene Konfigurationsmöglichkeiten finden Sie in
&man.hast.conf.5;.Es ist ebenfalls möglich, den Hostnamen in den
remote-Anweisungen zu verwenden. Stellen Sie in
solchen Fällen sicher, dass diese Rechner auch aufgelöst
werden können und in /etc/hosts, oder
im lokalen DNS definiert sind.Da nun die Konfiguration auf beiden Rechnern vorhanden
ist, kann ein HAST-Pool erstellt werden.
Lassen Sie diese Kommandos auf beiden Knoten ablaufen, um die
initialen Metadaten auf die lokale Platte zu schreiben und
starten Sie anschliessend &man.hastd.8;:&prompt.root; hastctl create test
&prompt.root; service hastd onestartEs ist nicht möglich, GEOM-Provider
mit einem bereits bestehenden Dateisystem zu verwenden, um
beispielsweise einen bestehenden Speicher in einen von
HAST verwalteten Pool zu konvertieren.
Dieses Verfahren muss einige Metadaten auf den Provider
schreiben und dafür würde nicht genug freier Platz zur
Verfügung stehen.Die Rolle eines HAST Knotens, primary
oder secondary, wird vom einem
Administrator, oder einer Software wie
Heartbeat, mittels
&man.hastctl.8; festgelegt. Auf dem primären
Knoten hasta
geben Sie diesen Befehl ein:&prompt.root; hastctl role primary testGeben Sie folgendes Kommando auf dem sekundären
Knoten hastb
ein:&prompt.root; hastctl role secondary testEs kann passieren, dass beide Knoten nicht in der Lage
sind, miteinander zu kommunizieren und dadurch beide als
primäre Knoten konfiguriert sind; die Konsequenz daraus wird
als split-brain bezeichnet. Um diese
Situation zu bereinigen, folgen Sie den Schritten, die
in beschrieben sind.Überprüfen Sie das Ergebnis mit &man.hastctl.8; auf beiden
Knoten:&prompt.root; hastctl status testDer wichtigste Teil ist die
status-Textzeile, die auf jedem Knoten
complete lauten sollte. Falls der Status
als degraded zurückgemeldet wird, ist etwas
schief gegangen. Zu diesem Zeitpunkt hat die Synchronisation
zwischen den beiden Knoten bereits begonnen. Die
Synchronisation ist beendet, wenn
hastctl status meldet, dass die
dirty-Bereiche 0 Bytes betragen.Der nächste Schritt ist, ein Dateisystem auf dem
/dev/hast/test GEOM-Provider anzulegen
und dieses ins System einzuhängen. Dies muss auf dem
primary-Knoten durchgeführt werden, da
/dev/hast/test nur auf dem
primary-Knoten erscheint. Die Erstellung
des Dateisystems kann ein paar Minuten dauern, abhängig von
der Grösse der Festplatte:&prompt.root; newfs -U /dev/hast/test
&prompt.root; mkdir /hast/test
&prompt.root; mount /dev/hast/test /hast/testSobald das HAST-Framework richtig
konfiguriert wurde, besteht der letzte Schritt nun darin,
sicherzustellen, dass HAST während des
Systemstarts automatisch gestartet wird. Fügen Sie diese
Zeile in /etc/rc.conf hinzu:hastd_enable="YES"Failover-KonfigurationDas Ziel dieses Beispiels ist, ein robustes
Speichersystem zu bauen, welches Fehlern auf einem
beliebigen Knoten widerstehen kann. Das Szenario besteht
darin, dass der primary-Knoten des
Clusters ausfällt. Sollte das passieren, ist der
secondary-Knoten da, um nahtlos
einzuspringen, das Dateisystem zu prüfen, einzuhängen und
mit der Arbeit fortzufahren, ohne dass auch nur ein
einzelnes Bit an Daten verloren geht.Um diese Aufgabe zu bewerkstelligen, wird eine
weitere Eigenschaft von &os; benutzt,
CARP, welches ein automatisches Failover
auf der IP-Schicht ermöglicht.
CARP (Common Address Redundancy Protocol)
erlaubt es mehreren Rechnern im gleichen Netzsegment, die
gleiche IP-Adresse zu verwenden. Setzen Sie
CARP auf beiden Knoten des Clusters
anhand der Dokumentation in auf.
Nach der Konfiguration wird jeder Knoten seine eigene
carp0-Schnittstelle, mit der geteilten
IP-Adresse 172.16.0.254 besitzen.
Der primäre HAST-Knoten des Clusters muss
der CARP-Masterknoten sein.Der HAST-Pool, welcher im vorherigen Abschnitt
erstellt wurde, ist nun bereit für den Export über das
Netzwerk auf den anderen Rechner. Dies kann durch den Export
über NFS oder Samba
erreicht werden, indem die geteilte IP-Addresse
172.16.0.254 verwendet wird. Das einzige
ungelöste Problem ist der automatische Failover, sollte der
primäre Knoten einmal ausfallen.Falls die CARP-Schnittstelle
aktiviert oder deaktiviert wird, generiert das
&os;-Betriebssystem ein &man.devd.8;-Ereignis, was es
ermöglicht, Zustandsänderungen auf den
CARP-Schnittstellen zu überwachen. Eine
Zustandsänderung auf der
CARP-Schnittstelle ist ein Indiz dafür,
dass einer der Knoten gerade ausgefallen oder wieder
verfügbar ist. Diese Zustandsänderungen machen es möglich,
ein Skript zu starten, welches automatisch den HAST-Failover
durchführt.Um Zustandsänderungen auf der
CARP-Schnittstelle abzufangen, müssen
diese Zeilen in /etc/devd.conf auf
jedem Knoten hinzugefügt werden:notify 30 {
match "system" "IFNET";
match "subsystem" "carp0";
match "type" "LINK_UP";
action "/usr/local/sbin/carp-hast-switch master";
};
notify 30 {
match "system" "IFNET";
match "subsystem" "carp0";
match "type" "LINK_DOWN";
action "/usr/local/sbin/carp-hast-switch slave";
};Starten Sie &man.devd.8; auf beiden Knoten neu, um
die neue Konfiguration wirksam werden zu lassen:&prompt.root; service devd restartWenn die carp0-Schnittstelle
aktiviert oder deaktiviert wird, erzeugt das System eine
Meldung, was es dem &man.devd.8;-Subsystem ermöglicht, ein
beliebiges Skript zu starten, in diesem Fall also
/usr/local/sbin/carp-hast-switch.
Dieses Skript führt den automatischen Failover durch.
Weitere Informationen zu der obigen
&man.devd.8;-Konfiguration, finden Sie in
&man.devd.conf.5;.Ein Beispiel für ein solches Skript könnte so
aussehen:#!/bin/sh
# Original script by Freddie Cash <fjwcash@gmail.com>
# Modified by Michael W. Lucas <mwlucas@BlackHelicopters.org>
# and Viktor Petersson <vpetersson@wireload.net>
# The names of the HAST resources, as listed in /etc/hast.conf
resources="test"
# delay in mounting HAST resource after becoming master
# make your best guess
delay=3
# logging
log="local0.debug"
name="carp-hast"
# end of user configurable stuff
case "$1" in
master)
logger -p $log -t $name "Switching to primary provider for ${resources}."
sleep ${delay}
# Wait for any "hastd secondary" processes to stop
for disk in ${resources}; do
while $( pgrep -lf "hastd: ${disk} \(secondary\)" > /dev/null 2>&1 ); do
sleep 1
done
# Switch role for each disk
hastctl role primary ${disk}
if [ $? -ne 0 ]; then
logger -p $log -t $name "Unable to change role to primary for resource ${disk}."
exit 1
fi
done
# Wait for the /dev/hast/* devices to appear
for disk in ${resources}; do
for I in $( jot 60 ); do
[ -c "/dev/hast/${disk}" ] && break
sleep 0.5
done
if [ ! -c "/dev/hast/${disk}" ]; then
logger -p $log -t $name "GEOM provider /dev/hast/${disk} did not appear."
exit 1
fi
done
logger -p $log -t $name "Role for HAST resources ${resources} switched to primary."
logger -p $log -t $name "Mounting disks."
for disk in ${resources}; do
mkdir -p /hast/${disk}
fsck -p -y -t ufs /dev/hast/${disk}
mount /dev/hast/${disk} /hast/${disk}
done
;;
slave)
logger -p $log -t $name "Switching to secondary provider for ${resources}."
# Switch roles for the HAST resources
for disk in ${resources}; do
if ! mount | grep -q "^/dev/hast/${disk} on "
then
else
umount -f /hast/${disk}
fi
sleep $delay
hastctl role secondary ${disk} 2>&1
if [ $? -ne 0 ]; then
logger -p $log -t $name "Unable to switch role to secondary for resource ${disk}."
exit 1
fi
logger -p $log -t $name "Role switched to secondary for resource ${disk}."
done
;;
esacIm Kern führt das Skript die folgenden Aktionen durch,
sobald ein Knoten zum master /
primary wird:Es ernennt den HAST-Pool als den
primären für einen gegebenen Knoten.Es prüft das Dateisystem, dass auf dem
HAST-Pool erstellt wurde.Es hängt die Pools an die richtige Stelle im System
ein.Wenn ein Knoten zum backup /
secondary ernannt wird:Hängt es den HAST-Pool aus dem
Dateisystem aus.Degradiert es den HAST-Pool zum
sekundären.Bitte beachten Sie, dass dieses Skript nur ein Beispiel
für eine mögliche Lösung darstellt. Es behandelt
nicht alle möglichen Szenarien, die auftreten können und
sollte erweitert bzw. abgeändert werden, so dass z.B.
benötigte Dienste gestartet oder gestoppt werden.Für dieses Beispiel wurde ein Standard-UFS Dateisystem
verwendet. Um die Zeit für die Wiederherstellung zu
verringern, kann ein UFS mit Journal oder ein ZFS-Dateisystem
benutzt werden.Weitere detaillierte Informationen mit zusätzlichen
Beispielen können auf der HAST Wiki-Seite
abgerufen werden.FehlerbehebungAllgemeine Tipps zur FehlerbehebungHAST sollte generell ohne Probleme
funktionieren. Jedoch kann es, wie bei jeder anderen Software auch,
zu gewissen Zeiten sein, dass sie sich nicht so verhält wie
angegeben. Die Quelle dieser Probleme kann unterschiedlich sein,
jedoch sollte als Faustregel gewährleistet werden, dass die
Zeit für beide Knoten im Cluster synchron läuft.Für die Fehlersuche bei Problemen mit
HAST sollte die Anzahl an
Debugging-Meldungen von &man.hastd.8; erhöht werden. Dies
kann durch das Starten des &man.hastd.8; mit
-d erreicht werden. Diese Option kann
mehrfach angegeben werden, um die Anzahl an Meldungen weiter
zu erhöhen. Auf diese Weise erhalten Sie viele nützliche
Informationen. Sie sollten ebenfalls die Verwendung von
-F in Erwägung ziehen, die
&man.hastd.8; im Vordergrund startet.Auflösung des Split-brain-Zustandssplit-brain bezeichnet eine
Situation, in der beide Knoten des Clusters nicht in der
Lage sind, miteinander zu kommunizieren und dadurch beide
als primäre Knoten fungieren. Dies ist ein
gefährlicher Zustand, weil es beiden Knoten erlaubt ist,
Änderungen an den Daten vorzunehmen, die miteinander nicht
in Einklang gebracht werden können. Diese Situation muss
vom Systemadministrator händisch bereinigt werden.Der Administrator muss entscheiden, welcher Knoten die
wichtigsten Änderungen von beiden besitzt (oder diese
manuell miteinander vermischen) und anschliessend den
HAST-Knoten die volle Synchronisation mit
jenem Knoten durchführen zu lassen, welcher die beschädigten
Daten besitzt. Um dies zu tun, geben Sie folgende
Befehle auf dem Knoten ein, der neu synchronisiert werden
soll:&prompt.root; hastctl role init <resource>
&prompt.root; hastctl create <resource>
&prompt.root; hastctl role secondary <resource>
Index: head/de_DE.ISO8859-1/books/handbook/preface/preface.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/preface/preface.xml (revision 47186)
+++ head/de_DE.ISO8859-1/books/handbook/preface/preface.xml (revision 47187)
@@ -1,806 +1,788 @@
VorwortÜber dieses
BuchDer erste Teil dieses Buchs führt &os;-Einsteiger durch den
Installationsprozess und stellt leicht verständlich Konzepte
und Konventionen vor, die &unix; zu Grunde liegen. Sie müssen nur
neugierig sein und bereitwillig neue Konzepte aufnehmen, wenn diese
vorgestellt werden, um diesen Teil durchzuarbeiten.Wenn Sie den ersten Teil bewältigt haben, bietet der
umfangreichere zweite Teil eine verständliche Darstellung vieler
Themen, die für &os;-Administratoren relevant sind. Wenn
Kapitel auf anderen Kapiteln aufbauen, wird das in der Übersicht
am Anfang eines Kapitels erläutert.Weitere Informationsquellen entnehmen Sie bitte
.Änderungen
gegenüber der dritten AuflageDie aktuelle Auflage des Handbuchs ist das Ergebnis der
engagierten Arbeit Hunderter Mitarbeiter des &os; Documentation
Projects in den vergangenen 10 Jahren. Die wichtigsten
Änderungen dieser Auflage gegenüber der dritten
Auflage von 2004 sind:, &dtrace;, ein neues Kapitel,
informiert Sie über die mächtigen Funktionen
zur Leistungsmessung, die dieses Werkzeug bietet., File Systems Support,
ebenfalls ein neues Kapitel, enthält Informationen
über die Unterstützung nicht-nativer Dateisysteme
(beispielsweise ZFS von &sun;) durch &os;., Security Event Auditing, wurde
neu angelegt, um über die neuen Auditing-Fähigkeiten
von &os; zu informieren., Virtualisierung, wurde
hinzugefügt und enthält Informationen zur
Installation von &os; in verschiedenen
Virtualisierungs-Programmen.,
&os; 9.x (und neuer) installieren,
wurde hinzugefügt, um die Installation von &os; mit dem neuen
Installationswerkzeug, bsdinstall, zu
dokumentieren.Änderungen
gegenüber der zweiten Auflage (2004)Die dritte Auflage des Handbuchs war das Ergebnis der
über zwei Jahre dauernden engagierten Arbeit des
&os; Documentation Projects. Die gedruckte Ausgabe war derart
umfangreich, dass es notwendig wurde, sie in zwei Bände
aufzuteilen. Die wichtigsten Änderungen dieser Auflage
waren:, Konfiguration und Tuning,
enthält neue Abschnitte über ACPI, Energie- und
Ressourcenverwaltung und das Werkzeug
cron., Sicherheit, erläutert
nun Virtual Private Networks (VPNs), Zugriffskontrolllisten
(ACLs) und Sicherheitshinweise., Mandatory Access Control (MAC),
ist ein neues Kapitel, das vorgeschriebene Zugriffskontrollen
vorstellt und erklärt, wie &os;-Systeme mit MACs
abgesichert werden können.
- , Vinum, ist ebenfalls ein
- neues Kapitel in dieser Auflage. Dieses Kapitel beschreibt
- den Logical-Volume-Manager Vinum, der
- geräteunabhängige logische Platten und
- RAID-0, RAID-1 sowie RAID-5 auf Software-Ebene
- bereitstellt.
-
-
- Zum Kapitel , PPP und SLIP,
wurde ein Abschnitt über Fehlersuche
hinzugefügt., Elektronische Post (E-Mail),
wurde um Abschnitte über andere Transport-Agenten (MTAs),
SMTP-Authentifizierung, UUCP,
fetchmail,
procmail und weitere Themen
erweitert., Netzwerkserver,
ist ein weiteres neues Kapitel dieser Auflage. Das
Kapitel beschreibt, wie der
Apache HTTP-Server,
ftpd und ein
Samba-Server für
µsoft; &windows;-Clients
eingerichtet werden. Einige Abschnitte aus dem
, Weiterführende
Netzwerkthemen, befinden sich nun, wegen des thematischen
Zusammenhangs, in diesem Kapitel.Das ,
Weiterführende Netzwerkthemen, beschreibt nun den
Einsatz von &bluetooth;-Geräten unter &os; und
das Einrichten von drahtlosen Netzwerken sowie
ATM-Netzwerken.Neu hinzugefügt wurde ein Glossar, das die
im Buch verwendeten technischen Ausdrücke
definiert.Das Erscheinungsbild der Tabellen und Abbildungen im Buch
wurde verbessert.Änderungen
gegenüber der ersten Auflage (2001)Die zweite Auflage ist das Ergebnis der engagierten Arbeit der
Mitglieder des &os; Documentation Projects über zwei Jahre.
Die wichtigsten Änderungen gegenüber der ersten Auflage
sind:Ein Index wurde erstellt.Alle ASCII-Darstellungen wurden durch Grafiken ersetzt.Jedes Kapitel wird durch eine Übersicht eingeleitet, die
den Inhalt des Kapitels zusammenfasst und die Voraussetzungen
für ein erfolgreiches Durcharbeiten des Kapitels
darstellt.Der Inhalt wurde in die logischen Abschnitte Erste
Schritte, Systemadministration und
Anhänge unterteilt. (&os;
installieren) wurde komplett neu geschrieben und mit
Abbildungen versehen, die Einsteigern das Verständnis des Texts
erleichtern. (Grundlagen des &unix; Betriebssystems)
wurde um den Abschnitt Dämonen, Signale und Stoppen von
Prozessen erweitert.Das (Installieren von
Anwendungen) behandelt nun auch Pakete. (Das X Window System)
wurde neu geschrieben. Der Schwerpunkt liegt auf modernen
Benutzeroberflächen wie
KDE und
GNOME unter &xfree86; 4.X.Das (&os;s Bootvorgang)
wurde erweitert. (Speichermedien) ist
aus den beiden Kapiteln Laufwerke und
Sicherungen entstanden. Die in den beiden Kapiteln
diskutierten Themen sind so leichter zu verstehen. Hinzugekommen
ist ein Abschnitt über Software- und Hardware-RAID.Das (Serielle
Datenübertragung) wurde umorganisiert und auf
&os; 4.X/5.X angepasst.Das (PPP und SLIP)
wurde aktualisiert. (Weiterführende
Netzwerkthemen) wurde um viele neue Abschnitte erweitert. (Electronic Mail) wurde
um einen Abschnitt über die Konfiguration von
sendmail erweitert. (&linux;
Compatibility) behandelt zusätzlich die Installation
von &oracle; und
&mathematica;.Neu hinzugekommen sind:Konfiguration und Tuning ()
und Multimedia ().GliederungDieses Buch ist in fünf Abschnitte unterteilt. Der erste
Abschnitt, Erste Schritte, behandelt die
Installation und die Grundlagen von &os;. Dieser Abschnitt sollte
in der vorgegebenen Reihenfolge durchgearbeitet werden, schon Bekanntes
darf aber übersprungen werden. Der zweite Abschnitt,
Oft benutzte Funktionen, behandelt
häufig benutzte Funktionen von &os;. Dieser Abschnitt
sowie alle nachfolgenden Abschnitte können in beliebiger
Reihenfolge gelesen werden. Jeder Abschnitt beginnt mit einer
kurzen Übersicht, die das Thema des Abschnitts und das
nötige Vorwissen erläutert. Die Übersichten
helfen dem Leser, interessante Kapitel zu finden und erleichtern
das Stöbern im Handbuch. Der dritte Abschnitt,
Systemadministration, behandelt die
Administration eines &os;-Systems. Der vierte Abschnitt,
Netzwerke, bespricht Netzwerke und
Netzwerkdienste. Der fünfte Abschnitt enthält
Anhänge und Verweise auf weitere Informationen.,
EinführungDieses Kapitel macht Einsteiger mit &os; vertraut. Es
behandelt die Geschichte, die Ziele und das Entwicklungsmodell
des &os;-Projekts.,
&os; 8.x (und älter)
installierenBeschreibt den Ablauf der Installation von
&os; 8.x und früher mittels
sysinstall. Spezielle
Installationsmethoden, wie die Installation mit einer seriellen
Konsole, werden ebenfalls behandelt.,
&os; 9.x (und neuer)
installierenBeschreibt den Ablauf der Installation von
&os; 9.x und neuere mittels
bsdinstall., Grundlagen des &unix;
BetriebssystemsErläutert die elementaren Kommandos und Funktionen
von &os;. Wenn Sie schon mit &linux; oder einem anderen
&unix; System vertraut sind, können Sie dieses Kapitel
überspringen., Installieren von
AnwendungenZeigt wie mit der innovativen Ports-Sammlung oder mit Paketen
Software von Fremdherstellern installiert wird., Das X Window
SystemBeschreibt allgemein das X Window System und geht
speziell auf X11 unter &os;
ein. Weiterhin werden grafische Benutzeroberflächen wie
KDE und
GNOME behandelt.,
Desktop-AnwendungenEnthält eine Aufstellung verbreiteter Anwendungen wie
Browser, Büroanwendungen und Office-Pakete und beschreibt
wie diese Anwendungen installiert werden., MultimediaErklärt, wie Sie auf Ihrem System Musik und Videos
abspielen können. Beispielhaft werden auch Anwendungen aus
dem Multimedia-Bereich beleuchtet., Konfiguration des
&os;-KernelsErklärt, warum Sie einen angepassten Kernel erzeugen
sollten und gibt ausführliche Anweisungen wie Sie einen
angepassten Kernel konfigurieren, bauen und installieren., DruckenBeschreibt, wie Sie Drucker unter &os; verwalten.
Diskutiert werden Deckblätter, das Einrichten eines Druckers
und ein Abrechnungssystem für ausgedruckte Seiten.,
&linux;-BinärkompatibilitätBeschreibt die binäre Kompatibilität zu &linux;.
Weiterhin werden ausführliche Installationsanleitungen
für &oracle;,
&sap.r3; und
Mathematica gegeben., Konfiguration und
TuningBeschreibt die Einstellungen, die ein Systemadministrator
vornehmen kann, um die Leistungsfähigkeit eines &os;
Systems zu verbessern. In diesem Kapitel werden auch
verschiedene Konfigurationsdateien besprochen., &os;s
BootvorgangErklärt den Bootprozess von &os; und beschreibt die
Optionen, mit denen sich der Bootprozess beeinflussen
lässt., Benutzer und grundlegende
Account-VerwaltungBeschreibt, wie Benutzer-Accounts angelegt, verändert
und verwaltet werden. Weiterhin wird beschrieben, wie dem
Benutzer zur Verfügung stehende Ressourcen beschränkt
werden können., SicherheitBeschreibt die Werkzeuge mit denen Sie Ihr &os;-System
absichern. Unter Anderem werden Kerberos, IPsec und OpenSSH
besprochen., JailsDieses Kapitel beschreibt das Jails-Framework sowie die
Vorteile von Jails gegenüber der traditionellen
chroot-Unterstützung von &os;., Mandatory Access
ControlErklärt vorgeschriebene Zugriffskontrollen (MACs)
und wie mit ihrer Hilfe &os;-Systeme gesichert
werden., Security Event AuditingBeschreibt, was &os; Event Auditing ist, wie Sie diese
Funktion installieren und konfigurieren und die damit
erzeugten Audit-Trails überwachen und auswerten
können., SpeichermedienErläutert den Umgang mit Speichermedien und
Dateisystemen. Behandelt werden Plattenlaufwerke, RAID-Systeme,
optische Medien, Bandlaufwerke, RAM-Laufwerke und
verteilte Dateisysteme., GEOMBeschreibt das GEOM-Framework von &os; sowie die
Konfiguration der verschiedenen unterstützten
RAID-Level., File
Systems SupportBeschreibt die Unterstützung nicht-nativer
Dateisysteme (beispielsweise des Z-Dateisystems (zfs) von
&sun;) durch &os;.
-
-
-
-
- , Vinum
-
- Beschreibt den Vinum Volume Manager, der virtuelle Laufwerke,
- RAID-0, RAID-1 und RAID-5 auf Software-Ebene
- bereitstellt., VirtualisierungDieses Kapitel beschreibt verschiedene
Virtualisierungslösungen und wie diese mit
&os; zusammenarbeiten., LokalisierungZeigt wie Sie &os; mit anderen Sprachen als Englisch
einsetzen. Es wird sowohl die Lokalisierung auf der System-Ebene
wie auch auf der Anwendungs-Ebene betrachtet., &os; aktualisierenErklärt die Unterschiede zwischen &os;-STABLE,
&os;-CURRENT und &os;-Releases. Das Kapitel enthält
Kriterien anhand derer Sie entscheiden können, ob es sich
lohnt, ein Entwickler-System zu installieren und aktuell zu
halten. Außerdem wird beschrieben, wie Sie Ihr System
durch das Einspielen neuer Sicherheits-Patches absichern., &dtrace;Beschreibt, wie das von &sun; entwickelte &dtrace;-Werkzeug
unter &os; konfiguriert und eingesetzt werden kann.
Dynamisches Tracing kann Ihnen beim Aufspüren von
Leistungsproblemen helfen, indem Sie Echtzeit-Systemanalysen
durchführen., Serielle
DatenübertragungErläutert, wie Sie Terminals und Modems an Ihr
&os;-System anschließen und sich so ein- und auswählen
können., PPP und
SLIPErklärt wie Sie mit PPP, SLIP oder PPP über
Ethernet ein &os;-System mit einem entfernten System
verbinden., Elektronische Post
(E-Mail)Erläutert die verschiedenen Bestandteile eines E-Mail
Servers und zeigt einfache Konfigurationen für
sendmail, dem meist genutzten
E-Mail-Server.,
NetzwerkserverBietet ausführliche Informationen und
Beispielkonfigurationen, die es Ihnen ermöglichen,
Ihren &os;-Rechner als
Network File System Server,
Domain Name Server,
Network Information Server,
oder als Zeitsynchronisationsserver einzurichten.,
FirewallsErklärt die Philosophie hinter softwarebasierten
Firewalls und bietet ausführliche Informationen zur
Konfiguration der verschiedenen, für &os;
verfügbaren Firewalls.,
Weiterführende NetzwerkthemenBehandelt viele Netzwerkthemen, beispielsweise das
Verfügbarmachen einer Internetverbindung für andere
Rechner eines LANs, Routing, drahtlose Netzwerke, &bluetooth;,
IPv6, ATM und andere mehr., Bezugsquellen für
&os;Enthält eine Aufstellung der Quellen von denen Sie
&os; beziehen können: CD-ROM, DVD sowie
Internet-Sites.,
BibliografieDieses Buch behandelt viele Themen und kann nicht alle
Fragen erschöpfend beantworten. Die Bibliografie enthält
weiterführende Bücher, die im Text zitiert
werden., Ressourcen im
InternetEnthält eine Aufstellung der Foren, die &os;
Benutzern für Fragen und Diskussionen zur Verfügung
stehen., PGP
SchlüsselEnthält PGP-Fingerabdrücke von etlichen &os;
Entwicklern.Konventionen in diesem
BuchDamit der Text einheitlich erscheint und leicht zu lesen ist,
werden im ganzen Buch die nachstehenden Konventionen beachtet:
TypographieKursivFür Dateinamen, URLs, betonte Teile eines Satzes und
das erste Vorkommen eines Fachbegriffs wird ein
kursiver Zeichensatz benutzt.FixschriftFehlermeldungen, Kommandos, Umgebungsvariablen, Namen von
Ports, Hostnamen, Benutzernamen, Gruppennamen, Gerätenamen,
Variablen und Code-Ausschnitte werden in einer
Fixschrift dargestellt.FettFett kennzeichnet Anwendungen,
Kommandozeilen und Tastensymbole.BenutzereingabenTasten werden fett dargestellt, um sie von dem
umgebenden Text abzuheben. Tasten, die gleichzeitig gedrückt
werden müssen, werden durch ein + zwischen
den einzelnen Tasten dargestellt:CtrlAltDelIm gezeigten Beispiel soll der Benutzer
die Tasten Ctrl, Alt
und Del gleichzeitig drücken.Tasten, die nacheinander gedrückt werden müssen, sind
durch Kommas getrennt:CtrlX,
CtrlSDas letzte Beispiel bedeutet, dass die Tasten
Ctrl und X gleichzeitig
betätigt werden und danach die Tasten Ctrl
und S gleichzeitig gedrückt werden
müssen.BeispieleBeispiele, die durch E:\> eingeleitet
werden, zeigen ein &ms-dos; Kommando. Wenn nichts Anderes angezeigt
wird, können diese Kommandos unter neuen Versionen von
µsoft.windows; auch in einem DOS-Fenster
ausgeführt werden.E:\>tools\fdimage floppies\kern.flp A:Beispiele, die mit &prompt.root; beginnen, müssen unter
&os; mit Superuser-Rechten ausgeführt werden. Dazu melden Sie
sich entweder als root an oder Sie wechseln von
Ihrem normalen Account mit &man.su.1; zu dem Benutzer
root.&prompt.root; dd if=kern.flp of=/dev/fd0Beispiele, die mit &prompt.user; anfangen, werden unter einem
normalen Benutzer-Account ausgeführt. Sofern nichts Anderes
angezeigt wird, verwenden die Beispiele die Syntax der C-Shell.&prompt.user; topDanksagungDieses Buch ist aus Beiträgen von vielen Leuten aus allen
Teilen der Welt entstanden. Alle eingegangen Beiträge, zum Beispiel
Korrekturen oder vollständige Kapitel, waren wertvoll.Einige Firmen haben dieses Buch dadurch unterstützt, dass Sie
Autoren in Vollzeit beschäftigt und die Veröffentlichung
des Buchs finanziert haben. Besonders BSDi (das später von
Wind River Systems
übernommen wurde) beschäftigte Mitglieder des &os;
Documentation Projects, um dieses Buch zu erstellen.
Dadurch wurde die erste (englische) gedruckte Auflage im
März 2000 möglich (ISBN 1-57176-241-8).
Wind River Systems bezahlte dann weitere Autoren, die die zum Drucken
nötige Infrastruktur verbesserten und zusätzliche Kapitel
beisteuerten. Das Ergebnis dieser Arbeit ist die zweite (englische)
Auflage vom November 2001 (ISBN 1-57176-303-1).
Zwischen 2003 und 2004 bezahlte
FreeBSD Mall, Inc
mehrere Mitarbeiter für die Vorbereitung der gedruckten
dritten Auflage.