Linux als SOHO-Server
für Linux- und Windows-Clients |
Kapitel:
|
Bei mehreren Rechnern im Netzwerk ist es sinnvoll, Backups zentral auf einem System im Netzwerk abzulegen, so sind die relevanten Daten zentral archiviert und auch eine gewisse räumliche Trennung ist gegeben. Weiterhin wird nur ein Sicherungsmedium benötigt, z.B. ein Bandlaufwerk oder eine zentrale Festplatte, auf der die Datensicherung geschieht. Bei einer Datensicherung im Netzwerk sind zwei Betrachtungspunkte zu berücksichtigen, dabei ist zu unterscheiden welches der Systeme im LAN die Datensicherung inszeniert. In einem Fall sichert ein zu sicherndes System seine Daten auf einen entfernten Server (z.B. Rechner mit Bandlaufwerk), das zu sichernde System inszeniert also selbst die Datensicherung und nutzt nur das andere System nur zum Ablegen seiner Daten. Im anderen Fall inszeniert der Sicherungsrechner selbst das Sichern eines oder auch mehrerer Clients. In diesem Unterkapitel wird auf Verfahren zum Sichern im Netzwerk eingegangen, dabei werden als zu sichernde Systeme Linux- und Windows-Rechner berücksichtigt. Als Sicherungsrechner dient bei den folgenden Beispielen ein Linux-System. Datensicherung Linux-RechnerDatensicherung via NFS-MountSoll ein Linux-Rechner eine Datensicherung eines entfernten Linux-Rechners vornehmen, so sind die zu sichernden Bereiche auf dem Sicherungsrechner zu über das Netzwerk zu verbinden ('mounten'). Zum 'mounten' sind 'NFS'-Kenntnisse notwendig, auf die an dieser Stelle jedoch nicht weiter eingegangen wird (siehe Kapitel: NFS). Nach dem 'mounten' der zu sichernden Bereiche, kann die eigentliche Sicherung so behandelt werden, als wenn es sich um eine lokale Sicherung handelt. Es können nun die zuvor vorgestellten Mechanismen angewandt werden; im einfachsten Fall mit dem Kommando 'cp'. Datensicherung unter Hinzunahme von 'r-Utilities'/'SSH'Soll ein zu sichernder Linux-Rechner seine Daten auf einen anderen Linux-Rechner sichern, so können die Daten via 'rsh' oder noch besser via 'ssh' auf dem entfernten System übertragen werden (siehe Kapitel: 'r-Utilities' und 'SSH'). Zum Schreiben/Lesen der Daten unter Benutzung eines Bandlaufwerks können die schon vorgestellten Programme 'tar' und 'cpio' verwendet werden. Auch sollte gleich eine Pufferung der Daten mit 'buffer' berücksichtigt werden. Hier ein Beispiel für das Sichern auf einen entfernten Rechner:
und analog dazu das Widerherstellen von einen entfernten Rechner aus:
Auch kann die Steuerung des Bandlaufwerks 'remote' erfolgen, z.B.:
Bei den vorgestellten Beispiel werden alle Operationen auf einen entfernten Linux-Rechner: 'tempelton', ausgestattet mit einen Streamer: '/dev/tape' durchgeführt. Andere Mechanismen z.B. mit 'tar' oder 'cpio' können entsprechend abgeleitet werden. Egal ob die Remote-Sicherung über 'rsh' oder 'ssh' eingeleitet wird, ist eine gültige Konfiguration für die beiden Möglichkeiten notwendig. Die zuvor vorgestellten Standardmechanismen mit: 'tar', 'cpio' und 'dump'/'restore' unterstützen zumindest in der GNU-Variante auch einen direkten Zugriff auf einen anderen Linux-Rechner im Netzwerk. Dazu ist einfach als Zieldatei '<USER>@<HOST>:<DEVICE>' oder bei gleichen Benutzern kurz '<HOST>:<DEVICE>' anzugeben. Hierzu ein Beispiel unter Anwendung von 'dump' und 'restore' auf einem entfernten Rechner:
und dazu das interaktive Zurücksichern:
Zum Teil werden die netzwerkfähigen Versionen von 'dump/restore' auch 'rdump/rrestore' genannt. Auch bei direkten Zugriffen mittels Standardmechanismen werden die Zugriffsrechte wie bei 'rsh'/'ssh' vorausgesetzt. Datensicherung mittels 'rsync'Ein sehr leistungsfähiges Programm zum synchronisieren von Dateien und Verzeichnissen ist das unter GPL stehende Programm 'rsync'. Das Programm wurde u. a. von Andrew Tridgell aus dem Samba-Team entwickelt, es eignet sich vor allem für das Sichern von Daten über ein Netzwerk (mirroring/snapshot). 'rsync' kann zur kompletten und zur inkrementellen Sicherung eingesetzt werden, dabei werden nur geänderte Dateien, bzw. sogar nur die geänderten Teile einer geänderten Datei übertragen. Es hat viele Parameter z.B. komprimieren der Daten und bei geschickten Einsatz kann viel Bandbreite im Netzwerk eingespart werden. Damit 'rsync' über ein Netzwerkgenutzt werden kann, ist auf allen Rechnern die am Backup beteiligt sind 'rsync' zu installieren. Unter Debian kann dies am einfachsten mit 'apt-get install rsync' geschehen. Der grundsätzliche Aufruf von 'rsync' ist ähnlich wie bei 'cp' wie folgt:
Es ist möglich mit 'rsync' Quelle und Ziel auf dem exakt gleichen Stand zu halten. Das Ziel kann dabei der lokale Rechner oder ein entfernter Rechner im LAN oder WAN sein. Hierzu ein Beispiel für eine remote-Sicherung:
Mit der Option '-a' wird das archivieren eingeleitet, wobei 'v' den 'verbose'-Mode aktiviert. '--delete' besagt, dass auf dem Zielsystem Dateien gelöscht werden, die auf dem Quellsystem nicht mehr existent sind. Mit '--exclude' werden angegebene Dateien bei der Synchronisation ausgeschlossen. Die Quelle der Datensicherung ist das Verzeichnis '/tools'. Als Ziel ist das Verzeichnis '/software' auf dem Rechner 'meridian' als Benutzer 'norbert' angegeben. Während 'rsync' selbst keine Verschlüsselung kennt, kann dies von 'ssh' übernommen werden, wodurch ein verschlüsselter Abgleich über das Internet möglich ist. Auch kann eine Komprimierung der Daten veranlasst werden. Hierzu ein weiteres etwas Beispiel:
Mit der Option 'z' werden alle Daten vor dem Senden komprimiert und nach dem Empfang wieder dekomprimiert. Mit '-e' wird die Übertragung über 'ssh' eingeleitet. '--recursiv' bedeutet alle Verzeichnisse werden rekursiv behandelt, '--update' überspringt alle Dateien die neuer auf der Empfängerseite sind. Weitere Optionen werden auf der Manualseiten zu 'rsync' erklärt. Auch ist es sinnvoll den Einsatz von 'rsync' innerhalb eines Skriptes zu realisieren, da der Aufruf mit den vielen Optionen relativ komplex werden kann. Auch kann so einfach eine zeitgesteuerte zyklische Datensicherung unter Verwendung von 'cron'-Jobs erreicht werden. Wird auf dem Systemen mit unterschiedlichen Benutzern gearbeitet kommt es zur Passwortabfrage, um diese zu unterbinden können diverse Maßnahmen ergriffen werden, siehe hierzu Kapitel 'r-Utillities' und 'SSH'. Unter Windows ist 'rsync' auf der Basis von 'Cygwin' möglich. Datensicherung Windows-ClientsDie Datensicherung eines Windows-Rechners kann nur vom Linux-Rechner aus inszeniert aus erfolgen, dabei findet die Übertragung zur Sicherung über das SMB-Protokoll statt. Zum Sichern der Daten bieten sich die zum Samba-Paket gehörenden Programme: 'smbclient', 'smbmount', und 'smbtar' an. Damit sich die 'smb'-Programme mit dem Windows-System verbinden können, ist eine Freigabe auf dem Windows-Rechner zu erstellen. Dabei sollte sich die Freigabe sich auf einen Benutzer mit Passwort beziehen. Der Benutzer kann z.B. wie folgt aussehen:
Hier handelt es sich um den Benutzer: 'Backup' und seine Mitgliedschaft ist in einer schon vorgefertigten Gruppe: 'Sicherungs-Operationen'. Die Freigabe eines Ordners zu Datensicherung kann wie folgt aussehen:
In diesem Beispiel wird der Ordner: Daten freigegeben mit der Berechtigung, dass nur der Benutzer: 'Backup' darauf einen Vollzugriff hat. Einen Vollzugriff aus dem Grund, damit auch Daten wieder zurückgespielt werden können. Das Programm 'smbclient' verfügt über eine so genannte 'tar'-Option (Option '-T') mit dem es möglich ist SMB-Freigaben 'tar'-ähnlich zu bearbeiten. Die Option '-T' verfügt wiederum über weitere Unteroptionen, mit dem das Sichern, Wiederherstellen, etc. gewährleistet ist. Hier zwei Beispiel-Aufrufe für das Sichern und Wiederherstellen mittels 'smbclient':
bzw.
In beiden Fällen wird auf dem Rechner: 'ovation' mit der Freigabe: Daten zugegriffen, dabei wird der Username: 'backup' und das Passwort: 'geheim' zu Authentifizierung am Shares übermittelt. Im ersten Fall wird eine Sicherung mit '-Tc' ('c' = create) auf das Bandlaufwerk: '/dev/tape' veranlasst. Im zweiten Fall werden die Daten vom Bandlaufwerk mit '-Tx' ('x' = extract) zurückgesichert. Eine Beschreibung weiterer Unteroptionen von '-T' ist der Dokumentation von 'smbclient' zu entnehmen. Mit 'smbmount' kann ein unter Windows freigegebener Bereich auf dem Linux-Rechner 'ge-mountet' werden. Der nun 'ge-mountete' Bereich kann anschließend mit den schon vorgestellten Standardmethoden auf dem Linux-System erfolgen. Um einen freigegeben Bereich zu 'mounten' kann z.B. folgender Aufruf von 'smbmount' dienen:
oder alternativ auch mit:
In beiden Fällen wird der Rechner 'ovation' mit dem Share 'Daten' im Verzeichnis '/mnt' des Linux-Rechners 'ge-mountet'. Des weiteren wird der Username und Passwort mit übertragen. 'smbtar' ist ein Tool in Shell-Script, mit dem ein SMB-Freigabe direkt auf ein Bandlaufwerk übertragen werden kann. Hier ein Beispiel-Aufruf zum Sichern eines Shares:
Und als Gegenstück ein Beispiel zum Wiederherstellen der Daten:
Auch hier wird das Windows-Share: '//ovation/Daten' mit der Option '-t' auf dem Bandlaufwerk: '/dev/tape' gesichert. Sonstige zur Datensicherung Programme unter LinuxIm folgenden weitere kurz stichpunktartig Programme vorgestellt, die evtl. (bedingt) unter Linux zum Replizieren von Daten im Netzwerk genutzt werden können. Alle Programme sind Kommandozeilentauglich und daher für Script-Ablauf geeignet, zum Teil unterstützen diese Programme die Netzwerksicherung, unterschiedliche Betriebssysteme und Bandlaufwerke. Bei den
AnmerkungenWenn der Windows-Rechner als Domäne-Client betrieben wird, so ist bei dem 'smb'-Tools die 'Workgroup' mit anzugeben. Das 'smbmount'-Kommando sieht, bezogen auf das obige Beispiel wie folgt aus:
Grundsätzlich sollte keine Sicherung laufen, während an viele Clients gearbeitet wird, da das Backup eine erhebliche Last für die betroffenen Rechner und das Netzwerk darstellt. Weitere Infos
letzte Änderung: 08. Mai 2009 |
Copyright © 2004 Norbert Eusterholz |