Inhaltsverzeichnis:

Sichern Sie Ihren Server: 6 Schritte
Sichern Sie Ihren Server: 6 Schritte

Video: Sichern Sie Ihren Server: 6 Schritte

Video: Sichern Sie Ihren Server: 6 Schritte
Video: Server | In 6 Schritten zur IT-Dokumentation - Teil 3 2024, Juli
Anonim

Von JohntronJohntron SpeaksFolgen Sie mehr vom Autor:

Erstellen Sie Ihre eigene Gateway-Firewall
Erstellen Sie Ihre eigene Gateway-Firewall
Erstellen Sie Ihre eigene Gateway-Firewall
Erstellen Sie Ihre eigene Gateway-Firewall

Über: Softwareentwickler, Mitbegründer von Placethings und Technologe. Zurzeit besucht sie die Graduiertenschule im Emerging Media and Communications-Programm an der University of Texas in Dallas. Mehr über Johntron »

Erfahren Sie, wie Sie Ihre *nix-Box ohne großen Aufwand auf eine externe Festplatte (oder Bandlaufwerk) sichern. Ich behandle die Installation des Backup-Mediums, die Verwendung von `dump`, das Wiederherstellen und auch das Sichern von Dateien von einem Remote-Server auf eine externe Festplatte. Um einen Windows-PC zu sichern, lesen Sie den Artikel von lifehacker.com hier: Machen Sie einen `Dump`Schritt 3: `RestoreSchritt 4: Remote BackupsSchritt 5: AutomatisierungDas FreeBSD Logo ist ein Warenzeichen der FreeBSD Foundation und wird von John Syrinek mit Genehmigung der FreeBSD Foundation verwendet.

Schritt 1: Machen Sie sich bereit

Bevor Sie ein Backup erstellen, müssen Sie etwas zum Sichern haben. Traditionell waren dies Bandlaufwerke; eine externe Festplatte (von hoher Qualität) wird jedoch problemlos funktionieren. Sie MÜSSEN keine externe Festplatte verwenden, aber mit einer externen Festplatte können Sie die Festplatte bequem nach Hause (oder an einen anderen externen Ort) bringen. Ich habe ein paar Western Digital MyBooks verwendet. Circuit City hatte einen Rabatt von 80% auf (ausgewählte) externe Laufwerke, und ich bekam zwei 250-GB-Laufwerke zu einem Spottpreis. Nach meiner Erfahrung hat Western Digital Laufwerke von sehr hoher Qualität (d.h. sie halten ewig). Dies macht sie ideal für ein Backup. Wenn Sie sich die Mühe machen, etwas zu sichern, möchten Sie nicht, dass Ihr Backup-Medium Ihnen zusetzt. OK, genau wie in meinem anderen Artikel werde ich FreeBSD® verwenden; Die meisten Dinge, die ich besprechen werde, können jedoch in jeder Linux-, Unix- oder BSD-Variante durchgeführt werden. (Überspringen Sie den nächsten Absatz, wenn Sie bereits USB 2.0-Unterstützung haben oder kein externes USB-Laufwerk verwenden) Die MyBooks sind USB 2.0-Laufwerke. FreeBSD 5.4-STABLE hat den EHCI-Treiber (im Grunde das Ding, das Ihnen USB 2.0 gibt) nicht standardmäßig aktiviert. Dies ist eine einfache Lösung, obwohl einige vielleicht denken, dass es beängstigend ist, den Kernel neu zu kompilieren (ist es nicht). Wenn Sie einer der übervorsichtigen Typen sind, empfehle ich Ihnen, ein Backup zu erstellen, BEVOR Sie Ihren Kernel neu kompilieren. USB 2.0 ist möglicherweise nicht aktiviert, USB 1.1 funktioniert jedoch weiterhin. Es ist nur viel langsamer. Um EHCI zu aktivieren, lesen Sie diese Seite des Handbuchs. Sie werden wahrscheinlich auch diesen Abschnitt des Handbuchs lesen müssen, der erklärt, wie der Kernel tatsächlich neu kompiliert wird. Wenn Sie ein externes Laufwerk oder sogar ein internes Laufwerk verwenden, müssen Sie das Laufwerk mounten, bevor Sie es verwenden können. Dies geschieht mit dem Befehl `mount` und ist ziemlich einfach. Hier ist die Manpage von mount. Wenn sich mount darüber beschwert, den Dateisystemtyp nicht bestimmen zu können, müssen Sie das Laufwerk wahrscheinlich formatieren. Dazu müssen Sie das richtige Gerät zum Formatieren kennen. Für mich war es /dev/da0, aber für Sie kann es anders sein. Konsultieren Sie die Dokumentation Ihrer Distribution. Nachdem Sie festgestellt haben, an welches Gerät Ihre externe Festplatte angeschlossen ist, müssen Sie die eigentliche Formatierung des Laufwerks (nun, Partition) durchführen. Wenn Sie Hilfe beim Partitionieren Ihres Laufwerks benötigen, fragen Sie mich einfach. FreeBSD verwendet mkfs, um Dateisysteme auf Partitionen zu erstellen. Jede Art von Dateisystem funktioniert, aber ich habe mich für UFS entschieden, weil FreeBSD das standardmäßig verwendet. FAT32 ist wahrscheinlich am kompatibelsten mit anderen Betriebssystemen, und Ext3 ist das, was die meisten Linux-Varianten heutzutage verwenden (oder zumindest das letzte Mal, als ich Linux verwendet habe). Also habe ich diesen Befehl verwendet, um mein Laufwerk zu mounten: mount -t ufs /dev /da0 /backupOK, Sie sollten Ihr Backup-Medium einsatzbereit haben. Wenn nicht, fragen Sie einfach:) Fahren Sie mit Schritt 2 fort. Die Marke FreeBSD ist eine eingetragene Marke der FreeBSD Foundation und wird von John Syrinek mit Genehmigung der FreeBSD Foundation verwendet.

Schritt 2: Machen Sie einen `Dump`

Lassen Sie uns unsere Sachen sichern. Es gibt einige Möglichkeiten, dies zu tun. Dump und Tar sind wahrscheinlich die beiden häufigsten und beide haben ihre eigenen Stärken und Schwächen. Dump ist zweifellos der zuverlässigste Weg, um Ihr System zu sichern. Es kann jedoch nur ganze Partitionen sichern. Tar ist für einzelne Ordner schnell und einfach zu verwenden, benötigt jedoch einige Zeit, um größere Volumes zu sichern. Tar komprimiert die Dateien auch, was eine zusätzliche Komplexitätsebene hinzufügt, um Ihre Backups möglicherweise zu beschädigen. Lesen Sie diese Seite für weitere InformationenIch habe mich aufgrund der Zuverlässigkeit für die Verwendung von Dump entschieden. Speicherplatz war kein Problem, und da Cron Backups automatisch für mich durchführt, während ich schlafe, muss ich mich nicht um Zeitrahmen kümmern. Eine der Macken von Dump ist, dass es ganze Partitionen sichert. Das bedeutet, dass Sie jede Partition einzeln sichern müssen (zB die /usr-, /var- und /tmp-Partitionen sowie die /-Partition). Mit Dump können Sie auch den "Level" des Backups angeben. Ich werde wöchentliche und nächtliche Backups durchführen. Für meine wöchentlichen Backups verwende ich Level 0 und für meine nächtlichen Backups Level 2. Wenn Sie ein Bandlaufwerk verwenden oder Speicherplatz sparen möchten, sollten Sie ein Backup-Schema für den Tower of Hanoi in Betracht ziehen (Google it (Denken Sie daran, /backup ist der Ort, an dem ich meine externe Festplatte gemountet habe)Die Befehle, die ich für wöchentliche Dumps verwendet habe, sind:

  • dump -0Lna -C 100 -f /backup/weekly/root /
  • dump -0Lna -C 100 -f /backup/weekly/usr /usr
  • dump -0Lna -C 100 -f /backup/weekly/var /var
  • dump -0Lna -C 100 -f /backup/weekly/tmp /tmp

Die Befehle, die ich für nächtliche Dumps verwendet habe, sind:

  • dump -2Lna -C 100 -f /backup/nightly/root /
  • dump -2Lna -C 100 -f /backup/nightly/usr /usr
  • dump -2Lna -C 100 -f /backup/nightly/var /var
  • dump -2Lna -C 100 -f /backup/nightly/tmp /tmp

Ich habe tatsächlich den Befehl `date` verwendet, um meine Dateien zu benennen, aber ich habe dies der Einfachheit halber weggelassen. Ein Dump mit dem Befehl `date` würde ungefähr so aussehen:dump -0Lna -C 100 -f /backup/weekly/usr/`date "+%Y-%B-%d"` /usrNatürlich brauchst du um geeignete Backup-Zielverzeichnisse zu erstellen, bevor Sie den dump-Befehl ausführen, aber Sie sollten in der Lage sein, dies herauszufinden. Und jetzt sollten Sie einen Snapshot Ihres Systems haben oder zumindest wissen, wie man einen erstellt. Der nächste Schritt ist die Verwendung von Restore und wie man "Fixit"-Disketten macht. ÜBERSPRINGEN SIE DIESEN SCHRITT NICHT, sonst verschwenden Sie Ihre Zeit.

Schritt 3: `Wiederherstellen`

Es ist schon eine Weile her, dass ich ein Backup wiederherstellen musste, also habe Geduld.

Um ein Backup wiederherzustellen, benötigen Sie ein minimales Betriebssystem, um das Backup von Ihrem Backup-Medium auf den Live-Rechner, einen LIVE-Rechner (zB keine defekte Hardware) und Ihre Backups selbst zu übertragen. Für das minimale Betriebssystem verwende ich dieselbe CD, mit der ich FreeBSD installiert habe. Sysinstall hat einen "Fixit"-Modus, um Backups wiederherzustellen. Wenn Sie nicht standardmäßige Hardware haben, müssen Sie möglicherweise Ihre eigene benutzerdefinierte bootfähige Festplatte erstellen. Dies wird in diesem Artikel nicht behandelt, sondern besteht im Wesentlichen darin, einen Barebone-Kernel zu erstellen und auf eine bootfähige Festplatte zu legen. Hinweis: Ein SEHR minimaler FreeBSD 5.4-Kernel ist ungefähr 2,3 MB groß, was bedeutet, dass er nicht auf eine einzelne Diskette passt. Wenn also der Kot auf den Lüfter trifft (ger ger ger), booten Sie von Ihrer CD, gehen in den "Fixit"-Modus, mounten Ihre Festplatte und führen dann den Wiederherstellungsbefehl aus. Ich glaube, Sie müssen die Partitionen, die Sie wiederherstellen, einzeln mounten und unmounten. Außerdem müssen Ihre Partitionstabellen sauber sein, was bedeutet, dass Sie möglicherweise `bsdlabel` verwenden müssen, um Ihre Partitionen zu reparieren. Restore-Befehl: (nach dem Mounten einer sauberen Partition und Wechsel in das Verzeichnis der Zielpartition) restore vrf /dev/da0 Bitte beachten Sie, dass es möglich ist, Teile (einzelne Dateien oder Verzeichnisse) von Backups, die mit Dump erstellt wurden, bei Bedarf wiederherzustellen.

Schritt 4: Remote-Backups

Remote-Backups können mit rdump, scp oder benutzerdefinierter Software durchgeführt werden. Die meisten Hosting-Unternehmen bieten (gegen Gebühr) nächtliche Backups an. Ich empfehle dies DRINGEND, wenn Sie Ihre Daten schätzen. Ich hatte zwei dedizierte Server von zwei verschiedenen Hosts. Obwohl diese Backups normalerweise auf einem separaten Laufwerk gespeichert werden, befinden sie sich normalerweise im selben Gebäude. Wenn also etwas mit dem Gebäude passiert (was unwahrscheinlich, aber auf jeden Fall möglich ist), dann sind Sie SOL. Aus diesem Grund empfehle ich, ein eigenes Off-Site-Backup (relativ zum zu sichernden System) sowie lokale, nächtliche Backups zu erstellen. Bitte beachten Sie, dass ich die Erweiterung.txt hinzufügen musste, um das Skript hochzuladen (Sie können dies entfernen). Da die Firma, die meinen Remote-Rechner hostet, nächtliche Tar-Backups durchführt, habe ich beschlossen, diese Dateien nur nachts auf einen lokalen Computer zu kopieren Basis. Ich habe ein PHP-gesteuertes (weil ich das weiß) Shell-Skript geschrieben, das im Grunde die Backup-Dateien eines Remote-Systems mit einer lokalen Kopie synchronisiert. Es lädt neue Dateien herunter, lädt (optional) Backup-Dateien mit unterschiedlichen Dateigrößen erneut herunter und entfernt lokale Kopien, die auf dem Remote-System nicht vorhanden sind. Das spart Bandbreite, Zeit und Speicherplatz. Es ist im Grunde nur ein `diff`-Wrapper für `scp`. Die Quelle finden Sie unten auf dieser Seite. Wenn Sie es verwenden, stellen Sie sicher, dass es mit chmod ausgeführt wird (chmod u=+rx fetchbackups). Ich empfehle, dass der Operator-Benutzer dieses Skript ausführen lässt (chown operator fetchbackups). Alternative Remote-Backup-Methoden umfassen die Verwendung von `scp` für ein gesamtes Verzeichnis, die Verwendung von `rdump` oder, wie Cliever betonten, die Verwendung von `rsnapshot` oder `backuppc`. Wenn Sie keinen Root-Zugriff auf Ihren Remote-Server haben, sind einige dieser Methoden möglicherweise nicht möglich, und `scp` erfordert oft viel Zeit und Bandbreite.

Schritt 5: Automatisierung

Sie haben also herausgefunden, dass Sie einen Snapshot Ihres Systems erstellen können, und möchten dies jetzt jede Nacht tun. Cron funktioniert dafür hervorragend und ist ziemlich einfach einzurichten.

Cron-Jobs sind einfach Befehle, die regelmäßig ausgeführt werden. Sie können monatlich, nachts oder sogar am Montagmorgen um halb sieben Uhr morgens laufen. Cron-Jobs werden in der crontab-Datei angegeben. In FreeBSD befindet sich diese Datei unter /etc/crontab Sehen Sie sich die Manpages für /etc/crontab an, um herauszufinden, wie es funktioniert Ich habe meine Crontab an diese Seite angehängt (entfernen Sie die Erweiterung.txt). Alles, was Sie tun müssen, ist Ihre Cron-Jobs hinzuzufügen und die Datei zu speichern. Die Datei wird jede Minute neu ausgewertet, Sie sind also fertig.

Schritt 6: Fazit und letzte Gedanken

Hoffentlich haben Sie es geschafft, Ihre Maschine(n) zu sichern. Was folgt, sind nur ein paar Anmerkungen zum Thema.

Wenn Sie es mit Backups ernst meinen, dann TEST TEST TEST. Stellen Sie sicher, dass Ihre Sicherungs- und Wiederherstellungsverfahren einwandfrei sind. Backups, die Sie nicht wiederherstellen können, sind wertlos. Ein Problem, auf das ich gestoßen bin, war die Einstellung meiner Cache-Größe zu groß. Dies kann (im Grunde) Ihr System unterbrechen und zum Einfrieren bringen. Ihr Cache sollte immer einen Bruchteil Ihres Arbeitsspeichers ausmachen, um effektiv zu sein (meiner ist ein Fünftel) und sollte NIEMALS Ihre Swap-Space-Größe überschreiten. 32 MB wird von der Manpage von Dump empfohlen. Obwohl diese Informationen veraltet sein können, macht eine große Cachegröße keinen großen Unterschied, wenn Sie die ganze Nacht Zeit haben, um Ihr System zu sichern. Wenn Sie Ihre Backups automatisiert haben, stellen Sie sicher, dass sie funktionieren. Es wäre ein echter Albtraum, wenn Ihr System abstürzt und DANN feststellen würde, dass Ihre Backup-Crons vor 6 Monaten aufgrund von unzureichendem Speicherplatz nicht mehr funktionieren. Cron-Jobs automatisieren lediglich den "Selbstgefälligkeit"-Prozess. Wenn Sie Backups manuell erstellen, werden Sie nicht selbstgefällig und vergessen Sie es nicht. Machen Sie es zur Routine. Verlassen Sie sich auch nicht auf Cron-Jobs, denn diese können fehlschlagen. Backups sind nur Kopien Ihrer Dateien. Das bedeutet, dass Backups genauso gut, wenn nicht sogar besser gesichert werden sollten als Ihre Live-Systeme. Bewahren Sie Ihre externe Festplatte an einem sicheren Ort auf (z. B. fern von Wasser UND Einbrechern). Führen Sie Backup-Cronjobs als Benutzer 'operator' aus. Dies ist ein begrenztes Konto, das für solche Dinge existiert. Stellen Sie außerdem sicher, dass normale Benutzer keine Backups ausführen können. Wenn Sie der Meinung sind, dass Sie möglicherweise das Ziel eines ausgeklügelten Angriffs sein könnten (oder selbst wenn Sie dies nicht tun), verschlüsseln Sie die während Remote-Backups übertragenen Daten immer. Aufgrund der Menge an Informationen sowie der Regelmäßigkeit der Backups (wenn Sie Cronjobs verwenden), können sich Hacker Zeit nehmen, um Ihre Informationen zu stehlen. Verschlüsselung ist einfach, also verwenden Sie sie. Stellen Sie sicher, dass normale Benutzer keine Backups auf ihren eigenen Geräten ausführen können. Außerdem erfordert `scp` eine Authentifizierung. Ich empfehle dringend vorinstallierte öffentliche/private Schlüssel. Sie möchten nicht, dass Ihr Passwort jedes Mal übertragen wird, wenn ein Backup ausgeführt wird.

Empfohlen: