diff --git a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml index 31470dc103..08defba358 100644 --- a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml @@ -1,1159 +1,1204 @@ Johann Kois Übersetzt von Weiterführende Netzwerkthemen Übersicht Dieses Kapitel beschreibt einige der häufiger verwendeten Netzwerkdienste auf UNIX-Systemen. Es wird beschrieben, wie die von FreeBSD verwendeten Netzwerkdienste installiert, getestet und gewartet werden. Zusätzlich sind im ganzen Kapitel Beispielkonfigurationsdateien vorhanden, von denen Sie sicherlich profitieren werden. Nachdem Sie dieses Kapitel gelesen haben, werden Sie Die Grundlagen von Gateways und Routen kennen. Wissen, wie Sie mit FreeBSD eine Bridge einrichten. Wissen, wie man ein Netzwerkdateisystem installiert. Wissen, wie man einen plattenlosen Rechner über das Netzwerk startet. Wissen, wie man einen Netzwerkinformationsserver (NIS) für gemeinsame Benutzerkonten einrichtet. Wissen, wie man automatische Netzwerkeinstellungen mittels DHCP einrichtet. Wissen, wie man einen Domain Name Server (DNS) einrichtet. Wissen, wie man, unter Verwendung des NTP-Protokolls, Uhrzeit und Datum synchronisiert, sowie einen Zeitserver einrichtet. Wissen, wie man NAT (Network Address Translation) einrichtet. In der Lage sein, den inetd-Daemon einzurichten. Wissen, wie man zwei Computer über PLIP verbindet. Wissen, wie man IPv6 auf einem FreeBSD-Rechner einrichtet. Bevor Sie dieses Kapitel lesen, sollten Sie Die Grundlagen der /etc/rc-Skripte verstanden haben. Mit der grundlegenden Netzwerkterminologie vertraut sein. Coranth Gryphon Beigetragen von Gateways und Routen Routing Gateway Subnetz Damit ein Rechner einen anderen über ein Netzwerk finden kann, muss ein Mechanismus vorhanden sein, der beschreibt, wie man von einem Rechner zum anderen gelangt. Dieser Vorgang wird als Routing bezeichnet. Eine Route besteht aus einem definierten Adressenpaar: Einem Ziel und einem Gateway. Dieses Paar zeigt an, dass Sie über den Gateway zum Ziel gelangen wollen. Es gibt drei Arten von Zielen: Einzelne Rechner (Hosts), Subnetze und das Standardziel. Die Standardroute wird verwendet, wenn keine andere Route zutrifft. Wir werden Standardrouten später etwas genauer behandeln. Außerdem gibt es drei Arten von Gateways: Einzelne Rechner (Hosts), Schnittstellen (Interfaces, auch als Links bezeichnet), sowie Ethernet Hardware-Adressen (MAC Adressen). Ein Beispiel Um die verschiedenen Aspekte des Routings zu veranschaulichen, verwenden wir folgende Ausgaben von netstat: &prompt.user; netstat -r Routing tables Destination Gateway Flags Refs Use Netif Expire default outside-gw UGSc 37 418 ppp0 localhost localhost UH 0 181 lo0 test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 10.20.30.255 link#1 UHLW 1 2421 example.com link#1 UC 0 0 host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => host2.example.com link#1 UC 0 0 224 link#1 UC 0 0 Default-Route Standardroute Die ersten zwei Zeilen geben die Standardroute (die wir im nächsten Abschnitt behandeln), sowie die localhost Route an. Loopback-Gerät Das in der Routingtabelle für localhost festgelegte Interface (Netif-Spalte) lo0, ist auch als loopback-Gerät (Prüfschleife) bekannt. Das heißt, dass der ganze Datenverkehr für dieses Ziel intern (innerhalb des Gerätes) bleibt, anstatt ihn über ein Netzwerk (LAN) zu versenden, da das Ziel dem Start entspricht. Ethernet MAC-Adresse Der nächste auffällige Punkt sind die mit 0:e0: beginnenden Adressen. Es handelt sich dabei um Ethernet Hardwareadressen, die auch als MAC-Adressen bekannt sind. FreeBSD identifiziert Rechner im lokalen Netz automatisch (im Beispiel test0) und fügt eine direkte Route zu diesem Rechner hinzu. Dies passiert über die Ethernet Schnittstelle ed0. Außerdem existiert ein Timeout (in der Spalte Expire) für diese Art von Routen, der verwendet wird, wenn dieser Rechner in einem definierten Zeitraum nicht reagiert. Wenn dies passiert, wird die Route zu diesem Rechner automatisch gelöscht. Rechner im lokalen Netz werden durch einen als RIP (Routing Information Protocol) bezeichneten Mechanismus identifiziert, der den kürzesten Weg zu den jeweiligen Rechnern bestimmt. Subnetz FreeBSD fügt außerdem Subnetzrouten für das lokale Subnetz hinzu (10.20.30.255 ist die Broadcast-Adresse für das Subnetz 10.20.30, example.com ist der zu diesem Subnetz gehörige Domainname). Das Ziel link#1 bezieht sich auf die erste Ethernet-Karte im Rechner. Sie können auch feststellen, dass keine zusätzlichen Schnittstellen angegeben sind. Routen für Rechner im lokalen Netz und lokale Subnetze werden automatisch durch den routed Daemon konfiguriert. Ist dieser nicht gestartet, sind nur statisch definierte (explizit eingegebene) Routen vorhanden. Die Zeile host1 bezieht sich auf unseren Rechner, der durch seine Ethernetadresse bekannt ist. Da unser Rechner der Sender ist, verwendet FreeBSD automatisch das Loopback-Gerät (lo0), anstatt den Datenverkehr über die Ethernetschnittstelle zu senden. Die zwei host2 Zeilen sind ein Beispiel dafür, was passiert, wenn wir ein &man.ifconfig.8; Alias verwenden (Lesen Sie dazu den Abschnitt über Ethernet, wenn Sie wissen wollen, warum wir das tun sollten.). Das Symbol => (nach der lo0 Schnittstelle) sagt aus, dass wir nicht nur das Loopbackgerät verwenden (da sich die Adresse auf den lokalen Rechner bezieht), sondern dass es sich zusätzlich auch um ein Alias handelt. Solche Routen sind nur auf Rechnern vorhanden, die den Alias bereitstellen; alle anderen Rechner im lokalen Netz haben für solche Routen nur eine einfache link#1 Zeile. Die letzte Zeile (Ziel Subnetz 224) behandelt das Multicasting, das wir in einem anderen Abschnitt besprechen werden. Schließlich gibt es für Routen noch verschiedene Attribute, die Sie in der Spalte Flags finden. Nachfolgend finden Sie eine kurze Übersicht von einigen dieser Flags und ihrer Bedeutung: U Up: Die Route ist aktiv. H Host: Das Ziel der Route ist ein einzelner Rechner (Host). G Gateway: Alle Daten, die an dieses Ziel gesendet werden, werden von diesem System an ihr jeweiliges Ziel weitergeleitet. S Static: Diese Route wurde manuell konfiguriert, das heißt sie wurde nicht automatisch vom System erzeugt. C Clone: Erzeugt eine neue Route, basierend auf der Route für den Rechner, mit dem wir uns verbinden. Diese Routenart wird normalerweise für lokale Netzwerke verwendet. W WasCloned: Eine Route, die automatisch konfiguriert wurde. Sie basiert auf einer lokalen Netzwerkroute (Clone). L Link: Die Route beinhaltet einen Verweis auf eine Ethernetkarte (MAC-Adresse). Standardrouten Default-Route Standardroute Wenn sich der lokale Rechner mit einem entfernten Rechner verbinden will, wird die Routingtabelle überprüft, um festzustellen, ob bereits ein bekannter Pfad vorhanden ist. Gehört dieser entfernte Rechner zu einem Subnetz, dessen Pfad uns bereits bekannt ist (Cloned route), dann versucht der lokale Rechner über diese Schnittstelle eine Verbindung herzustellen. Wenn alle bekannten Pfade nicht funktionieren, hat der lokale Rechner eine letzte Möglichkeit: Die Standardroute (Default-Route). Bei dieser Route handelt es sich um eine spezielle Gateway-Route (gewöhnlich die einzige im System vorhandene), die im Flags-Feld immer mit C gekennzeichnet ist. Für Rechner im lokalen Netzwerk ist dieser Gateway auf welcher Rechner auch immer eine Verbindung nach außen hat gesetzt (entweder über eine PPP-Verbindung, DSL, ein Kabelmodem, T1 oder eine beliebige andere Netzwerkverbindung). Wenn Sie die Standardroute für einen Rechner konfigurieren, der selbst als Gateway zur Außenwelt funktioniert, wird die Standardroute zum Gateway-Rechner Ihres Internetanbieter (ISP) gesetzt. Sehen wir uns ein Beispiel für Standardrouten an. So sieht eine übliche Konfiguration aus: [Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] Die Rechner Local1 und Local2 befinden sich auf Ihrer Seite. Local1 ist mit einem ISP über eine PPP-Verbindung verbunden. Dieser PPP-Server ist über ein lokales Netzwerk mit einem anderen Gateway-Rechner verbunden, der über eine Schnittstelle die Verbindung des ISP zum Internet herstellt. Die Standardrouten für Ihre Maschinen lauten: Host Standard Gateway Schnittstelle Local2 Local1 Ethernet Local1 T1-GW PPP Ein häufige Frage lautet: Warum (oder wie) sollten wir T1-GW als Standard-Gateway für Local1 setzen, statt den (direkt verbundenen) ISP-Server zu verwenden?. Bedenken Sie, dass die PPP-Schnittstelle für die Verbindung eine Adresse des lokalen Netzes des ISP verwendet. Daher werden Routen für alle anderen Rechner im lokalen Netz des ISP automatisch erzeugt. Daraus folgt, dass Sie bereits wissen, wie Sie T1-GW erreichen können! Es ist also unnötig, einen Zwischenschritt über den ISP-Server zu machen. Es ist üblich, die Adresse X.X.X.1 als Gateway-Adresse für ihr lokales Netzwerk zu verwenden. Für unser Beispiel bedeutet dies Folgendes: Wenn Ihr lokaler Klasse-C-Adressraum 10.20.30 ist und Ihr ISP 10.9.9 verwendet, sehen die Standardrouten so aus: Rechner (Host) Standardroute Local2 (10.20.30.2) Local1 (10.20.30.1) Local1 (10.20.30.1, 10.9.9.30) T1-GW (10.9.9.1) Rechner mit zwei Heimatnetzen dual homed hosts Es gibt noch eine Konfigurationsmöglichkeit, die wir besprechen sollten, und zwar Rechner, die sich in zwei Netzwerken befinden. Technisch gesehen, zählt jeder als Gateway arbeitende Rechner zu den Rechnern mit zwei Heimatnetzen (im obigen Beispiel unter Verwendung einer PPP-Verbindung). In der Praxis meint man damit allerdings nur Rechner, die sich in zwei lokalen Netzen befinden. Entweder verfügt der Rechner über zwei Ethernetkarten und jede dieser Karten hat eine Adresse in einem separaten Subnetz, oder der Rechner hat nur eine Ethernetkarte und verwendet &man.ifconfig.8; Aliasing. Die erste Möglichkeit wird verwendet, wenn zwei physikalisch getrennte Ethernet-Netzwerke vorhanden sind, die zweite, wenn es nur ein physikalisches Ethernet-Netzwerk gibt, das aber aus zwei logisch getrennten Subnetzen besteht. In beiden Fällen werden Routingtabellen erstellt, damit jedes Subnetz weiß, dass dieser Rechner als Gateway zum anderen Subnetz arbeitet (inbound route). Diese Konfiguration (der Gateway-Rechner arbeitet als Router zwischen den Subnetzen) wird häufig verwendet, wenn es darum geht, Paketfilterung oder eine Firewall (in eine oder beide Richtungen) zu implementieren. Wenn Sie möchten, dass dieser Rechner Pakete zwischen den beiden Schnittstellen weiterleitet, müssen Sie diese Funktion manuell konfigurieren und aktivieren. Einen Router konfigurieren Router Ein Netzwerkrouter ist einfach ein System, das Pakete von einer Schnittstelle zur anderen weiterleitet. Internetstandards und gute Ingenieurspraxis sorgten dafür, dass diese Funktion in FreeBSD per Voreinstellung deaktiviert ist. Sie können diese Funktion aktivieren, indem Sie in &man.rc.conf.5; folgende Änderung durchführen: gateway_enable=YES # Auf YES setzen, wenn der Rechner als Gateway arbeiten soll Diese Option setzt die &man.sysctl.8;-Variable net.inet.ip.forwarding auf 1. Wenn Sie das Routing kurzzeitig unterbrechen wollen, können Sie die Variable auf 0 setzen. Ihr neuer Router benötigt nun noch Routen, um zu wissen, wohin er den Verkehr senden soll. Haben Sie ein (sehr) einfaches Netzwerk, können Sie statische Routen verwenden. FreeBSD verfügt über den Standard BSD-Routing-Daemon &man.routed.8;, der RIP (sowohl Version 1 als auch Version 2) und IRDP versteht. Für komplexere Situationen sollen Sie sich net/gated näher ansehen. Selbst wenn FreeBSD auf diese Art konfiguriert wurde, entspricht es den Standardanforderungen an Internet-Router nicht vollständig. Für den normalen Gebrauch kommt es den Standards aber nahe genug. Bekanntmachen von Routen routing propagation Wir haben bereits darüber gesprochen, wie wir unsere Routen zur Außenwelt definieren, aber nicht darüber, wie die Außenwelt uns finden kann. Wir wissen bereits, dass Routing-Tabellen so erstellt werden können, dass sämtlicher Verkehr für einen bestimmten Adressraum (in unserem Beispiel ein Klasse-C-Subnetz) zu einem bestimmten Rechner in diesem Netzwerk gesendet wird, der die eingehenden Pakete im Subnetz verteilt. Wenn Sie einen Adressraum für Ihre Seite zugewiesen bekommen, richtet Ihr Diensteanbieter seine Routingtabellen so ein, dass der ganze Verkehr für Ihr Subnetz entlang Ihrer PPP-Verbindung zu Ihrer Seite gesendet wird. Aber woher wissen die Seiten in der Außenwelt, dass sie die Daten an Ihren ISP senden sollen? Es gibt ein System (ähnlich dem verbreiteten DNS), das alle zugewiesenen Adressräume verwaltet und ihre Verbindung zum Internet-Backbone definiert und dokumentiert. Der Backbone ist das Netz aus Hauptverbindungen, die den Internetverkehr in der ganzen Welt transportieren und verteilen. Jeder Backbone-Rechner verfügt über eine Kopie von Haupttabellen, die den Verkehr für ein bestimmtes Netzwerk über hierarchisch vom Backbone über eine Kette von Diensteanbietern bis hin zu Ihrer Seite leiten. Es ist die Aufgabe Ihres Diensteanbieters, den Backbone-Seiten mitzuteilen, dass sie mit Ihrer Seite verbunden wurden. Durch diese Mitteilung der Route ist nun auch der Weg zu Ihnen bekannt. Dieser Vorgang wird als Bekanntmachung von Routen (routing propagation) bezeichnet. Problembehebung traceroute Manchmal kommt es zu Problemen bei der Bekanntmachung von Routen, und einige Seiten sind nicht in der Lage, Sie zu erreichen. Vielleicht der nützlichste Befehl, um festzustellen, wo das Routing nicht funktioniert, ist &man.traceroute.8;. Er ist außerdem sehr nützlich, wenn Sie einen entfernten Rechner nicht erreichen können (sehen Sie dazu auch &man.ping.8;). &man.traceroute.8; wird mit dem zu erreichenden Rechner (Host) ausgeführt. Angezeigt werden die Gateway-Rechner entlang des Verbindungspfades. Schließlich wird der Zielrechner erreicht oder es kommt zu einem Verbindungsabbruch (z. B. durch Nichterreichbarkeit eines Gateway-Rechners). Für weitere Informationen lesen Sie bitte die Dokumentation zu &man.traceroute.8;. Eric Anderson Geschrieben von Drahtlose Netzwerke Einführung Es kann sehr nützlich sein, einen Computer zu verwenden, ohne sich die ganze Zeit mit einem Netzwerkkabel herumärgern zu müssen. FreeBSD kann auf drahtlose Netzwerke (wireless LAN) zugreifen und sogar als Zugangspunkt (access point) für drahtlose Netzwerke verwendet werden. - Drahtlose Geräte - - Es gibt zwei Hauptgruppen von drahtlosen Geräten: - Zugangspunkte und Clients. + Wireless background + + Drahtlose Geräte können in zwei Modi konfiguriert + werden: BSS und IBSS. + + + BSS-Modus + Überlicherweise wird der BSS-Modus, der auch + Infrastruktur-Modus genannt wird, verwendet. In diesem Modus + sind die Zugangspunkte (access + points mit einem Kabel-Netzwerk verbunden. Jedes + drahtlose Netzwerk besitzt einen Namen, der als die SSID des + Netzwerks bezeichnet wird. + + Drahtlose Clients benutzen ein im IEEE 802.11 Standard + beschriebenes Protokoll, um sich mit den Zugangspunkten zu + verbinden. Durch die Angabe einer SSID kann sich der Client das + Netzwerk, mit dem er sich verbinden will, aussuchen. Gibt der + Client keine SSID an, so wird er mit irgendeinem Netzwerk + verbunden. + + + + IBSS-Modus + Der IBSS-Modus, der auch ad-hoc-Modus genannt wird, wurde + für Punkt-zu-Punkt-Verbindungen entworfen. Tatsächlich + gibt es zwei Modi: Der IBSS-Modus, auch ad-hoc- oder + IEEE-ad-hoc-Modus, der im IEEE 802.11 Standard definiert wird + und der demo-ad-hoc-Modus oder Lucent-adhoc-Modus (der zur + Verwirrung auch schon mal ad-hoc-Modus genannt wird). Der letzte + Modus stammt aus der Zeit vor IEEE 802.11 und sollte nur noch + mit alten Installationen verwendet werden. + + + + + Infrastruktur-Modus Zugangspunkte Zugangspunkte sind drahtlose Netzwerkgeräte, die es einem oder mehreren Clients ermöglichen, diesen als einen zentralen Verteiler (Hub) zu benutzen. Wenn ein Zugangspunkt verwendet wird, kommunizieren alle Clients über diesen Zugangspunkt. Oft werden mehrere Zugangspunkte kombiniert, um ein ganzes Gebiet, wie ein Haus, ein Unternehmen oder einen Park mit einem drahtlosen Netzwerk zu versorgen. Üblicherweise haben Zugangspunkte mehrere Netzwerkverbindungen: Die drahtlose Karte, sowie eine oder mehrere Ethernetkarten, über die die Verbindung mit dem restlichen Netzwerk hergestellt wird. Sie können einen vorkonfigurierten Zugangspunkt kaufen, oder Sie können sich unter Verwendung von FreeBSD und einer unterstützten drahtlosen Karte einen eigenen bauen. Es gibt verschiedene Hersteller, die sowohl Zugangspunkte als auch drahtlose Karten mit verschiedensten Eigenschaften vertreiben. Einen FreeBSD Zugangspunkt installieren Voraussetzungen Um einen drahtlosen Zugangspunkt unter FreeBSD einzurichten, müssen Sie über eine drahtlose Karte verfügen. Zurzeit werden dafür von FreeBSD nur Karten mit Prism-Chipsatz unterstützt. Zusätzlich benötigen Sie eine von FreeBSD unterstützte Ethernetkarte (diese sollte nicht schwer zu finden sein, da FreeBSD eine Vielzahl von verschiedenen Karten unterstützt). Für die weiteren Erläuterungen nehmen wir an, dass Sie den ganzen Verkehr zwischen dem drahtlosen Gerät und dem an die Ethernetkarte angeschlossenen Kabel-Netzwerk über die &man.bridge.4;-Funktion realisieren wollen. + + Die hostap-Funktion, mit der FreeBSD Zugangspunkte + implementiert, läuft am besten mit bestimmten + Firmware-Versionen. Prism 2-Karten sollten die + Version 1.3.4 oder neuer der Firmware verwenden. + Prism 2.5- und Prism 3-Karten sollten die + Version 1.4.9 der Firmware verwenden. Es kann sein, dass + auch ältere Versionen funktionieren. Zurzeit ist es nur + mit Windows-Werkzeugen der Hersteller möglich, die Firmware + zu aktualisieren. Einrichtung Stellen Sie als erstes sicher, dass Ihr System die drahtlose Karte erkennt: &prompt.root; ifconfig -a wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 ether 00:09:2d:2d:c9:50 media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) status: no carrier ssid "" stationname "FreeBSD Wireless node" channel 10 authmode OPEN powersavemode OFF powersavesleep 100 wepmode OFF weptxkey 1 Kümmern Sie sich jetzt noch nicht um die Details, sondern stellen Sie nur sicher, dass ihre drahtlose Karte überhaupt erkannt und angezeigt wird. Danach müssen Sie ein Modul laden, um die Bridge-Funktion von FreeBSD für den Zugangspunkt vorzubereiten. Um das &man.bridge.4;-Modul zu laden, machen Sie Folgendes: &prompt.root; kldload bridge Dabei sollten beim Laden des Moduls keine Fehlermeldungen auftreten. Geschieht dies doch, kann es sein, dass Sie die Bridge-Funktion (&man.bridge.4;) in Ihren Kernel kompilieren müssen. Der Abschnitt LAN-Kopplung mit einer Bridge sollte Ihnen bei dieser Aufgabe behilflich sein. Wenn die Bridge-Funktion aktiviert ist, müssen wir FreeBSD mitteilen, welche Schnittstellen über die Bridge verbunden werden sollen. Dazu verwenden wir &man.sysctl.8;: &prompt.root; sysctl net.link.ether.bridge=1 &prompt.root; sysctl net.link.ether.bridge_cfg="wi0 xl0" &prompt.root; sysctl net.inet.ip.forwarding=1 Nun ist es an der Zeit, die drahtlose Karte zu installieren. - Die folgenden Befehle versetzen die Karte in den - BSS-Modus (und verwandeln sie damit in einen - Zugangspunkt): - - &prompt.root; wicontrol -s "FreeBSD AP" -t 3 -n "my_net" -&prompt.root; ifconfig wi0 inet up ssid my_net mediaopt hostap -&prompt.root; wicontrol -p 6 - - Der erste &man.wicontrol.8;-Befehl teilt FreeBSD mit, - dass der Zugangspunkt FreeBSD AP heißt - (Option ). Die Geschwindigkeit soll - automatisch auf den höchstmöglichen Wert - (11 Mbps) gesetzt werden (Option ). - Außerdem soll die SSID (Stations-ID) auf - my_net gesetzt werden (Option - ). Lesen Sie die Dokumentation zu - &man.wicontrol.8;, wenn Sie weitere Informationen - benötigen. + Der folgende Befehl konfiguriert einen Zugangspunkt: + + &prompt.root; ifconfig wi0 ssid my_net channel 11 media DS/11Mbps mediaopt hostap up stationname "FreeBSD AP" Die &man.ifconfig.8; Zeile aktiviert das - wi0 -Gerät, und setzt die - SSID auf my_net. Damit erzeugt man - allerdings eine gewisse Redundanz. Dies ist hier aber - Absicht, um zu zeigen, dass diese Einstellung an beiden - Positionen durchgeführt werden kann. Die Einstellung - dient dazu, - &man.ifconfig.8; mitzuteilen, dass die Schnittstelle - (wi0) in den Zugangspunktmodus - versetzt werden soll. - - Die zweite &man.wicontrol.8;-Zeile versetzt das - Gerät in den Zugangspunktmodus statt in den - Standard-IBSS (ad-hoc) Modus. + wi0-Gerät, und setzt die + SSID auf my_net sowie den Namen des + Zugangspunkts auf FreeBSD AP + Mit wird die Karte in den + 11 Mbps-Modus versetzt. Diese Option ist nötig, + damit -Optionen wirksam werden. Mit + wird die Schnittstelle als + Zugangspunkt konfiguriert. Der zu benutzende 802.11b-Kanal + wird mit festgelegt. In der + Hilfeseite &man.wicontrol.8; werden weitere Kanäle + + aufgezählt. Nun sollten Sie über einen voll funktionsfähigen und laufenden Zugangspunkt verfügen. Für weitere Informationen lesen Sie bitte die Dokumentationen zu &man.wicontrol.8;, &man.ifconfig.8; und &man.wi.4;. Außerdem ist es empfehlenswert, den folgenden Abschnitt zu lesen, um sich über die Sicherung bzw. Verschlüsselung von Zugangspunkten zu informieren. + + + Status Informationen + Wenn der Zugangspunkt eingerichtet ist und läuft, + können Sie die verbundenen Clients mit dem nachstehenden + Kommando abfragen: + + &prompt.root; wicontrol -l +1 station: +00:09:b7:7b:9d:16 asid=04c0, flags=3<ASSOC,AUTH>, caps=1<ESS>, rates=f<1M,2M,5.5M,11M>, sig=38/15 + + + Das Beispiel zeigt eine verbundene Station und die + dazugehörenden Verbindungsparameter. Die angegebene + Signalstärke sollte nur relativ interpretiert werden, da + die Umrechnung in dBm oder andere Einheiten abhängig von + der Firmware-Version ist. + Clients Ein drahtloser Client ist ein System, das direkt auf einen Zugangspunkt oder einen anderen Client zugreift. Üblicherweise haben drahtlose Clients nur ein Netzwerkgerät, die drahtlose Netzkarte. Es gibt verschiedene Möglichkeiten, einen drahtlosen Client zu konfigurieren. Diese hängen von den verschiedenen drahtlosen Betriebsmodi ab. Man unterscheidet vor allem zwischen BSS (Infrastrukturmodus, erfordert einen Zugangspunkt) und IBSS (ad-hoc, Peer-to-Peer-Modus, zwischen zwei Clients, ohne Zugangspunkt). In unserem Beispiel verwenden wir den weiter verbreiteten BSS-Modus, um einen Zugangspunkt anzusprechen. Voraussetzungen Es gibt nur eine Voraussetzung, um FreeBSD als drahtlosen Client betreiben zu können: Sie brauchen eine von FreeBSD unterstützte drahtlose Karte. Einen drahtlosen FreeBSD Client einrichten Sie müssen ein paar Dinge über das drahtlose Netzwerk wissen, mit dem Sie sich verbinden wollen, bevor Sie starten können. In unserem Beispiel verbinden wir uns mit einem Netzwerk, das den Namen my_net hat, und bei dem die Verschlüsselung deaktiviert ist. Anmerkung: In unserem Beispiel verwenden wir keine Verschlüsselung. Dies ist eine gefährliche Situation. Im nächsten Abschnitt werden Sie daher lernen, wie man die Verschlüsselung aktiviert, warum es wichtig ist, dies zu tun, und warum einige Verschlüsselungstechnologien Sie trotzdem nicht völlig schützen. Stellen Sie sicher, dass Ihre Karte von FreeBSD erkannt wird: &prompt.root; ifconfig -a wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 ether 00:09:2d:2d:c9:50 media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) status: no carrier ssid "" stationname "FreeBSD Wireless node" channel 10 authmode OPEN powersavemode OFF powersavesleep 100 wepmode OFF weptxkey 1 Nun werden wir die Einstellungen der Karte unserem Netzwerk anpassen: &prompt.root; ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net Ersetzen Sie 192.168.0.20 und 255.255.255.0 mit einer gültigen IP-Adresse und Netzmaske ihres Kabel-Netzwerks. Bedenken Sie außerdem, dass unser Zugangspunkt als Bridge zwischen dem drahtlosen und dem Kabel-Netzwerk fungiert. Für die anderen Rechner Ihres Netzwerks befinden Sie sich, genauso wie diese, im gleichen Kabel-Netzwerk, obwohl Sie zum drahtlosen Netzwerk gehören. Nachdem Sie dies erledigt haben, sollten Sie andere Rechner (Hosts) im Kabel-Netzwerk anpingen können. Dies genauso, wie wenn Sie über eine Standardkabelverbindung mit ihnen verbunden wären. Wenn Probleme mit Ihrer drahtlosen Verbindung auftreten, stellen Sie sicher, dass Sie mit dem Zugangspunkt verbunden sind: &prompt.root; ifconfig wi0 sollte einige Informationen ausgeben und Sie sollten Folgendes sehen: status: associated Wird dies nicht angezeigt, sind Sie entweder außerhalb der Reichweite des Zugangspunktes, haben die Verschlüsselung deaktiviert, oder Sie haben ein anderes Konfigurationsproblem. Verschlüsselung Verschlüsselung ist in einem drahtlosen Netzwerk wichtig, da Sie das Netzwerk nicht länger in einem geschützten Bereich betreiben können. Ihre Daten verbreiten sich in der ganzen Nachbarschaft, das heißt jeder, der es will, kann Ihre Daten lesen. Deshalb gibt es die Verschlüsselung. Durch die Verschlüsselung der durch die Luft versendeten Daten machen Sie es einem Dritten sehr viel schwerer, Ihre Daten abzufangen, bzw. auf diese zuzugreifen. Die gebräuchlichsten Methoden, um Daten zwischen Ihrem Client und dem Zugangspunkt zu verschlüsseln, sind WEP und &man.ipsec.4;. WEP WEP ist die Abkürzung für Wired Equivalency Protocol ("Verkabelung entsprechendes Protokoll"). WEP war ein Versuch, drahtlose Netzwerke genauso sicher und geschützt zu machen wie verkabelte Netzwerke. Unglücklicherweise wurde es bereits geknackt, und ist relativ einfach auszuhebeln. Sie sollten sich also nicht darauf verlassen, wenn Sie sensible Daten verschlüsseln wollen. Allerdings ist eine schlechte Verschlüsselung noch immer besser als gar keine Verschlüsselung. Aktivieren Sie daher WEP für Ihren neuen FreeBSD Zugangspunkt: - &prompt.root; ifconfig wi0 inet up ssid my_net wepmode on wepkey 0x1234567890 mediaopt hostap + &prompt.root; ifconfig wi0 inet up ssid my_net wepmode on wepkey 0x1234567890 media DS/11Mbps mediaopt hostap Auf dem Client können Sie WEP wie folgt aktivieren: &prompt.root; ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net wepmode on wepkey 0x1234567890 Beachten Sie bitte, dass Sie 0x1234567890 durch einen besseren Schlüssel ersetzen sollten. IPsec &man.ipsec.4; ist ein viel besseres und robusteres Werkzeug, um Daten in einem Netzwerk zu verschlüsseln und ist auch der bevorzugte Weg, Daten in einem drahtlosen Netzwerk zu verschlüsseln. Für weitere Informationen über &man.ipsec.4;-Sicherheit, und dessen Implementierung lesen Sie Abschnitt IPsec des Handbuches. Werkzeuge Es gibt einige Werkzeuge, die dazu dienen, Ihr drahtloses Netzwerk zu installieren, und auftretende Probleme zu beheben. Wir werden nun versuchen, einige davon zu beschreiben. <application>bsd-airtools</application> Das Paket bsd-airtools enthält einen kompletten Werkzeugsatz zum Herausfinden von WEP-Schlüsseln, zum Auffinden von Zugangspunkten, usw. Die bsd-airtools können Sie über den net/bsd-airtools Port installieren. Für weitere Informationen zum Installieren von Ports lesen Sie bitte des Handbuchs. Das Programm dstumbler ist ein Werkzeug, das Sie beim Auffinden von Zugangspunkten unterstützt, und das Signal-Rausch-Verhältnis graphisch darstellen kann. Wenn Sie Probleme beim Einrichten und Betreiben Ihres Zugangspunktes haben, könnte dstumbler genau das Richtige für Sie sein. Um die Sicherheit Ihres drahtlosen Netzwerks zu überprüfen, könnten Sie das Paket dweputils (dwepcrack, dwepdump und dwepkeygen) verwenden, um festzustellen, ob WEP Ihren Sicherheitsansprüchen genügt. wicontrol, ancontrol, raycontrol Dies sind Werkzeuge, um das Verhalten Ihrer drahtlosen Karte im drahtlosen Netzwerk zu kontrollieren. In den obigen Beispielen haben wir &man.wicontrol.8; verwendet, da es sich bei unser drahtlosen Karte um ein Gerät der wi0-Schnittstelle handelt. Hätten Sie eine drahtlose Karte von Cisco, würden Sie diese über an0 ansprechen, und daher &man.ancontrol.8; verwenden. ifconfig &man.ifconfig.8; kennt zwar viele Optionen von &man.wicontrol.8;, einige fehlen jedoch. Lesen Sie die Dokumentation zu &man.ifconfig.8; für weitere Informationen zu Parametern und Optionen. Unterstützte Karten Zugangspunkt Die einzigen Karten, die im BSS-Modus (das heißt als Zugangspunkt) derzeit unterstützt werden, sind solche - mit Prism (oder Prism 2, 2.5)-Chipsatz. Für eine + mit Prism 2-, 2.5- oder 3-Chipsatz. Für eine komplette Übersicht lesen Sie bitte &man.wi.4;. Clients Beinahe alle 802.11b drahtlosen Karten werden von FreeBSD unterstützt. Die meisten dieser Karten von Prism, Spectrum24, Hermes, Aironet und Raylink arbeiten als drahtlose Netzkarten im IBSS-Modus (ad-hoc, Peer-to-Peer und BSS). LAN-Kopplung mit einer Bridge Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. NFS (Network File System) Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. Start und Betrieb von FreeBSD über ein Netzwerk Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. ISDN (Integrated Service Data Network) Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. NIS / YP (Network Information Service) Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. DHCP (Dynamic Host Configuration Protocol) Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. DNS (Domain Name Service) Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. NTP (Network Time Protocol) Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. NATD (Network Address Translation Daemon) Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. inetd <quote>Super-Server</quote> Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. Parallel Line IP (PLIP) Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. IPv6 Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie bitte das Original in englischer Sprache. diff --git a/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml b/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml index f6e6530d71..b414f37901 100644 --- a/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml @@ -1,3010 +1,3016 @@ Bernd Warken Übersetzt von Martin Heinen Speichermedien Übersicht Dieses Kapitel behandelt die Benutzung von Laufwerken unter FreeBSD. 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 FreeBSD verwendet, um die Organisation der Daten auf einem physikalischen Laufwerk zu beschreiben (Partitionen und Slices). Wie Sie Dateisysteme an- und abhängen. Wie Sie ein weiteres Laufwerk zu Ihrem System hinzufügen. Wie virtuelle Dateisysteme, zum Beispiel RAM-Disks, aufgesetzt werden. Wie Sie mit Quotas die Benutzung von Laufwerken einschränken können. Wie unter FreeBSD CDs und DVDs gebrannt werden. Sie werden die Speichermedien, die Sie für Backups einsetzen können, kennen. Wie Sie die unter FreeBSD erhältlichen Backup Programme benutzen. Wie Sie ein Backup mit Disketten erstellen. Was Schnappschüsse sind und wie sie eingesetzt werden. Gerätenamen Die folgende Tabelle zeigt die von FreeBSD unterstützten Speichergeräte und deren Gerätenamen. Namenskonventionen von physikalischen Laufwerken Laufwerkstyp Gerätename IDE-Festplatten ad IDE-CD-ROM Laufwerke acd SCSI-Festplatten und USB-Speichermedien da SCSI-CD-ROM Laufwerke cd Verschiedene proprietäre CD-ROM-Laufwerke mcd Mitsumi CD-ROM, scd Sony CD-ROM, matcd Matsushita/Panasonic CD-ROM + + Der &man.matcd.4;-Treiber wurde am 5. Oktober + vom FreeBSD 4.X Zweig entfernt und existiert in + FreeBSD 5.0 und späteren Versionen + nicht. + Diskettenlaufwerke fd SCSI-Bandlaufwerke sa IDE-Bandlaufwerke ast Flash-Laufwerke fla für DiskOnChip Flash device RAID-Laufwerke aacd für Adaptec AdvancedRAID, mlxd und mlyd für Mylex, amrd für AMI MegaRAID, idad für Compaq Smart RAID, twed für 3Ware RAID.
David O'Brian Im Original von Hinzufügen von Laufwerken Laufwerke hinzufügen Angenommen, Sie wollen ein neues SCSI-Laufwerk zu einer Maschine hinzufügen, die momentan nur ein Laufwerk hat. Dazu schalten Sie zuerst den Rechner aus und installieren das Laufwerk entsprechend der Anleitungen Ihres Rechners, Ihres Controllers und Laufwerk Herstellers. Wegen der großen Abweichungen in der genauen Vorgehensweise würde eine detaillierte Beschreibung den Rahmen dieses Dokumentes sprengen. Nachdem Sie das Laufwerk installiert haben, melden Sie sich als Benutzer root an und kontrollieren Sie /var/run/dmesg.boot, um sicherzustellen, dass das neue Laufwerk gefunden wurde. Das neue Laufwerk wird, um das Beispiel fortzuführen, da1 heißen und soll unter /1 angehangen werden. Fügen Sie eine IDE-Platte hinzu, wird sie wd1 auf FreeBSD Systemen vor 4.0 und ad1 auf den meisten 4.X Systemen heißen. Partitionen Slices fdisk Da FreeBSD auf IBM-PC kompatiblen Rechnern läuft, muss es die PC BIOS-Partitionen, die verschieden von den traditionellen BSD-Partitionen sind, berücksichtigen. Eine PC Platte kann bis zu vier BIOS-Partitionen enthalten. Wenn die Platte ausschließlich für FreeBSD verwendet wird, können Sie den dedicated Modus benutzen, ansonsten muss FreeBSD in eine der BIOS-Partitionen installiert werden. In FreeBSD heißen die PC BIOS-Partitionen Slices, um sie nicht mit den traditionellen BSD-Partitionen zu verwechseln. Sie können auch Slices auf einer Platte verwenden, die ausschließlich von FreeBSD benutzt wird, sich aber in einem Rechner befindet, der noch ein anderes Betriebssystem installiert hat. Dadurch stellen Sie sicher, dass Sie fdisk des anderen Betriebssystems noch benutzen können. Im Fall von Slices wird die Platte als /dev/da1s1e hinzugefügt. Das heißt: SCSI-Platte, Einheit 1 (die zweite SCSI-Platte), Slice 1 (PC BIOS-Partition 1) und die e BSD-Partition. Wird die Platte ausschließlich für FreeBSD verwendet (dangerously dedicated), wird sie einfach als /dev/da1e hinzugefügt. Verwenden von &man.sysinstall.8; sysinstall hinzufügen von Laufwerken su Das <application>sysinstall</application> Menü Um ein Laufwerk zu partitionieren und zu labeln, kann das menügestützte /stand/sysinstall benutzt werden. Dazu melden Sie sich als root an oder benutzen su, um root zu werden. Starten Sie /stand/sysinstall und wählen das Configure Menü, wählen Sie dort den Punkt Fdisk aus. Partitionieren mit <application>fdisk</application> Innerhalb von fdisk geben Sie A ein, um die ganze Platte für FreeBSD zu benutzen. Beantworten Sie die Frage remain cooperative with any future possible operating systems mit YES. W schreibt die Änderung auf die Platte, danach können Sie fdisk mit q verlassen. Da Sie eine Platte zu einem schon laufenden System hinzugefügt haben, beantworten Sie die Frage nach dem Master Boot Record mit None. Disk Label Editor BSD Partitionen Als nächstes müssen Sie sysinstall verlassen und es erneut starten. Folgen Sie dazu bitte den Anweisungen von oben, aber wählen Sie dieses Mal die Option Label, um in den Disk Label Editor zu gelangen. Hier werden die traditionellen BSD-Partitionen erstellt. Ein Laufwerk kann acht Partitionen, die mit den Buchstaben a-h gekennzeichnet werden, besitzen. Einige Partitionen sind für spezielle Zwecke reserviert. Die a Partition ist für die Root-Partition (/) reserviert. Deshalb sollte nur das Laufwerk, von dem gebootet wird, eine a Partition besitzen. Die b Partition wird für Swap-Partitionen benutzt, wobei Sie diese auf mehreren Platten benutzen dürfen. Im dangerously dedicated Modus spricht die c Partition die gesamte Platte an, werden Slices verwendet, wird damit die ganze Slice angesprochen. Die anderen Partitionen sind für allgemeine Zwecke verwendbar. Der Label Editor von sysinstall bevorzugt die e Partition für Partitionen, die weder Root-Partitionen noch Swap-Partitionen sind. Im Label Editor können Sie ein einzelnes Dateisystem mit C erstellen. Wählen Sie FS, wenn Sie gefragt werden, ob Sie ein FS (Dateisystem) oder Swap erstellen wollen, und geben Sie einen Mountpoint z.B. /mnt an. Wenn Sie nach einer FreeBSD Installation ein Dateisystem mit sysinstall erzeugen, so werden die Einträge in /etc/fstab nicht erzeugt, so dass die Angabe des Mountpoints nicht wichtig ist. Sie können nun das Label auf das Laufwerk schreiben und das Dateisystem erstellen, indem Sie W drücken. Ignorieren Sie die Meldung von sysinstall, dass die neue Partition nicht angehangen werden konnte, und verlassen Sie den Label Editor sowie sysinstall. Ende Im letzten Schritt fügen Sie noch in /etc/fstab den Eintrag für das neue Laufwerk ein. Die Kommandozeile Anlegen von Slices Mit der folgenden Vorgehensweise wird eine Platte mit anderen Betriebssystemen, die vielleicht auf Ihrem Rechner installiert sind, zusammenarbeiten und nicht das fdisk Programm anderer Betriebssysteme stören. Bitte benutzen Sie den dedicated Modus nur dann, wenn Sie dazu einen guten Grund haben! &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; fdisk -BI da1 # Initialisieren der neuen Platte &prompt.root; disklabel -B -w -r da1s1 auto # Labeln &prompt.root; disklabel -e da1s1 # Editieren des Disklabels und Hinzufügen von Partitionen &prompt.root; mkdir -p /1 &prompt.root; newfs /dev/da1s1e # Wiederholen Sie diesen Schritt für jede Partition &prompt.root; mount /dev/da1s1e /1 # Anhängen der Partitionen &prompt.root; vi /etc/fstab # Ändern Sie /etc/fstab entsprechend Wenn Sie ein IDE-Laufwerk besitzen, ändern Sie da in ad. Auf Systemen vor 4.0 benutzen Sie wd. Dedicated OS/2 Wenn das neue Laufwerk nicht von anderen Betriebssystemen benutzt werden soll, können Sie es im dedicated Modus betreiben. Beachten Sie bitte, dass Microsoft Betriebssysteme mit diesem Modus eventuell nicht zurechtkommen, aber es entsteht kein Schaden am Laufwerk. Im Gegensatz dazu wird IBMs OS/2 versuchen, jede ihm nicht bekannte Partition zu reparieren. &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; disklabel -Brw da1 auto &prompt.root; disklabel -e da1 # Erstellen der `e' Partition &prompt.root; newfs -d0 /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # /dev/da1e hinzufügen &prompt.root; mount /1 Eine alternative Methode: &prompt.root; dd if=/dev/zero of=/dev/da1 count=2 &prompt.root; disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # /dev/da1e hinzufügen &prompt.root; mount /1 RAID Software RAID Christopher Shumway Geschrieben von Valentino Vaschetto Mark Up von ccd (Concatenated Disk Configuration) Die wichtigsten Faktoren bei der Auswahl von Massenspeichern sind Geschwindigkeit, Zuverlässigkeit und der Preis. Selten findet sich eine ausgewogene Mischung aller drei Faktoren. Schnelle und zuverlässige Massenspeicher sind für gewöhnlich teuer. Um die Kosten zu senken, muss entweder an der Geschwindigkeit oder an der Zuverlässigkeit gespart werden. Bei der Planung meines Systems habe ich die Faktoren nach ihrer Wichtigkeit geordnet. Der wichtigste Faktor waren die Kosten, da ich sehr viel Speicher zu einem guten Preis brauchte. Der nächste Faktor, Geschwindigkeit, war nicht so wichtig, da auf die Daten über ein geswitchtes 100 Mbit Ethernet, das wahrscheinlich den Engpass darstellen würde, zugegriffen werden sollte. Die Möglichkeit, die Ein- und Ausgabeoperationen auf mehrere Platten zu verteilen, sollte für dieses Netzwerk mehr als schnell genug sein. Die Frage nach der Zuverlässigkeit war leicht zu beantworten, da sich die Daten ja schon auf CD-Rs befanden und der Massenspeicher nur für den leichteren Zugriff auf die Daten sorgen sollte. Wenn ein Laufwerk kaputt geht, kann es leicht ersetzt werden und die Daten können nach dem Wiederherstellen des Dateisystems von CD-Rs wieder kopiert werden. Unter dem Strich wollte ich also möglichst viel Speicher für mein Geld. Große IDE-Laufwerke sind heutzutage billig: Ich fand IDE-Laufwerke von Western Digital mit 30,7 GB und 5400 RPM für 130 US Dollars, von denen ich drei und damit ungefähr neunzig Gigabyte Speicher kaufte. Installation der Hardware Die Laufwerke wurden in ein System eingebaut, das schon ein IDE-Laufwerk als Systemplatte besaß. Es wäre ideal gewesen, für jedes IDE-Laufwerk einen eigenen Controller und ein eigenes Kabel zu haben, doch haben das die damit verbundenen Kosten verboten. Zwei Platten wurden als Slave und eine als Master konfiguriert. An den ersten IDE-Controller schloss ich eine als Slave konfigurierte Platte zusätzlich zur Systemplatte an. Die beiden anderen Platten wurden als Master und Slave an den zweiten Controller angeschlossen. Beim Reboot wurde das BIOS so konfiguriert, dass es die angeschlossenen Platten automatisch erkennt und FreeBSD erkannte die Platten ebenfalls: ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33 Wenn FreeBSD die Platten jetzt nicht erkennt, überprüfen Sie, ob die Jumper korrekt konfiguriert sind. Ich habe von vielen Problemen gehört, die dadurch entstanden sind, dass die Platten mit cable select anstatt richtig als Master und Slave konfiguriert waren. Die nächste Überlegung war, wie die Platten in das Dateisystem eingebunden werden sollten. Ich schaute mir &man.vinum.8; () und FreeBSDs &man.ccd.4; im Hinblick auf meine Konfiguration an. Die Entscheidung fiel zugunsten von &man.ccd.4;, da es aus weniger Teilen besteht und weniger Teile häufig eine höhere Stabilität anzeigen. Vinum schien für meine Zwecke ein bisschen zuviel zu sein. Konfiguration von CCD Mit ccd können mehrere gleiche Platten zu einem logischen Dateisystem zusammengefasst werden. Um ccd zu benutzen, muss der Kernel mit der entsprechenden Unterstützung übersetzt werden. Ich fügte die folgende Zeile zu meiner Konfigurationsdatei hinzu und übersetzte den Kernel neu: pseudo-device ccd 4 Ab FreeBSD 5.0 muss die gewünschte Anzahl an Geräten nicht mehr angegeben werden, da die Geräte automatisch zur Laufzeit erzeugt werden. In FreeBSD 4.0 und späteren Versionen kann ccd auch als Kernelmodul geladen werden. Um ccd zu benutzen, müssen die Laufwerke zuerst mit einem Label versehen werden. Die Label erstellte ich mit den folgenden Kommandos: disklabel -r -w ad1 auto disklabel -r -w ad2 auto disklabel -r -w ad3 auto Damit wurden die Label ad1c, ad2c und ad3c erstellt, die jeweils das gesamte Laufwerk umfassen. Im nächsten Schritt muss der Typ des Labels geändert werden. Zum Editieren der Lables benutzte ich folgende Kommandos: disklabel -e ad1 disklabel -e ad2 disklabel -e ad3 Für jedes Label startete dies den durch EDITOR gegebenen Editor, in meinem Fall &man.vi.1;, der dann einen Abschnitt, wie den folgenden zeigte: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) Für ccd musste ich eine e Partition erstellen. Diese kann durch Kopieren der c Partition erstellt werden, allerdings muss auf 4.2BSD gesetzt werden. Der editierte Label sah dann wie folgt aus: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) Erstellen des Dateisystems Nachdem die Label erstellt waren, musste ich ccd konfigurieren. Dazu dient &man.ccdconfig.8;, das als ersten Parameter das zu konfigurierende Gerät, in meinem Fall /dev/ccd0c, erwartet. Wenn die Gerätedatei für ccd0c noch nicht existiert, können Sie diese mit den folgenden Kommandos erstellen: cd /dev sh MAKEDEV ccd0 Ab FreeBSD 5.0 werden die Gerätedateien automatisch von &man.devfs.5; erzeugt. MAKEDEV muss also nicht aufgerufen werden. Das nächste Argument, das ccdconfig erwartet, ist der Interleave für das Dateisystem. Der Interleave definiert die Größe eines Streifens in Blöcken, die normal 512 Bytes groß sind. Ein Interleave von 32 ist demnach 16384 Bytes groß. Nach der Angabe des Interleaves können Sie Optionen für ccdconfig angeben. Wenn Sie gespiegelte Laufwerke einrichten möchten, müssen Sie an dieser Stelle eine Option angeben. Da ich keinen Spiegel erstellen wollte, habe ich 0 eingesetzt. Zum Schluss werden die Geräte des Verbundes angegeben. Die komplette Kommandozeile sieht dann wie folgt aus: ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e Damit ist ccd konfiguriert und mit &man.newfs.8; kann nun ein Dateisystem angelegt werden: newfs /dev/ccd0c Automatisierung Damit ccd beim Start automatisch aktiviert wird, ist die Datei /etc/ccd.conf mit dem folgenden Kommando zu erstellen: ccdconfig -g > /etc/ccd.conf Wenn /etc/ccd.conf existiert, wird beim Reboot ccdconfig -C von /etc/rc aufgerufen. Damit wird ccd eingerichtet und die darauf befindlichen Dateisysteme können angehängt werden. Wenn Sie in den Single-User Modus booten, müssen Sie den Verbund erst konfigurieren, bevor Sie darauf befindliche Dateisysteme anhängen können: ccdconfig -C In /etc/fstab ist noch ein Eintrag für das auf dem Verbund befindliche Dateisystem zu erstellen, damit dieses beim Start des Systems immer angehängt wird: /dev/ccd0c /media ufs rw 2 2 Der Vinum Volume Manager Der Vinum Volume Manager ist ein Block-Gerätetreiber, der virtuelle Platten zur Verfügung stellt. Er trennt die Verbindung zwischen der Festplatte und dem zugehörigen Block-Gerät auf. Im Gegensatz zur konventionellen Aufteilung einer Platte in Slices lassen sich dadurch Daten flexibler, leistungsfähiger und zuverlässiger verwalten. &man.vinum.8; stellt RAID-0, RAID-1 und RAID-5 sowohl einzeln wie auch in Kombination zur Verfügung. Mehr Informationen über &man.vinum.8; erhalten Sie in . Hardware RAID RAID Hardware FreeBSD unterstützt eine Reihe von RAID-Controllern, die mit Hilfe eines BIOS auf der Karte ein RAID System aufbauen und verwalten können. Wie ein RAID System eingerichtet wird, sei kurz am Beispiel des Promise IDE RAID-Controllers gezeigt. Nachdem die Karte eingebaut ist und der Rechner neu gestartet wurde, erscheint eine Eingabeaufforderung. Wenn Sie den Anweisungen auf dem Bildschirm folgen, gelangen Sie in eine Maske, in der Sie mit den vorhandenen Festplatten ein RAID System aufbauen können. Das RAID System erscheint später unter FreeBSD als eine Festplatte. Wiederherstellen eines ATA-RAID-1 Verbunds Mit FreeBSD können Sie eine ausgefallene Platte in einem RAID-Verbund während des Betriebs auswechseln, vorausgesetzt Sie bemerken den Ausfall vor einem Neustart. Einen Ausfall erkennen Sie, wenn in den Protokollen von &man.syslogd.8; oder &man.dmesg.8; Meldungen wie die folgenden auftauchen: ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11) status=59 error=40 ar0: WARNING - mirror lost Überprüfen Sie den RAID-Verbund mit &man.atacontrol.8;: &prompt.root; atacontrol list ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED Damit Sie die Platte ausbauen können, muss sie zuerst aus dem Verbund entfernt werden: &prompt.root; atacontrol detach 3 Ersetzen Sie dann die Platte. Nehmen Sie die neue Platte in den Verbund auf: &prompt.root; atacontrol attach 3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present Stellen Sie die Organisation des Verbunds wieder her: &prompt.root; atacontrol rebuild ar0 Das Kommando blockiert den Terminal bis der Verbund wiederhergestellt ist. Den Fortgang des Prozesses können Sie in einem anderen Terminal mit den folgenden Befehlen kontrollieren: &prompt.root; dmesg | tail -10 [output removed] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed Warten Sie bis die Wiederherstellung beendet ist. Mike Meyer Beigesteuert von Handhabung von optischen Speichermedien (CDs & DVDs) CD-ROM erstellen Einführung CDs besitzen einige Eigenschaften, die sie von konventionellen Laufwerken unterscheiden. Zuerst konnten sie nicht beschrieben werden. Sie wurden so entworfen, dass sie ununterbrochen, ohne Verzögerungen durch Kopfbewegungen zwischen den Spuren, gelesen werden können. Sie konnten früher auch leichter als vergleichbar große Medien zwischen Systemen bewegt werden. CDs besitzen Spuren, aber damit ist der Teil Daten gemeint, der ununterbrochen gelesen wird, und nicht eine physikalische Eigenschaft der CD. Um eine CD mit FreeBSD zu erstellen, werden die Daten jeder Spur der CD in Dateien vorbereitet und dann die Spuren auf die CD geschrieben. ISO 9660 Dateisysteme ISO-9660 Das ISO 9660-Dateisystem wurde entworfen, um mit diesen Unterschieden umzugehen. Leider hat es auch damals übliche Grenzen für Dateisysteme implementiert. Glücklicherweise existiert ein Erweiterungsmechanismus, der es korrekt geschriebenen CDs erlaubt, diese Grenzen zu überschreiten und dennoch auf Systemen zu funktionieren, die diese Erweiterungen nicht unterstützen. mkisofs Mit sysutils/mkisofs wird eine Datei erstellt, die ein ISO 9660-Dateisystem enthält. Das Kommando hat Optionen, um verschiedene Erweiterungen zu unterstützen, und wird unten beschrieben. Sie können es aus dem sysutils/mkisofs Port installieren. CD Brenner ATAPI Welches Tool Sie zum Brennen von CDs benutzen, hängt davon ab, ob Ihr CD Brenner ein ATAPI Gerät ist oder nicht. Mit ATAPI CD Brennern wird burncd benutzt, das Teil des Basissystems ist. SCSI und USB CD-Brenner werden mit cdrecord aus sysutils/cdrtools benutzt. Von burncd wird nur eine beschränkte Anzahl von Laufwerken unterstützt. Um herauszufinden, ob ein Laufwerk unterstützt wird, sehen Sie bitte unter CD-R/RW supported drives nach. mkisofs sysutils/mkisofs erstellt ein ISO 9660-Dateisystem, das ein Abbild eines Verzeichnisbaumes des Dateisystems ist. Die einfachste Anwendung ist wie folgt: &prompt.root; mkisofs -o Imagedatei /path/to/tree Dateisysteme ISO-9660 Dieses Kommando erstellt eine Imagedatei, 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. Dateisysteme HFS Dateisysteme Joliet Es 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 FreeBSD-Systemen verwendet werden sollen, kann genutzt werden, um alle Beschränkungen für Dateinamen aufzuheben. Zusammen mit wird ein Abbild des Dateisystems, ausgehend von dem Startpunkt im FreeBSD-Dateibaum, erstellt, obwohl dies den ISO 9660 Standard verletzen kann. CD-ROM bootbare erstellen Die 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. Wenn /tmp/myboot ein bootbares FreeBSD-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 wie folgt erstellen: &prompt.root; mkisofs -U -R -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot Wenn Sie vn (mit FreeBSD 4.X) oder md (mit FreeBSD 5.X) in Ihrem Kernel konfiguriert haben, können Sie danach das Dateisystem einhängen. Mit FreeBSD 4.X setzen Sie dazu die nachstehenden Kommandos ab: &prompt.root; vnconfig -e vn0c /tmp/bootable.iso &prompt.root; mount -t cd9660 /dev/vn0c /mnt Mit FreeBSD 5.X verwenden Sie die Kommandos: &prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 &prompt.root; mount -t cd9660 /dev/md0 /mnt Jetzt können Sie überprüfen, dass /mnt und /tmp/myboot identisch sind. Sie können das Verhalten von sysutils/mkisofs mit einer Vielzahl von Optionen beeinflussen. Insbesondere können Sie das ISO-9660 Dateisystem modifizieren und Joliet- oder HFS-Dateisysteme brennen. Details dazu entnehmen Sie bitte der Manualpage von sysutils/mkisofs. burncd CD-ROM brennen Wenn Sie einen ATAPI CD Brenner besitzen, können Sie burncd benutzen, 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 fixate Dieses Kommando brennt eine Kopie von imagefile.iso auf das Gerät cddevice. In der Grundeinstellung wird das Gerät /dev/acd0c benutzt. &man.burncd.8; beschreibt, wie die Schreibgeschwindigkeit gesetzt wird, die CD ausgeworfen wird und Audio Daten geschrieben werden. cdrecord Wenn Sie keinen ATAPI CD Brenner besitzen, benutzen Sie cdrecord, um CDs zu brennen. cdrecord ist nicht Bestandteil des Basissystems. Sie müssen es entweder aus den Ports in sysutils/cdrtools oder dem passenden Paket installieren. Änderungen im Basissystem können Fehler im binären Programm verursachen und führen möglicherweise dazu, dass Sie einen Untersetzer brennen. Sie sollten daher den Port aktualisieren, wenn Sie Ihr System aktualisieren bzw. wenn Sie STABLE verfolgen, den Port aktualisieren, wenn es eine neue Version gibt. Obwohl cdrecord viele Optionen besitzt, ist die grundlegende Anwendung einfacher als burncd. Ein ISO 9660 Image erstellen Sie mit: &prompt.root; cdrecord dev=device imagefile.iso Der Knackpunkt in der Benutzung von cdrecord besteht darin, das richtige Argument zu zu finden. Benutzen Sie dazu den Schalter von cdrecord, der eine ähnliche Ausgabe wie die folgende produziert: CD-ROM brennen &prompt.root; cdrecord -scanbus Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) * 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 zu Ihrem 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 wäre. Einfachere Wege das Argument anzugeben, sind in &man.cdrecord.1; beschrieben. Dort sollten Sie auch nach Informationen über Audio Spuren, das Einstellen der Geschwindigkeit und ähnlichem suchen. Kopieren von Audio-CDs Um eine Kopie einer Audio-CD zu erstellen, kopieren Sie die Stücke der CD in einzelne Dateien und brennen diese Dateien dann auf eine leere CD. Das genaue Verfahren hängt davon ab, ob Sie ATAPI-Laufwerke oder SCSI-Laufwerke verwenden. SCSI-Laufwerke Kopieren Sie die Audio-Daten mit cdda2wav: &prompt.user; cdda2wav -v255 -D2,0 -B -Owav Die erzeugten .wav Dateien schreiben Sie mit cdrecord auf eine leere CD: &prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav Das Argument von gibt das verwendete Gerät an, das Sie, wie in beschrieben, ermitteln können. ATAPI-Laufwerke Der ATAPI CD-Treiber stellt die einzelnen Stücke der CD über die Dateien /dev/acddtn, zur Verfügung. d bezeichnet die Laufwerksnummer und n ist die Nummer des Stücks. Die Datei /dev/acd0t1 bezeichnet also das erste Stück auf dem ersten CD-Laufwerk. Die entsprechenden Dateien in /dev erstellen Sie mit MAKEDEV: &prompt.root; cd /dev &prompt.root; sh MAKEDEV acd0t99 Ab FreeBSD 5.0 werden die Gerätedateien automatisch von &man.devfs.5; erzeugt, so dass Sie MAKEDEV nicht laufen lassen müssen. Die einzelnen Stücke kopieren Sie mit &man.dd.1;. Sie müssen dazu eine spezielle Blockgröße angeben: &prompt.root; dd if=/dev/acd0t1 of=track1.cdr bs=2352 &prompt.root; dd if=/dev/acd0t2 of=track2.cdr bs=2352 ... Die kopierten Dateien können Sie dann mit burncd brennen. Auf der Kommandozeile müssen Sie angeben, dass Sie Audio-Daten brennen wollen und dass das Medium fixiert werden soll: &prompt.root; burncd -f /dev/acd0c audio track1.cdr track2.cdr ... fixate Kopieren von Daten-CDs Sie können eine Daten-CD in eine Datei kopieren, die einem Image entspricht, das mit sysutils/mkisofs 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. Wenn Sie ein anderes Laufwerk benutzen, setzen Sie bitte den richtigen Namen ein. An den Gerätenamen muss ein c angehangen werden, um die ganze Partition, in diesem Fall ist das die ganze CD-ROM, anzusprechen. &prompt.root; dd if=/dev/acd0c of=file.iso bs=2048 Danach haben Sie ein Image, das Sie wie oben beschrieben, auf eine CD brennen können. Einhängen von Daten-CDs Nachdem Sie eine Daten-CD gebrannt haben, wollen Sie wahrscheinlich auch die Daten auf der CD lesen. Dazu müssen Sie die CD in den Dateibaum einhängen. Die Voreinstellung für den Typ des Dateisystems von &man.mount.8; ist UFS. Das System wird die Fehlermeldung Incorrect super block ausgeben, wenn Sie versuchen, die CD mit dem folgenden Kommando einzuhängen: &prompt.root; mount /dev/cd0c /mnt Auf der CD befindet sich ja kein UFS Dateisystem, so dass der Versuch, die CD einzuhängen fehlschlägt. Sie müssen &man.mount.8; sagen, dass es ein Dateisystem vom Typ ISO9660 verwenden soll. Dies erreichen Sie durch die Angabe von auf der Kommandozeile. Wenn Sie also die CD-ROM /dev/cd0c in /mnt einhängen wollen, führen Sie folgenden Befehl aus: &prompt.root; mount -t cd9660 /dev/cd0c /mnt Abhängig vom verwendeten CD-ROM kann der Gerätename von dem im Beispiel (/dev/cd0c) abweichen. Die Angabe von führt &man.mount.cd9660.8; aus, so dass das Beispiel verkürzt werden kann: &prompt.root; mount_cd9660 /dev/cd0c /mnt Auf diese Weise können Sie Daten-CDs von jedem Hersteller verwenden. Es kann allerdings zu Problemen mit CDs kommen, die verschiedene ISO 9660 Erweiterungen benutzen. So speichern Joliet CDs alle Dateinamen unter Verwendung von zwei Byte langen Unicode Zeichen. Der FreeBSD Kernel unterstützt zurzeit noch kein Unicode und manche Sonderzeichen werden als Fragezeichen dargestellt. Ab FreeBSD 4.3 sind im CD9660-Treiber Möglichkeiten vorgesehen, eine Konvertierungstabelle zur Laufzeit zu laden. Module für die gebräuchlisten Kodierungen finden Sie im Port sysutils/cd9660_unicode. 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=15000 Die Zeile bewirkt, dass nach dem Zurücksetzen des SCSI-Busses beim Booten 15 Sekunden gewartet wird, um dem CD-ROM-Laufwerk genügend Zeit zu geben, darauf zu antworten. Brennen von rohen CDs Sie können eine Datei auch direkt auf eine CD brennen, ohne vorher auf ihr ein ISO 9660 Dateisystem einzurichten. Einige Leute nutzen dies, um Datensicherungen durchzuführen. Diese Vorgehensweise hat den Vorteil, dass Sie schneller als das Brennen einer normalen CD ist. &prompt.root; burncd -f /dev/acd1c -s 12 data archive.tar.gz fixate Wenn Sie die Daten von einer solchen CD wieder zurückbekommen wollen, müssen Sie sie direkt von dem rohen Gerät lesen: &prompt.root; tar xzvf /dev/acd1c Eine auf diese Weise gefertigte CD können Sie nicht in das Dateisystem einhängen. Sie können Sie auch nicht auf einem anderen Betriebssystem lesen. Wenn Sie die erstellten CDs in das Dateisystem einhängen oder mit anderen Betriebssystemen austauschen wollen, müssen Sie sysutils/mkisofs, wie oben beschrieben, benutzen. Julio Merino Beigetragen von Handhabung von Disketten Heutzutage sind Disketten kein geeignetes Speichermedium mehr. Trotzdem werden sie manchmal noch verwendet, wenn zum Beispiel kein anderes Medium zur Verfügung steht und auf Daten eines anderen Rechners zugegriffen werden muss. Dieser Abschnitt zeigt Ihnen, wie Sie Disketten formatieren, Daten auf Disketten schreiben und Daten von Disketten lesen. Tatsächlich habe ich diesen Abschnitt geschrieben, um Ihnen zu zeigen, wie Sie die Kapazität Ihrer Disketten erhöhen können. Die Gerätedateien Wie auf jedes andere Gerät auch, greifen Sie auf Disketten über Einträge im Verzeichnis /dev zu. Um auf das rohe Gerät zuzugreifen, benutzen Sie /dev/fdX, wobei Sie für X die Gerätenummer, normalerweise 0, einsetzen. Auf eine formatierte Diskette greifen Sie über das Gerät /dev/fdX zu. Sie können dazu auch die Einträge /dev/fdXY, wobei Y ein Buchstabe ist, benutzen. Die Einträge der Form /dev/fdX. Größe werden genutzt, um Disketten zu formatieren. Größe gibt die Kapazität der Diskette in Kilobytes an. Manchmal müssen Sie diese Einträge in /dev anlegen oder wiederherstellen. Dazu können Sie das folgende Kommando benutzen: &prompt.root; cd /dev && ./MAKEDEV "fd*" Ab FreeBSD 5.0 werden die Gerätedateien automatisch von &man.devfs.5; erzeugt. Es ist nicht notwendig MAKEDEV laufen zu lassen. Formatieren Bevor eine Diskette benutzt werden kann, muss Sie (low-level) formatiert werden, was normalerweise der Hersteller schon gemacht hat. Sie können sie allerdings noch einmal formatieren, um das Medium zu überprüfen, oder die Kapazität zu erhöhen. Mit &man.fdformat.1; formatieren Sie eine Diskette. Dieses Werkzeug erwartet die Angabe eines Gerätenamens der Form /dev/fdX. Größe aus /dev, mit dem Sie die Kapazität der Diskette steuern können. Legen Sie eine 3,5 Zoll Diskette in Ihr Laufwerk ein und führen das folgende Kommando aus: &prompt.root; /usr/sbin/fdformat /dev/fd0.1440 Das Formatieren dauert eine Weile und hier auftauchende Fehler zeigen schlechte Medien an. Um eine andere Kapazität zu erzwingen, nehmen Sie einen anderen Eintrag aus /dev. Benutzen Sie dieselbe Diskette mit folgendem Befehl: &prompt.root; /usr/sbin/fdformat /dev/fd0.1720 Das Formatieren mit einer höheren Kapazität nimmt etwas mehr Zeit in Anspruch als das vorige Beispiel. Nachdem der Befehl ausgeführt ist, haben Sie eine Diskette mit 1720 KB Kapazität. Sie können auch andere Einträge aus /dev verwenden, doch sind 1720 KB für 3,5-Zoll Disketten am besten geeignet. Das Disklabel Nach dem Formatieren muss auf der Diskette ein Disklabel erstellt werden. Das Disklabel wird später zerstört, ist aber notwendig, um die Größe und Geometrie der Diskette zu erkennen. 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 disklabel: &prompt.root; /sbin/disklabel -B -r -w /dev/fd0 fdsize Wenn Sie eine andere Kapazität benutzen wollen, ersetzen Sie fdsize mit dem passenden Wert (beispielsweise fd1440 oder fd1720). Damit bestimmen Sie, welchen Eintrag disklabel aus /etc/disktab benutzt. Das Dateisystem Auf der Diskette muss nun ein Dateisystem erstellt werden (high-level Formatierung), damit FreeBSD von der Diskette lesen und auf sie schreiben kann. Das Disklabel wird durch das Anlegen eines Dateisystems zerstört. Falls Sie die Diskette später erneut formatieren wollen, müssen Sie dann auch ein neues Disklabel anlegen. Für das zu erstellende Dateisystem haben Sie die Wahl zwischen UFS und FAT. Da UFS für Disketten weniger geeignet ist, nehmen Sie bitte FAT. Das folgende Kommando legt ein Dateisystem auf der Diskette an: &prompt.root; /sbin/newfs_msdos /dev/fd0 Durch das Disklabel erkennt &man.newfs.8; den Diskettentyp und ist in der Lage, ein neues Dateisystem anzulegen. Die Diskette kann nun benutzt werden. Verwenden der Diskette Sie können die Diskette mit &man.mount.msdos.8; in Ihren Dateibaum einhängen oder mit den Mtools aus der Ports-Sammlung darauf zugreifen. Wenn Sie die Mtools benutzen und die Diskette mit einer erhöhten Kapazität formatiert haben, sollte mdir diese Kapazität anzeigen. Disketten mit erhöhter Kapazität lassen sich praktisch mit allen anderen Betriebssystemen ohne zusätzliche Utilities verwenden. Microsoft-Systeme können mit ihnen ohne Probleme umgehen. Es kann allerdings sein, dass ältere Laufwerke nicht mit diesen Disketten zurechtkommen. Handhabung von Bandmedien Bandmedien Die wichtigsten Bandmedien sind 4mm, 8mm, QIC, Mini-Cartridge und DLT. 4mm (DDS: Digital Data Storage) Bandmedien DDS (4mm) Bänder Bandmedien QIC Bänder Die 4mm-Bänder ersetzen mehr und mehr das QIC-Format als Backupmedium der Wahl für Workstations. Dieser Trend nahm stark zu, als Conner die Firma Archive, einen führenden Hersteller von QIC-Laufwerken, aufkaufte und die Produktion von QIC-Laufwerken stoppte. 4mm-Laufwerke sind klein und ruhig, haben aber nicht den gleichen Ruf der Zuverlässigkeit, den die 8mm-Laufwerke genießen. Die 4mm-Kassetten sind preiswerter und mit den Maßen 76,2 x 50,8 x 12,7 mm (3 x 2 x 0,5 Inch) kleiner als die 8mm-Kassetten. Sowohl die 4mm- als auch die 8mm-Magnetköpfe haben eine relativ kurze Lebensdauer, weil beide die gleiche Helical-Scan-Technologie benutzen. Der Datendurchsatz dieser Laufwerke beginnt bei etwa 150 kByte/s, Spitzenwerte liegen bei etwa 500 kByte/s. Die Datenkapazität liegt zwischen 1,3 GB und 2 GB. Die meisten Geräte haben eine Hardwarekompression eingebaut, die die Kapazität ungefähr verdoppelt. Es gibt Multi-Drive-Einheiten für Bandbibliotheken mit bis zu 6 Laufwerken in einem Gehäuse und automatischem Bandwechsel. Die Kapazität einer solchen Bibliothek liegt bei 240 GB. Der Standard DDS-3 unterstützt nun Bandkapazitäten bis zu 12 GB (oder komprimiert 24 GB). 4mm-Laufwerke, ebenso wie 8mm-Laufwerke, verwenden Helical-Scan. Alle Vor- und Nachteile von Helical-Scan gelten sowohl für 4mm- als auch für 8mm-Laufwerke. Bänder sollten nach 2.000 Banddurchläufen oder 100 vollen Backups ersetzt werden. 8mm (Exabyte) Bandmedien Exabyte (8mm) Bänder 8mm-Bänder sind die verbreitetsten SCSI-Bandlaufwerke; sie sind das geeignetste Bandformat zum Austausch von Bändern. Fast an jedem Standort gibt es ein 8mm-Bandlaufwerk mit 2 GB. 8mm-Bänder sind zuverlässig, gut zu handhaben und arbeiten leise. Bandkassetten sind preiswert und klein mit 122 x 84 x 15 mm (4,8 x 3,3 x 0,6 Inch). Ein Nachteil der 8mm-Technologie ist die relativ kurze Lebensdauer des Schreib-/Lesekopfs und der Bänder auf Grund der hohen Relativgeschwindigkeit des Bandes über die Köpfe hinweg. Der Datendurchsatz liegt ungefähr zwischen 250 kByte/s und 500 kByte/s. Die Datenkapazität beginnt bei 300 MB und erreicht bis zu 7 GB bei den Spitzengeräten. Die meisten Geräte haben eine Hardwarekompression eingebaut, die die Kapazität ungefähr verdoppelt. Diese Laufwerke sind erhältlich in Form von Einzelgeräten oder als Multi-Drive-Bandbibliotheken mit 6 Laufwerken und 120 Bändern in einem Gehäuse. Die Bänder werden von der Geräteeinheit automatisch gewechselt. Die Kapazität einer solchen Bibliothek liegt bei 840 GB und mehr. Das Exabyte-Modell Mammoth unterstützt 12 GB auf einem Band (24 GB mit Kompression) und kostet etwa doppelt so viel wie ein konventionelles Bandlaufwerk. Die Daten werden mittels Helical-Scan auf das Band aufgezeichnet, die Köpfe sind leicht schräg zum Medium angebracht (mit einem Winkel von etwa 6 Grad). Das Band wickelt sich 270 Grad um die Spule, die die Köpfe trägt. Die Spule dreht sich, während das Band darüberläuft. Das Resultat ist eine hohe Datendichte und eng gepackte Spuren, die von einem Rand des Bands zum gegenüberliegenden quer über das Band abgewinkelt verlaufen. QIC Bandmedien QIC-150 QIC-150-Bänder und -Laufwerke sind wohl der am weitesten verbreitete Bandtyp überhaupt. QIC-Bandlaufwerke sind die preiswertesten seriösen Backupgeräte, die angeboten werden. Der Nachteil dabei ist der hohe Preis der Bänder. QIC-Bänder sind im Vergleich zu 8mm- oder 4mm-Bändern bis zu fünf Mal teurer, wenn man den Preis auf 1 GB Datenkapazität umrechnet. Aber wenn Ihr Bedarf mit einem halben Dutzend Bänder abgedeckt werden kann, mag QIC die richtige Wahl sein. QIC ist der gängigste Bandlaufwerkstyp. Jeder Standort hat ein QIC-Laufwerk der einen oder anderen Dichte. Aber gerade das ist der Haken an der Sache, QIC bietet eine große Anzahl verschiedener Datendichten auf physikalisch ähnlichen (manchmal gleichen) Bändern. QIC-Laufwerke sind nicht leise. Diese Laufwerke suchen lautstark die richtige Bandstelle, bevor sie mit der Datenaufzeichnung beginnen. Sie sind während des Lesens, Schreibens und Suchens deutlich hörbar. Die Abmessungen der QIC-Kassetten betragen 152.4 x 101.6 x 17.78 mm (6 x 4 x 0,7 Inch), die QIC-Bandbreite beträgt 6,35 mm (1/4 Inch). Mini-Cartridges, die die gleiche Bandbreite verwenden, werden gesondert vorgestellt. Bandbibliotheken und Bandwechselgeräte gibt es im QIC-Format keine. Der Datendurchsatz liegt ungefähr zwischen 150 kByte/s und 500 kByte/s. Die Datenkapazität reicht von 40 MB bis zu 15 GB. Hardwarekompression ist in vielen der neueren QIC-Laufwerke eingebaut. QIC-Laufwerke werden heute seltener eingesetzt; sie werden von den DAT-Laufwerken abgelöst. Die Daten werden auf dem Band in Spuren aufgezeichnet. Die Spuren verlaufen entlang der Längsachse des Bandmediums von einem Ende zum anderen. Die Anzahl der Spuren, und damit auch die Breite einer Spur, variiert mit der Kapazität des Laufwerks. Die meisten, wenn nicht alle neueren Laufwerke sind rückwärtskompatibel, zumindest zum Lesen (aber oft auch zum Schreiben). QIC hat einen guten Ruf bezüglich der Datensicherheit (die Mechanik ist einfacher und robuster als diejenige der Helical-Scan-Laufwerke). Bänder sollten nach 5,000 Backups ersetzt werden. XXX* Mini-Cartridge DLT Bandmedien DLT DLT hat die schnellste Datentransferrate von allen hier aufgelisteten Gerätetypen. Das 1/2-Inch-Band (12,7 mm) befindet sich in einer Spulkassette mit den Abmessungen 101,6 x 101,6 x 25,4 mm (4 x 4 x 1 Inch). Die eine Seite der Kassette hat eine bewegliche Abdeckung. Der Laufwerksmechanismus öffnet diese Abdeckung und zieht die Bandführung heraus. Die Bandführung trägt ein ovales Loch, die das Laufwerk zum Einhängen des Bandes benutzt. Die Aufwickelspule befindet sich im Innern des Bandlaufwerks. Bei allen anderen hier besprochenen Bandkassetten (9-Spur-Bänder sind die einzige Ausnahme) befinden sich sowohl die Auf- als auch die Abwickelspule im Inneren der Bandkassette. Der Datendurchsatz liegt bei etwa 1,5 MBytes/s, der dreifache Durchsatz der 4mm-, 8mm- oder QIC-Bandlaufwerke. Die Datenkapazität reicht von 10 GB bis 20 GB für Einfachlaufwerke. Auch Mehrfachbandgeräte sind erhältlich, sowohl als Bandwechsler wie auch als Multi-Drive-Bandbibliotheken, die Platz für 5 bis 900 Bänder verteilt auf 1 bis 20 Laufwerke enthalten, mit einer Speicherkapazität von 50 GB bis 9 TB. Mit Kompression unterstützt das Format DLT Type IV bis zu 70 GB Kapazität. Die Daten werden auf dem Band in Spuren aufgezeichnet, die parallel zur Bewegungsrichtung verlaufen (gerade so wie bei den QIC-Bändern). Zwei Spuren werden dabei gleichzeitig beschrieben. Die Lebenszeit der Lese- und Schreibköpfe sind relativ lang; denn sobald das Band anhält, gibt es keine Relativbewegung mehr zwischen den Köpfen und dem Band. AIT Bandmedien AIT AIT ist ein neues Format von Sony, das (mit Kompression) bis zu 50 GB pro Band speichern kann. Die Bänder haben einen Speicherchip, der einen Index mit dem Inhalt des Bandes anlegt. Dieser Index kann vom Bandlaufwerk zur schnellen Bestimmung der Lage von Dateien auf dem Band benutzt werden, während andere Bänder einige Minuten zur Lokalisierung benötigen. Entsprechende Software wie etwa SAMS:Alexandria können 40 oder mehr AIT-Bandbibliotheken verarbeiten, indem sie direkt mit dem Speicherchip des Bandes kommunizieren, wenn der Bandinhalt am Bildschirm dargestellt werden soll oder bestimmt werden soll, welche Dateien auf welchem Band gespeichert sind, oder um das richtige Band zu lokalisieren, zu laden und Daten vom Band zurückzuspielen. Bibliotheken dieser Art liegen in der Preiskategorie von $20,000, womit sie etwas aus dem Hobbymarkt herausfallen. Die erste Benutzung eines neuen Bands Der Versuch ein neues, vollkommen leeres Band ohne weiteres zu lesen oder zu beschreiben wird schief gehen. Auf der Konsole werden dann Meldungen ähnlich wie folgt ausgegeben: sa0(ncr1:4:0): NOT READY asc:4,1 0(ncr1:4:0): Logical unit is in process of becoming ready Das Band enthält nämlich keinen Identifier-Block (Blocknummer 0). Alle QIC-Bandlaufwerke seit der Einführung des QIC-525-Standards schreiben einen Identifier-Block auf das Band. Es gibt zwei Lösungen: mt fsf 1 veranlasst das Bandlaufwerk einen Identifier-Block auf das Band zu schreiben. Das Band durch Drücken des Bandauswurfknopfs an der Vorderseite des Bandgeräts auswerfen. Danach das Band wieder einlegen und Daten auf das Band übertragen wie in dump beschrieben. Das Kommando dump gibt die Meldung DUMP: End of tape detected zurück und die Konsole zeigt: HARDWARE FAILURE info:280 asc:80,96. Das Band zurückspulen mit dem Kommando: mt rewind. Nachfolgende Bandoperationen werden dann erfolgreich ausgeführt. Was ist mit Backups auf Disketten? Kann ich Disketten zum Backup meiner Daten verwenden? Backup Disketten Disketten Disketten sind kein wirklich geeignetes Medium für Backups aus folgenden Gründen: Disketten sind unzuverlässig, besonders langfristig. Speichern und Wiederherstellen ist sehr langsam. Sie haben eine sehr eingeschränkte Kapazität (Die Zeiten sind längst vorbei, wo eine ganze Festplatte auf ein Dutzend Floppies oder so gespeichert werden konnte). Wenn jedoch keine andere Möglichkeit zum Datenbackup vorhanden ist, dann sind Disketten immer noch besser als gar kein Backup. Wenn man gezwungen ist Disketten zu verwenden, dann sollte man auf eine gute Qualität achten. Floppies, die schon einige Jahre im Büro herumgelegen haben, sind eine schlechte Wahl. Ideal sind neue Disketten von einem renommierten Hersteller. Wie mache ich ein Backup auf Disketten? Die beste Art eines Diskettenbackups ist der Befehl tar mit der Mehrfachband-Option , die es ermöglicht ein Backup über mehrere Floppies zu verteilen. Ein Backup aller Dateien im aktuellen Verzeichnis einschließlich aller Unterverzeichnisse wird durch den folgenden Befehl veranlasst (als root): &prompt.root; tar Mcvf /dev/fd0 * Wenn die erste Floppy voll ist, meldet sich tar und verlangt einen Diskettenwechsel (weil tar unabhängig vom Medium arbeitet, wird das nächste Band (Volume) verlangt, was in diesem Zusammenhang eine Diskette bedeutet), in etwa wie folgt: Prepare volume #2 for /dev/fd0 and hit return: Dies wird mit steigender Volumenzahl wiederholt, bis alle angegebenen Dateien archiviert sind. Können Diskettenbackups komprimiert werden? tar gzip Kompression Leider erlaubt es tar nicht, die Option für Multi-Volume-Archive zu verwenden. Man kann natürlich alle Dateien mit gzip komprimieren, sie mit tar auf die Floppies aufspielen, und dann die Dateien wieder gunzip entkomprimieren! Wie werden Diskettenbackups wieder hergestellt? Zur Wiederherstellung des gesamten Archivs verwendet man: &prompt.root; tar Mxvf /dev/fd0 Eine Methode um nur bestimmte Dateien wieder her zu stellen ist mit der ersten Diskette den folgenden Befehl auszuführen: &prompt.root; tar Mxvf /dev/fd0 filename tar wird dann die folgenden Disketten anfordern, bis die benötigte Datei gefunden ist. Wenn man die Diskette kennt, auf der sich die Datei befindet, kann man alternativ diese Diskette auch direkt einlegen und den gleichen Befehl wie oben verwenden. Man beachte, dass, falls die erste Datei eine Fortsetzung einer Datei von einer der vorigen Disketten ist, tar die Warnung ausgibt, dass diese Datei nicht wiederhergestellt werden kann, selbst dann, wenn dies gar nicht verlangt wurde! Datensicherung Datensicherung Backup Die drei wichtigsten Programme zur Sicherung von Daten sind &man.dump.8;, &man.tar.1; und &man.cpio.1;. Sichern und Wiederherstellen Backup Software Sichern / Wiederherstellen dump restore dump und restore sind die traditionellen Backupprogramme in &unix; Systemen. Sie betrachten das Laufwerk als eine Ansammlung von Blöcken, operieren also unterhalb dem Abstraktionslevel von Dateien, Links und Verzeichnissen, die die Grundlage des Dateisystemkonzepts bilden. dump sichert ein ganzes Dateisystem auf einem Gerät, es ist nicht möglich nur einen Teil des Dateisystems, oder einen Verzeichnisbaum, der mehr als ein Dateisystem umfasst zu sichern. dump schreibt keine Dateien oder Verzeichnisse auf das Band, sondern die Blöcke, aus denen Dateien und Verzeichnisse bestehen. Wenn Sie mit dump das Root-Verzeichnis 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 ATT Unix (ca. 1975) stammen. Die Parameter sind für 9-Spur-Bänder (6250 bpi) voreingestellt, nicht auf die heute üblichen Medien hoher Dichte (bis zu 62.182 ftpi). Bei der Verwendung der Kapazitäten moderner Bandlaufwerke muss diese Voreinstellung auf der Kommandozeile überschrieben werden. .rhosts rdump und rrestore können Daten über Netzwerk auf ein Band, das sich in einem Laufwerk eines anderen Computers befindet, überspielen. Beide Programme benutzen die Befehle rcmd und ruserok 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 Sie zum Beispiel mit rdump von einem FreeBSD Rechner aus auf ein Exabyte Bandlaufwerk einer Sun mit Namen komodo zugreifen möchten, setzen Sie das folgende Kommando ab: &prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1 Zum Ausführen dieses Kommandos müssen Sie auf dem entfernten Rechner in .rhosts eingetragen sein. Die r-Kommandos sind ein großes Sicherheitsrisiko, daher sollten Sie deren Verwendung sorgfältig abwägen. Es ist auch möglich, dump und restore über eine gesicherte Verbindung mit ssh einzusetzen: <command>dump</command> mit <application>ssh</application> benutzen &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz <command>tar</command> Backup Software tar &man.tar.1; stammt ebenfalls aus Version 6 von ATT Unix (ca. 1975). tar arbeitet mit dem Dateisystem, denn es schreibt Dateien und Verzeichnisse auf das Band. tar unterstützt zwar nicht den vollen Umfang von Optionen, die bei &man.cpio.1; zur Verfügung stehen, aber dafür erfordert tar nicht die ungewöhnliche Kommando-Pipeline, die cpio verwendet. tar Die meisten Versionen von tar unterstützen keine Backups über das Netzwerk. Die GNU-Version von tar die in FreeBSD verwendet wird, unterstützt jedoch entfernte Geräte mit der gleichen Syntax wie rdump. Um tar für ein Exabyte-Bandlaufwerk auf einer Sun namens komodo auszuführen, muss folgendes Kommando aufgerufen werden: &prompt.root; /usr/bin/tar cf komodo:/dev/nsa8 . 2>&1 Bei den Versionen ohne Unterstützung für entfernte Geräte kann man die Daten über eine Pipeline und rsh an ein entferntes Laufwerk senden. &prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b Wenn Sie Bedenken bezüglich der Sicherheit beim Backup über das Netz haben, sollten Sie ssh anstatt rsh benutzen. Cpio Backup Software cpio &man.cpio.1; ist das ursprüngliche Programm von &unix; Systemen zum Dateitransfer mit magnetischen Medien. cpio hat (neben vielen anderen Leistungsmerkmalen) Optionen zum Byte-Swapping, zum Schreiben einer Anzahl verschiedener Archivformate und zum Weiterleiten von Daten an andere Programme über eine Pipeline. Dieses letzte Leistungsmerkmal macht cpio zu einer ausgezeichneten Wahl für Installationsmedien. Leider kann cpio keine Dateibäume durchlaufen, so dass eine Liste der zu bearbeitenden Dateien über stdin angegeben werden muss. cpio unterstützt keine Backups über das Netzwerk. Man kann aber eine Pipeline und rsh verwenden, um Daten an ein entferntes Bandlaufwerk zu senden. &prompt.root; for f in directory_list; do find $f >> backup.list done &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 Sie sichern wollen. user@host gibt den Benutzer auf dem Zielrechner an, der die Sicherung laufen lässt. Der Ort der Sicherung wird durch backup_device angegeben (z.B. /dev/nsa0). <command>pax</command> Backup Software pax pax POSIX IEEE &man.pax.1; ist die Antwort von IEEE/POSIX 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. <application>Amanda</application> Backup Software Amanda Amanda Amanda (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 Amanda Archivsets von allen Dateisystemen, die in Amanda's 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, Sie müssen Amanda über die Ports-Sammlung oder als Paket installieren. Tue nichts Tue nichts ist kein Computerprogramm, sondern die am häufigsten angewendete Backupstrategie. Diese kostet nichts, man muss keinen Backupplan befolgen, einfach nur nein sagen. Wenn etwas passiert, einfach grinsen und ertragen! Wenn Ihre Zeit und Ihre Daten nicht so wichtig sind, dann ist die Strategie Tue nichts das geeignetste Backupprogramm für Ihren Computer. Aber &unix; ist ein nützliches Werkzeug, Sie müssen damit rechnen, dass Sie innerhalb von sechs Monaten eine Sammlung von Dateien haben, die für Sie wertvoll geworden sind. 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 SGML erzeugt. Es ist nicht nötig, Sicherheitskopien der Dateien in den sekundären Formaten wie etwa HTML zu erstellen. Die Quelldateien in SGML sollten jedoch in die regelmäßigen Backups mit einbezogen werden. Welches Backup-Programm ist am Besten? LISA dump, 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 Notfall Vor dem Unglück Es sind nur vier Vorkehrungen zu treffen, um auf jedes erdenkliche Unglück vorbereitet zu sein. disklabel Als erstes drucken Sie das Disklabel jeder Ihrer Festplatten (z.B. mittels disklabel da0 | lpr), die Partitions- und Dateisystemtabelle jeder Festplatte (mit /etc/fstab) sowie alle Bootmeldungen, jeweils in zweifacher Ausfertigung. fix-it floppies Zweitens, überzeugen Sie sich, dass sowohl die Bootdiskette als auch die Reparaturdiskette (boot.flp bzw. fixit.flp) all Ihre Geräte ansprechen können. Die einfachste Methode dies nachzuprüfen ist, Ihren Rechner mit der Boot-Diskette im Floppylaufwerk neu zu starten und die Bootmeldungen zu durchzusehen. Wenn all Ihre Geräte aufgelistet sind und funktionieren, können Sie weiter zu Schritt drei gehen. Ist das nicht der Fall, müssen Sie sich eine eigene Version der beiden zum Booten benötigten Disketten erstellen. Diese müssen einen Kernel enthalten, der all Ihre Platten mounten kann und Zugriff auf Ihr Bandlaufwerk gestattet. Diese Disketten müssen ferner folgende Programme enthalten: fdisk, disklabel, newfs, mount sowie jedes Backup-Programm, das Sie verwenden. Diese Programme müssen statisch gelinkt sein. Falls Sie dump verwenden, muss die Diskette auch restore enthalten. Drittens, machen Sie oft Backups auf Band. Jede Änderung seit Ihrem letzten Backup kann unwiederbringlich verloren gehen. Versehen Sie die Backup-Bänder mit Schreibschutz. Viertens, testen Sie aus, wie die Disketten (entweder boot.flp und fixit.flp oder Ihre beiden eigenen Disketten aus Schritt zwei) und die Bänder mit den Backups zu behandeln sind. Machen Sie sich Notizen zu diesem Test. Bewahren Sie diese Notizen zusammen mit den Bootdisketten, den Ausdrucken und den Bändern mit den Backups auf. Wenn der Ernstfall eintritt, werden Sie vielleicht so genervt sein, dass Sie ohne Ihre Notizen vielleicht das Backup auf Ihren Bändern zerstören. (Wie das geht? Man braucht nur unglücklicherweise den Befehl tar cvf /dev/sa0 einzugeben um ein Band zu überschreiben). Als zusätzliche Sicherheitsvorkehrung, kann man jeweils die Disketten und Bänder zweifach erstellen. Eine der Kopien sollte an einem entfernten Standort aufbewahrt werden. Ein entfernter Standort ist NICHT der Keller im gleichen Bürogebäude. Eine Anzahl von Firmen im World Trade Center musste diese Lektion auf die harte Tour lernen. Ein entfernter Standort sollte von Ihrem Computer und Ihren Festplatten physikalisch durch eine erhebliche Entfernung getrennt sein. Ein Beispielskript zum Erstellen eigener Bootdisketten /mnt/sbin/init gzip -c -best /sbin/fsck > /mnt/sbin/fsck gzip -c -best /sbin/mount > /mnt/sbin/mount gzip -c -best /sbin/halt > /mnt/sbin/halt gzip -c -best /sbin/restore > /mnt/sbin/restore gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root cp -f /dev/MAKEDEV /mnt/dev chmod 755 /mnt/dev/MAKEDEV chmod 500 /mnt/sbin/init chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt chmod 555 /mnt/bin/sh /mnt/bin/sync chmod 6555 /mnt/sbin/restore # # Geraetedateien erstellen # cd /mnt/dev ./MAKEDEV std ./MAKEDEV da0 ./MAKEDEV da1 ./MAKEDEV da2 ./MAKEDEV sa0 ./MAKEDEV pty0 cd / # # Minimale Dateisystemtabelle erstellen # cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd < Nach dem Unglück Die Schlüsselfrage ist, ob Ihre Hardware überlebt hat. Denn da Sie ja regelmäßig Backups angefertigt haben, brauchen Sie sich um die Software keine Sorgen zu machen. Falls die Hardware beschädigt wurde, ersetzen Sie zuerst die defekten Teile. Falls die Hardware funktioniert, überprüfen Sie die Disketten. Wenn Sie eigene Bootdisketten verwenden, booten Sie im Single-User-Modus (geben dazu Sie -s am Boot-Prompt boot: ein). Überspringen Sie den folgenden Paragrafen. Wenn Sie die Standarddisketten boot.flp und fixit.flp verwenden, lesen Sie hier weiter. Legen Sie die Bootdiskette boot.flp in das erste Floppylaufwerk ein und starten Sie den Computer. Wie üblich wird dann das originale Installationsmenü von FreeBSD gestartet. Wählen Sie die Option Fixit--Repair mode with CD-ROM or floppy. Legen Sie die Diskette fixit.flp ein, wenn danach gefragt wird. restore und die anderen Programme, die Sie benötigen, befinden sich dann in /mnt2/stand. Stellen Sie die Dateisysteme nacheinander, getrennt von einander, wieder her. mount Root-Partition disklabel newfs Versuchen Sie die Root-Partition Ihrer ersten Festplatte einzuhängen (z.B. mit mount /dev/sd0a /mnt). Wenn das Disklabel beschädigt wurde, benutzen Sie disklabel um die Platte neu zu partitionieren und zu benennen und zwar so, dass die Festplatte mit dem Label übereinstimmt, das Sie ausgedruckt und aufbewahrt haben. Verwenden Sie newfs um neue Dateisysteme auf den Partitionen anzulegen. Hängen Sie nun die Root-Partition der Festplatte mit Schreibzugriff ein (mit mount -u -o rw /mnt). Benutzen Sie Ihr Backup-Programm um die Daten für das jeweilige Dateisystem aus den Backup-Bändern wieder her zu stellen (z.B. durch restore vrf /dev/sta). Hängen Sie das Dateisystem wieder aus (z.B. durch umount /mnt). Wiederholen Sie diesen Ablauf für jedes betroffene Dateisystem. Sobald Ihr System wieder läuft, machen Sie gleich wieder ein vollständiges Backup auf neue Bänder. Denn die Ursache für den Absturz oder den Datenverlust kann wieder zuschlagen. Eine weitere Stunde, die Sie jetzt noch dranhängen, kann Ihnen später ein weiteres Missgeschick ersparen. * Ich habe mich nicht auf Missgeschicke vorbereitet - was nun? ]]> Marc Fonvieille Verbessert und neu strukturiert von Netzwerk-, speicher- und dateibasierte Dateisysteme Laufwerke virtuelle Neben Laufwerken, die sich physikalisch im Rechner befinden wie Floppylaufwerke, CDs, Festplatten usw., kann FreeBSD auch mit anderen Laufwerken, den virtuellen Laufwerken, umgehen. NFS Coda Laufwerke speicherbasierte Laufwerke RAM-Disks Dazu zählen Netzwerkdateisysteme wie Network Filesystem und Coda, speicher- und dateibasierte Dateisysteme. Abhängig von der verwendeten FreeBSD Version werden speicher- und dateibasierte Dateisysteme mit unterschiedlichen Werkzeugen angelegt. In FreeBSD 4.X werden Gerätedateien mit &man.MAKEDEV.8; angelegt. FreeBSD 5.X erzeugt Gerätedateien automatisch mithilfe von &man.devfs.5;. Dateibasierte Laufwerke unter FreeBSD 4.X Laufwerke dateibasierte unter FreeBSD 4.X Mit &man.vnconfig.8; werden vnode Pseudo-Platten konfiguriert und aktiviert. Ein vnode stellt eine Datei dar, auf der Dateioperationen ablaufen. Das bedeutet, dass &man.vnconfig.8; Dateien benutzt, um ein Dateisystem zu erstellen und zu verwalten. Damit ist es z.B. möglich, Dateien, die Abbilder von Floppies oder CDs enthalten, anzuhängen. In der Kernelkonfiguration muss die &man.vn.4;-Unterstützung aktiviert sein, damit &man.vnconfig.8; funktioniert: pseudo-device vn Um ein existierendes Abbild eines Dateisystems einzuhängen: Einhängen eines existierenden Abbildes unter FreeBSD 4.X &prompt.root; vnconfig vn0 diskimage &prompt.root; mount /dev/vn0c /mnt Um ein neues Dateisystem mit &man.vnconfig.8; anzulegen: Anlegen eines dateibasierten Laufwerks &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; vnconfig -s labels -c vn0 newimage &prompt.root; disklabel -r -w vn0 auto &prompt.root; newfs vn0c Warning: 2048 sector(s) in last cylinder unallocated /dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors 5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g) super-block backups (for fsck -b #) at: 32 &prompt.root; mount /dev/vn0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/vn0c 4927 1 4532 0% /mnt Dateibasierte Laufwerke unter FreeBSD 5.X Laufwerke dateibasierte unter FreeBSD 5.X Unter FreeBSD 5.0 werden virtuelle Laufwerke (&man.md.4;) mit &man.mdconfig.8; erzeugt. Dazu muss das Modul &man.md.4; geladen sein oder das entsprechende Gerät in der Kernelkonfiguration aktiviert sein: device md Mit &man.mdconfig.8; können drei verschiedene virtuelle Laufwerke angelegt werden: speicherbasierte Laufwerke, deren Speicher von &man.malloc.9; zur Verfügung gestellt wird, oder dateibasierte Laufwerke, deren Speicher von einer Datei oder dem Swap-Bereich zur Verfügung gestellt wird. Eine mögliche Anwendung ist das Einhängen von Dateien, die Abbilder von CD-ROMs oder Floppies enthalten. Das Abbild eines Dateisystems wird wie folgt eingehangen: Einhängen eines existierenden Abbildes unter FreeBSD 5.X &prompt.root; mdconfig -a -t vnode -f diskimage -u 0 &prompt.root; mount /dev/md0c /mnt Ein neues Dateisystem-Abbild erstellen Sie mit &man.mdconfig.8; wie folgt: Erstellen eines dateibasierten Laufwerks mit <command>mdconfig</command> &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; disklabel -r -w md0 auto &prompt.root; newfs md0c /dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes. super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 &prompt.root; mount /dev/md0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4846 2 4458 0% /mnt Wenn Sie keine Gerätenummer mit dem Schalter angeben, 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 entnehmen Sie bitte der Hilfeseite &man.mdconfig.8;. Das Werkzeug &man.mdconfig.8; ist sehr nützlich, doch muss man viele Kommandos absetzen, um ein dateibasiertes Dateisystem zu erstellen. FreeBSD enthält das Werkzeug &man.mdmfs.8;, das die notwendigen Schritte in einem Befehl zusammenfasst. Es konfiguriert mit &man.mdconfig.8; ein &man.md.4;-Laufwerk, erstellt darauf mit &man.newfs.8; ein Dateisystem und hängt es anschließend mit &man.mount.8; ein. Das virtuelle Laufwerk aus dem obigen Beispiel kann somit einfach mit den nachstehenden Befehlen erstellt werden: &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 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 4846 2 4458 0% /mnt Wenn sie die Option ohne Gerätenummer verwenden, wählt &man.md.4; automatisch ein ungenutztes Gerät aus. Weitere Einzelheiten entnehmen Sie bitte der Hilfeseite &man.mdmfs.8;. Speicherbasierte Laufwerke unter FreeBSD 4.X Laufwerke speicherbasierte unter FreeBSD 4.X Laufwerke RAM-Disks unter FreeBSD 4.X Mit dem Gerätetreiber &man.md.4; lassen sich unter FreeBSD 4.X leicht speicherbasierte Laufwerke (RAM-disks) anlegen. Der dazu nötige Speicher wird mit &man.malloc.9; belegt. Nehmen Sie einfach ein Dateisystem, dass Sie z.B. mit &man.vnconfig.8; vorbereitet haben: Speicherbasiertes Laufwerk unter FreeBSD 4.X &prompt.root; dd if=newimage of=/dev/md0 5120+0 records in 5120+0 records out &prompt.root; mount /dev/md0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4927 1 4532 0% /mnt Weitere Einzelheiten entnehmen Sie bitte der Hilfeseite &man.md.4;. Speicherbasierte Laufwerke unter FreeBSD 5.X Laufwerke speicherbasierte unter FreeBSD 5.X Laufwerke RAM-Disks unter FreeBSD 5.X Speicher- und dateibasierte Laufwerke werden in FreeBSD 5.0 mit denselben Werkzeugen erstellt: &man.mdconfig.8; oder &man.mdmfs.8;. Der Speicher für speicherbasierte Laufwerke (RAM-disks) wird mit &man.malloc.9; belegt. Erstellen eines speicherbasierten Laufwerks mit <command>mdconfig</command> &prompt.root; mdconfig -a -t malloc -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, 256 inodes. with soft updates super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 &prompt.root; mount /dev/md1 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4846 2 4458 0% /mnt Erstellen eines speicherbasierten Laufwerks mit <command>mdmfs</command> &prompt.root; mdmfs -M -s 5m md2 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt Der Speicher für das Dateisystem muss nicht mit &man.malloc.9; zugewiesen werden, sondern kann auch aus dem Swap-Bereich stammen. Auf der Kommandozeile von &man.mdconfig.8; ist dazu durch zu ersetzen. Ohne Angabe des Schalters verwendet &man.mdmfs.8; Speicher aus dem Swap-Bereich. Weitere Informationen entnehmen Sie bitte den Hilfeseiten &man.mdconfig.8; und &man.mdmfs.8;. Virtuelle Laufwerke freigeben Laufwerke Freigabe von virtuellen Laufwerken Wenn ein virtuelles Laufwerk nicht mehr gebraucht wird, sollten Sie dem System die belegten Ressourcen zurückgeben. Hängen Sie dazu zuerst das Dateisystem ab und geben Sie dann die benutzten Ressourcen mit &man.mdconfig.8; frei. Alle von /dev/md4 belegten Ressourcen werden mit dem nachstehenden Kommando freigegeben: &prompt.root; mdconfig -d -u 4 Eingerichtete &man.md.4;-Geräte werden mit dem Befehl mdconfig -l angezeigt. Unter FreeBSD 4.X geben Sie die Ressourcen mit &man.vnconfig.8; frei. Die von /dev/vn4 belegten Ressourcen geben Sie wie folgt frei: &prompt.root; vnconfig -u vn4 Tom Rhodes Beigetragen von Schnappschüsse von Dateisystemen Schnappschüsse von Dateisystemen Schnappschüsse Zusammen mit Soft Updates bietet FreeBSD 5.0 eine neue Funktion: Schnappschüsse von Dateisystemen. Schnappschüsse sind Dateien, die ein Abbild eines Dateisystems enthalten und müssen auf dem jeweiligen Dateisystem erstellt werden. Pro Dateisystem darf es maximal 20 Schnappschüsse, die im Superblock vermerkt werden, geben. Schnappschüsse bleiben erhalten, wenn das Dateisystem abgehangen, neu eingehangen oder das System neu gestartet wird. Wenn Sie einen Schnappschuss nicht mehr benötigen, können Sie ihn mit &man.rm.1; löschen. Es ist egal, in welcher Reihenfolge Schnappschüsse gelöscht werden. Es kann allerdings vorkommen, dass nicht der gesamte Speicherplatz wieder freigegeben wird, da ein anderer Schnappschuss einen Teil der entfernten Blöcke für sich beanspruchen kann. Schnappschüsse werden mit dem Flag (siehe &man.chflags.1;) angelegt, um sicherzustellen, das nicht einmal root den Schnappschuss beschreiben kann. In &man.unlink.1; wird allerdings für Schnappschüsse eine Ausnahme gemacht: Sie dürfen gelöscht werden, ohne das das Flag vorher entfernt werden muss. 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 /var Nachdem 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. Sie können den Schnappschuss mit &man.fsck.8; prüfen. Wenn das Dateisystem zum Zeitpunkt der Erstellung des Schnappschusses in Ordnung war, sollte &man.fsck.8; immer erfolgreich durchlaufen. 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 /mnt Sie können sich nun den eingefrorenen Stand des /var Dateisystems unterhalb von /mnt ansehen. Mit Ausnahme der früheren Schnappschüsse, die als leere Dateien auftauchen, wird alles so aussehen, wie zu dem Zeitpunkt als der Schnappschuss erstellt wurde. Wenn Sie den Schnappschuss nicht mehr benötigen, können Sie ihn, wie nachfolgend gezeigt, abhängen: &prompt.root; umount /mnt &prompt.root; mdconfig -d -u 4 Weitere Informationen über Soft Updates und Schnappschüsse von Dateisystemen sowie technische Artikel finden Sie auf der Webseite von Marshall Kirk McKusick. Dateisystem Quotas Accounting Plattenplatz Disk Quotas Quotas sind eine optionale Funktion des Betriebssystems, die es Ihnen erlauben, den Plattenplatz und/oder die Anzahl der Dateien eines Benutzers oder der Mitglieder einer Gruppe, auf Dateisystemebene zu beschränken. Oft wird dies auf Timesharing-Systemen (Mehrbenutzersystemen) genutzt, da es dort erwünscht ist, die Ressourcen, die ein Benutzer oder eine Gruppe von Benutzern belegen können, zu limitieren. Das verhindert, dass ein Benutzer oder eine Gruppe von Benutzern den ganzen verfügbaren Plattenplatz belegt. Konfiguration des Systems, um Quotas zu aktivieren Bevor Quotas benutzt werden können, müssen sie im Kernel konfiguriert werden, wozu die folgende Zeile der Kernelkonfiguration hinzugefügt wird: options QUOTA Im gewöhnlichen GENERIC Kernel sind Quotas nicht aktiviert, so dass Sie einen angepassten Kernel konfigurieren und bauen müssen, um Quotas zu benutzen. Weitere Informationen finden Sie in . Durch Hinzufügen der folgenden Zeile in /etc/rc.conf wird das Quota-System aktiviert: enable_quotas="YES" Disk Quotas überprüfen Um den Start des Quota-Systems zu beeinflussen, steht eine weitere Variable zur Verfügung. Normalerweise wird beim Booten die Integrität der Quotas auf allen Dateisystemen mit quotacheck überprüft. quotacheck stellt sicher, dass die Quota-Datenbank mit den Daten auf einem Dateisystem übereinstimmt. Dies ist allerdings ein sehr zeitraubender Prozess, der die Zeit, die das System zum Booten braucht, signifikant beeinflusst. Eine Variable in /etc/rc.config erlaubt es Ihnen, diesen Schritt zu überspringen: check_quotas="NO" Wenn Sie ein FreeBSD vor 3.2-RELEASE benutzen, ist die Konfiguration einfacher. In /etc/rc.conf setzen Sie nur eine Variable: check_quotas="YES" Schließlich müssen Sie noch in /etc/fstab die Plattenquotas auf Dateisystemebene aktivieren. Dort können Sie für alle Dateisysteme Quotas für Benutzer, Gruppen oder für beide aktivieren. Um Quotas pro Benutzer für ein Dateisystem zu aktivieren, geben Sie für dieses Dateisystem die Option userquota im Feld Optionen von /etc/fstab an. Beispiel: /dev/da1s2g /home ufs rw,userquota 1 2 Um Quotas für Gruppen einzurichten, verwenden Sie groupquota anstelle von userquota. Um Quotas für Benutzer und Gruppen einzurichten, ändern Sie den Eintrag wie folgt ab: /dev/da1s2g /home ufs rw,userquota,groupquota 1 2 Die Quotas werden jeweils im Rootverzeichnis des Dateisystems unter dem Namen quota.user für Benutzer-Quotas und quota.group für Gruppen-Quotas abgelegt. Obwohl &man.fstab.5; beschreibt, dass diese Dateien an anderer Stelle gespeichert werden können, wird das nicht empfohlen, da es den Anschein hat, dass die verschiedenen Quota-Utilities das nicht richtig unterstützen. Jetzt sollten Sie Ihr System mit dem neuen Kernel booten. /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. Deshalb müssen vorher auch keine leeren Quota-Dateien angelegt werden. Normalerweise brauchen Sie die Kommandos quotacheck, quotaon oder quotaoff nicht händisch aufzurufen, obwohl Sie vielleicht die entsprechenden Seiten im Manual lesen sollten, um sich mit ihnen vertraut zu machen. Setzen von Quota-Limits Disk Quotas Limits Nachdem Sie Quotas in Ihrem System aktiviert haben, sollten Sie überprüfen, dass Sie auch tatsächlich aktiviert sind. Führen Sie dazu einfach den folgenden Befehl aus: &prompt.root; quota -v Für jedes Dateisystem, auf dem Quotas aktiviert sind, sollten Sie eine Zeile mit der Plattenauslastung und den aktuellen Quota-Limits sehen. Mit edquota können Sie nun Quota-Limits setzen. Sie haben mehrere Möglichkeiten, die Limits für den Plattenplatz, den ein Benutzer oder eine Gruppe verbrauchen kann, oder die Anzahl der Dateien, die angelegt werden dürfen, festzulegen. Die Limits können auf dem Plattenplatz (Block-Quotas) oder der Anzahl der Dateien (Inode-Quotas) oder einer Kombination von beiden basieren. Jedes dieser Limits wird weiterhin in zwei Kategorien geteilt: Hardlimits und Softlimits. Hardlimit Ein Hardlimit kann nicht überschritten werden. Hat der Benutzer einmal ein Hardlimit erreicht, so kann er auf dem betreffenden Dateisystem keinen weiteren Platz mehr beanspruchen. Hat ein Benutzer beispielsweise ein Hardlimit von 500 Blöcken auf einem Dateisystem und benutzt davon 490 Blöcke, so kann er nur noch 10 weitere Blöcke beanspruchen. Der Versuch, weitere 11 Blöcke zu beanspruchen, wird fehlschlagen. Softlimit Im Gegensatz dazu können Softlimits für eine befristete Zeit überschritten werden. Diese Frist beträgt in der Grundeinstellung eine Woche. Hat der Benutzer das Softlimit über die Frist hinaus überschritten, so wird das Softlimit in ein Hardlimit umgewandelt und der Benutzer kann keinen weiteren Platz mehr beanspruchen. Wenn er einmal das Softlimit unterschreitet, wird die Frist wieder zurückgesetzt. Das folgende Beispiel zeigt die Benutzung von edquota. Wenn edquota aufgerufen wird, wird ein Editor, der durch EDITOR gegeben ist, oder vi falls EDITOR nicht gesetzt ist, gestartet, in dem Sie die Limits eingeben können. &prompt.root; edquota -u test Quotas for user test: /usr: blocks in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: blocks in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) Für jedes Dateisystem, auf dem Quotas aktiv sind, sehen Sie zwei Zeilen, eine für die Block-Quotas und die andere für die Inode-Quotas. Um ein Limit zu modifizieren, ändern Sie einfach den angezeigten Wert. Um beispielsweise das Blocklimit dieses Benutzers von einem Softlimit von 50 und einem Hardlimit von 75 auf ein Softlimit von 500 und ein Hardlimit von 600 zu erhöhen, ändern Sie die Zeile /usr: blocks in use: 65, limits (soft = 50, hard = 75) zu: /usr: blocks in use: 65, limits (soft = 500, hard = 600) Die neuen Limits sind wirksam, wenn Sie den Editor verlassen. Manchmal ist es erwünscht, die Limits für einen Bereich von UIDs zu setzen. Dies kann mit der Option von edquota 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-19999 Weitere Informationen erhalten Sie in &man.edquota.8;. Überprüfen von Quota-Limits und Plattennutzung Disk Quotas überprüfen Sie können quota oder repquota benutzen, um Quota-Limits und Plattennutzung zu überprüfen. Um die Limits oder die Plattennutzung individueller Benutzer und Gruppen zu überprüfen, kann quota 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 repquota 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 blocks quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 Disk Quotas Frist Im Dateisystem /usr liegt der Benutzer momentan 15 Blöcke über dem Softlimit von 50 Blöcken und hat noch 5 Tage seiner Frist übrig. Der Stern * zeigt an, dass der Benutzer sein Limit überschritten hat. In der Ausgabe von quota 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 NFS NFS Quotas werden von dem Quota-Subsystem auf dem NFS Server erzwungen. Der &man.rpc.rquotad.8; Dæmon stellt &man.quota.1; die Quota Informationen auf dem NFS Client zur Verfügung, so dass Benutzer auf diesen Systemen ihre Quotas abfragen können. Aktivieren Sie rpc.rquotad in /etc/inetd.conf wie folgt: rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad Anschließend starten Sie inetd neu: &prompt.root; kill -HUP `cat /var/run/inetd.pid`