Frage

Wie sichern Sie Ihre Entwicklungsmaschine, damit Sie im Falle einer katastrophalen Hardwarestörung so schnell wie möglich wieder betriebsbereit sind?

War es hilfreich?

Lösung

Es gibt einen wichtigen Unterschied zwischen der Sicherung Ihrer Entwicklungsmaschine und der Sicherung Ihrer Arbeit.

Für eine Entwicklungsmaschine ist eine Imaging-Lösung die beste Wahl, die einen möglichst „Ein-Klick-Wiederherstellungsprozess“ bietet.TimeMachine (Mac) und Windows Home Server (Windows) eignen sich hervorragend für diesen Zweck.Sie können nicht nur Ihre gesamte Maschine in 1–2 Stunden wiederherstellen (abhängig von der Festplattengröße), sondern beide laufen auch automatisch und speichern Deltas, sodass Sie monatelange Backups auf relativ wenig Platz haben können.Es gibt auch zahlreiche „Ghosting“-Pakete, die jedoch normalerweise keine inkrementellen/Delta-Backups bieten. Nehmen Sie sich also mehr Zeit/Speicherplatz für die Sicherung Ihres Computers.

Weniger gut sind Produkte wie Carbonite/Mozy/JungleDisk/RSync.Mit diesen Produkten können Sie Ihre Daten wiederherstellen, Sie müssen jedoch trotzdem das Betriebssystem und die Programme neu installieren.Einige haben auch eine begrenzte/keine Geschichte.

Im Hinblick auf die Sicherung Ihres Codes und Ihrer Daten würde ich ein Quellcodeverwaltungsprodukt wie SVN empfehlen.Während eine allgemeine Backup-Lösung Ihre Daten schützt, bietet sie nicht die Beschriftungs-/Verzweigungs-/Verlaufsfunktionen, die SCC-Pakete bieten.Diese Funktionen sind für jede Art von Projekt mit Haltbarkeitsdauer von unschätzbarem Wert.

Sie können ganz einfach einen SVN-Server auf Ihrem lokalen Computer ausführen.Wenn Ihr Computer gesichert ist, wird auch Ihre SVN-Datenbank gesichert.Dies ist meiner Meinung nach die beste Lösung für einen Heimentwickler und so behalte ich die Dinge.

Andere Tipps

  1. Alle wichtigen Dateien unterliegen der Versionskontrolle (Subversion)
    • Mein Subversion-Layout stimmt im Allgemeinen mit dem Dateilayout auf meinem Webserver überein, sodass ich einfach einen Checkout durchführen kann und alle meine Bibliotheksdateien und -dinge an den richtigen Stellen sind.
  2. Zweimal täglich Backups auf eine externe Festplatte
  3. Nächtliche Rsync-Backups auf einem Remote-Server.
    • Das bedeutet, dass ich Daten von meinem Heimserver an meinen Webhost und alle Dateien und Datenbanken auf meinem Webhost nach Hause sende, damit ich nicht beschimpft werde, wenn ich entweder mein Haus oder meinen Webhost verliere.

ich benutze Mozy, und denke selten darüber nach.Das ist eine Last, die mir von den Schultern fällt und die ich nie vermissen werde.

Virtuelle Maschinen und CVS.

Desktops werden mit Ghost ausgerollt und sind komplett Vanilla.Außer sie haben VirtualBox.

Anschließend rufen die Entwickler die konfigurierte Baseline-Entwicklungsumgebung ab von CVS herunter.

Sie melden sich als sie selbst beim Entwicklungs-VM-Image an, aktualisieren den Quellcode und die Bibliotheken von CVS und schon kann es wieder losgehen.

Dies erleichtert auch die gleichzeitige Durchführung von Entwicklung und Wartung viel Einfacher.

(Ich weiß, dass einige Leute CVS oder VirtualBox nicht mögen, also können Sie sie gerne durch die Tools Ihrer Wahl ersetzen.)

Oh, und Sie checken Ihre Arbeit täglich in einer privaten Zweigstelle von Trunk ein.

Los geht's.

Gesamtzeit zur Erholung:1 Stunde (oben)

Es ist Zeit, einen neuen Laptop für einen Kundenbesuch zu „adoptieren“:1 Stunde (Tops)

Und ein Schritt in Richtung CMMI-Konfigurationsmanagement.

Übrigens sollte Ihre Entwicklungsmaschine nichts Wertvolles enthalten.Ihre gesamte Arbeit (und die Ihres Unternehmens) sollte sich in zentralen Repositories (SVN) befinden.

ich benutze Zeitmaschine.

Für meine Heim- und Entwicklungsmaschinen verwende ich Acronis True Image.

Meiner Meinung nach gibt es bei den günstigen HD-Preisen nichts, was ein vollständiges inkrementelles tägliches HD-Backup ersetzen kann.

Eine kleine Vorbereitung hilft:

  • Mein gesamter Code wird in einem einzigen Verzeichnis organisiert (mit kategorisierten Unterverzeichnissen).
  • Alle E-Mails werden in verschiedenen PSTs gespeichert.
  • Der gesamte Code wird am Ende eines jeden Tages auch in die Quellcodeverwaltung überprüft.
  • Auch alle Dokumente werden an einem Ort aufbewahrt.

Sicherung:

  • Sichern Sie Ihren Code, Ihre E-Mails und Dokumente so oft, wie es Ihnen passt (täglich).
  • Halten Sie immer ein Bild Ihrer Entwicklungsumgebung bereit.

Scheitern und Wiederherstellung

  • Wenn alles fehlschlägt, formatieren und installieren Sie das Image.
  • Kopieren Sie alles aus dem Backup zurück und schon kann es losgehen.

Natürlich gibt es hier und da Optimierungen (inkrementelle Sicherung, Archivierung usw.), die Sie vornehmen müssen, um diesen Prozess umzusetzen.

Wenn Sie von der absolut geringsten Wiederherstellungszeit sprechen ...Ich habe oft Computer so eingerichtet, dass sie jede Nacht Ghost-Backups (Symantec oder ähnliches) entweder auf ein Image oder einfach auf eine direkte Kopie auf ein anderes Laufwerk durchführen.Auf diese Weise müssen Sie lediglich ein neues Image der Maschine aus dem Image erstellen oder einfach die Laufwerke austauschen.Sie können in weniger als 10 Minuten wieder da sein ...Das Setup, das ich zuvor durchgeführt habe, erfolgte in einer Situation, in der wir einige Produktionsserver hatten, die redundant waren und es akzeptabel war, dass sie lange genug offline waren, um das Laufwerk zu klonen … aber nur nachts.Tagsüber mussten sie zu 100 % hochgefahren sein ... es hat mir ein paar Mal den Hintern gerettet, als ein Hauptantrieb ausfiel ...Ich habe gerade das Gehäuse geöffnet, die Kabel ausgetauscht, sodass das Backup-Laufwerk das neue Master-Laufwerk war und in 5 Minuten wieder online war.

Endlich habe ich meine „vollautomatische Datensicherungsstrategie“ zu einer hohen Kunst gemacht.Ich muss nie manuell eingreifen und verliere nie wieder Daten auf einer Festplatte.Wenn mein Computer ausfällt, habe ich immer ein vollständiges bootfähiges Backup, das nicht älter als 24 Stunden ist, und inkrementelle Backups, die nicht älter als eine Stunde sind.Hier sind die Details, wie ich es mache.

Mein einziger Computer ist ein 160-GB-MacBook mit OSX Leopard.Auf meinem Schreibtisch bei der Arbeit habe ich zwei externe 500-GB-Festplatten.Eine davon ist eine einzelne 500-GB-Partition namens „External“.Die andere hat eine 160-GB-Partition namens „Clone“ und eine 340-GB-Partition namens TimeMachine.

TimeMachine läuft, wann immer ich bei der Arbeit bin, und sichert ständig meine „in Bearbeitung“-Dateien (die auch den ganzen Tag über der Versionskontrolle übergeben werden).

Jeden Wochentag um 12:05 Uhr SuperDuper!Kopiert automatisch meine gesamte Laptop-Festplatte auf das Laufwerk „Klonen“.Wenn die Festplatte meines Laptops ausfällt, kann ich tatsächlich direkt vom Klonlaufwerk booten und mit der Arbeit fortfahren, ohne einen Takt zu verpassen – so habe ich etwas Zeit, das Laufwerk auszutauschen (das ist mir ZWEIMAL passiert, seit ich es eingerichtet habe!).(Technischer Hinweis:Es kopiert eigentlich nur alles, was sich seit dem vorherigen Wochentag um 12:05 Uhr geändert hat ...nicht jedes Mal die gesamte Fahrt.Klappt wunderbar.)

Zu Hause habe ich einen D-Link DNS-323, ein 1 TB (2 x 500 GB) großes Network Attached Storage-Gerät mit gespiegeltem RAID, sodass alles auf der ersten 500-GB-Festplatte automatisch auf die zweite 500-GB-Festplatte kopiert wird.Auf diese Weise haben Sie immer ein Backup, und das völlig automatisiert.Dieser kleine Welpe verfügt über einen integrierten dynamischen DNS-Client und einen FTP-Server.

Also leite ich auf meinem WRT54G-Router den FTP-Port (21) an meinen DNS-323 weiter und lasse seinen FTP-Server aktiv.

Nachdem der SuperDuper-Klon erstellt wurde, läuft rSync und synchronisiert mein „externes“ Laufwerk per FTP mit dem DNS-323 zu Hause.

Das ist es.Mit 4 Laufwerken (2 extern, 2 im NAS) habe ich:1) Ein immer bootfähiges vollständiges Backup, das weniger als 24 Stunden alt ist, von Montag bis Freitag 2) Ein funktionierendes Backup aller meiner laufenden Dateien, die nie älter als 30 Minuten sind, von Montag bis Freitag (wenn ich bei der Arbeit bin und mit den externen Laufwerken verbunden bin) 3) Zugriff auf alle meine MP3s (170GB) bei der Arbeit auf dem "Externen" und zu Hause auf dem NAS 4) Zwei komplette Backups aller meiner MP3s und Dokumente auf dem NAS (Extern ist die Originalkopie, beide Laufwerke auf dem NAS sind Spiegel über ChronoSync)

Warum mache ich das alles?Weil:1) Im Jahr 2000 ließ ich eine 1-Zoll-Festplatte mit 40 GB fallen und es kostete mich 2.500 US-Dollar, diese Daten zurückzubekommen.2) Im letzten Jahr musste ich mein MacBook viermal zur Reparatur bringen.Eine kaputte Festplatte, zwei kaputte Motherboards und eine kaputte Webcam.Beim vierten Mal wurde mein MacBook kostenlos durch ein neueres, besseres ersetzt, und seitdem hatte ich keine Probleme mehr.

Dank meiner täglichen Backups habe ich weder Arbeit noch Produktivität verloren.Wenn ich sie jedoch nicht gehabt hätte, wäre meine gesamte Arbeit verloren gegangen, zusammen mit meinen MP3s, meinen Texten und allen Fotos meiner Reisen nach Peru, Kroatien, England, Frankreich, Griechenland, den Niederlanden, Italien usw alle meine Familienfotos.Kannst Du Dir vorstellen?Ich bin mir sicher, dass Sie das können, denn ich wette, Sie haben gerade einen Stapel digitaler Fotos auf Ihrem Computer ...in keiner Weise gesichert.

Eine Kombination aus RAID1, Acronis, xcopy, DVDs und FTP.Sehen:http://successfulsoftware.net/2008/02/04/your-harddrive-will-fail-its-just-a-question-of-when/

Vielleicht wäre ein einfacher Hardware-Festplattenüberfall ein guter Anfang.Wenn also ein Laufwerk ausfällt, haben Sie immer noch das andere Laufwerk im Raid.Wenn etwas anderes als die Laufwerke ausfallen, können Sie diese Laufwerke in ein anderes System einbauen und Ihre Dateien schnell abrufen.

Ich bin gerade dabei, das bei der Arbeit für das Team zu klären.Ein Image mit allen gängigen Tools befindet sich im Netzwerk.(Wir haben tatsächlich eine Hotswap-Maschine bereit).Alle laufenden Arbeiten sind auch im Netzwerk verfügbar.

Also boomt die Entwicklermaschine.Verwenden Sie die Hot-Swap-Maschine und fahren Sie fort.Ausfallzeit ca. 15 Minuten + Kaffeepause.

Uns wurde eine Unternehmenslösung namens Altiris aufgedrängt, die funktioniert, wenn sie will.Es hängt davon ab, ob es draußen regnet oder nicht.Ich denke, Altiris könnte ein Regengott sein, aber er weiß es einfach nicht.Ich freue mich wirklich, wenn es nicht funktioniert, denn das bedeutet, dass ich meine 99 % der CPU-Auslastung zurückerhalten kann, vielen Dank.

Darüber hinaus haben wir kein Recht, andere Softwarelösungen zum Sichern von Dingen zu installieren oder Orte zu installieren, an denen wir dies tun dürfen.Es ist uns nicht gestattet, Daten von unseren Maschinen zu übertragen.

Am Ende drücke ich nur die Daumen und lache über den Wahnsinn.

Ich tu nicht.

Wir führen eine kontinuierliche Integration durch und übermitteln den Code häufig an das zentrale Quellcodeverwaltungssystem (das wie verrückt gesichert wird!).

Wenn meine Maschine höchstens ausfällt, habe ich ein paar Arbeitstage verloren.

Und alles, was ich tun muss, ist, beim Einrichten der Entwicklungsumgebung eine saubere Festplatte von einem Ghost-Image zu erhalten oder einen Tag damit zu verbringen, CDs einzulegen, nach einem Windows-Update neu zu starten usw.Kein angenehmer Tag, aber ich bekomme eine schöne, saubere Maschine.

Auf der Arbeit je nach Box NetBackup oder PureDisk, zu Hause rsync.

Wie einige andere habe ich eine saubere Kopie meines virtuellen PCs, die ich jederzeit abrufen und neu starten kann, und der gesamte Code ist in Subversion gespeichert.

Ich benutze SuperDuper!und sichern Sie meine virtuelle Maschine auf einem anderen externen Laufwerk (ich habe zwei).Der gesamte Code befindet sich auf einem SVN-Server.Ich habe eine saubere VM für den Fall, dass meine ausfällt.Aber in beiden Fällen dauert die Installation von WinXP+Vstudio ein paar Stunden.Ich verwende in dieser Box nichts anderes.

Ich verwende xcopy, um beim Start alle meine persönlichen Dateien auf eine externe Festplatte zu kopieren.

Hier ist meine Startup.bat:

xcopy d:\files f:\backup\files /D /E /Y /EXCLUDE:BackupExclude.txt

Dadurch werden Verzeichnisse rekursiv erstellt, nur geänderte Dateien kopiert und die Meldung zum Ersetzen einer vorhandenen Datei unterdrückt. Die Liste der Dateien/Ordner in BackupExclude.txt wird nicht kopiert.

Windows Home Server.Meine Entwicklungsbox verfügt über zwei Laufwerke mit etwa 750 GB Daten dazwischen (C:ist ein 300-GB-SAS-Laufwerk mit 15.000 U/min, auf dem sich Apps und das System befinden, D:ist ein gespiegeltes 1-TB-Set mit allen meinen Einträgen).Ich verwende Windows Home Server zum Sichern dieses Computers und habe ihn nach dem Horchen mehrmals erfolgreich wiederhergestellt.

Mein Entwicklungscomputer wird mit Retrospect und Acronis gesichert.Dabei handelt es sich um nächtliche Backups, die ausgeführt werden, wenn ich schlafe – eines auf einem externen Laufwerk und eines auf einem Netzlaufwerk.

Mein gesamter Quellcode befindet sich in SVN-Repositorys. Ich behalte alle meine Repositorys in einem einzigen Verzeichnis, sodass ich eine geplante Aufgabe habe, die ein Skript ausführt, das einen Pfad für alle SVN-Repositorys spinnen und eine Reihe von Hotcopies (mit dem Skript hotcopy.py) durchführt sowie ein svndump jedes Repositorys.

Mein Arbeitscomputer wird gesichert, egal wie er damit umgeht. Ich habe jedoch auch das gleiche Skript ausgeführt, um Hotcopies und Svndumps an einigen Orten durchzuführen, die gesichert werden.

Ich stelle sicher, dass sich ein Speicherort der Arbeitssicherungen NICHT im SAN befindet. Ja, er wird gesichert und verwaltet, aber wenn er ausfällt, ist er ausgefallen.

Ich hätte gerne eine Empfehlung für einen externen RAID-Container oder vielleicht nur einen externen Laufwerkscontainer, vorzugsweise mit Anbindung über FireWire 800.

Ich hätte auch gerne eine Empfehlung für einen Hersteller, die Backup-Laufwerke in den Container zu legen.Ich habe so viele Bewertungen von Laufwerken gelesen, in denen stand, dass sie ausgefallen seien, und weiß nicht, was ich davon halten soll.

Ich mag keine Backup-Dienste wie Mozy, weil ich ihnen nicht vertrauen möchte, dass sie meine Daten nicht einsehen.

  • SuperDuper führt alle paar Wochen bootfähige Backups durch
  • Time Machine erstellt täglich Backups für meine wichtigsten Verzeichnisse
  • Der Code wird auf Netzwerk-Subversion-/Git-Servern gespeichert
  • MySQL-Backups mit Cron auf den Webservern. Verwenden Sie ssh/rsync, um sie auch jede Nacht mit Cron auf unsere lokalen Server herunterzuladen.

Wenn Sie einen Mac verwenden, ist das ein Kinderspiel – schließen Sie einfach eine externe Festplatte an und die integrierte Time Machine-Software sichert Ihr gesamtes System und führt dann ein inkrementelles Backup nach dem von Ihnen festgelegten Zeitplan durch.Das hat mich oft aus einem Loch herausgeholt, in dem ich meine Umgebung durcheinander gebracht habe;Es machte es auch super einfach, mein System nach der Installation einer größeren Festplatte wiederherzustellen.

Für Offsite-Backups gefällt mir JungleDisk - Es funktioniert auf Mac, Windows und Linux und sichert auf Amazon S3 (oder, seit Kurzem hinzugefügt, auf dem Rackspace-Cloud-Service).Dies ist eine gute Lösung, wenn Sie über mehrere Maschinen (oder sogar VMs) verfügen und bestimmte Verzeichnisse sichern möchten, ohne darüber nachdenken zu müssen.

Homeserver-Warnung!

Ich habe Home Server aus zwei Gründen auf meinem Entwicklungsserver installiert:Günstige Version von Windows Server 2003 und für Backupzwecke.

Die Backup-Software-Seite ist ein ernsthafter Zufall.Wenn Sie gleich zu Beginn der Installation von Home Server einen Computer zur Liste der zu sichernden Computer hinzufügen, ist im Allgemeinen alles in Ordnung.

ABER es scheint, dass es nach einer gewissen Zeit VOLLSTÄNDIG schwieriger wird, weitere Maschinen hinzuzufügen.

(Beispiel:Ich habe meinen Laptop komplett neu aufgebaut und versucht, ihn hinzuzufügen – NEIN!)

Daher bezweifle ich ernsthaft die Zuverlässigkeit dieser Plattform für Backup-Zwecke.Scheint den Zweck zu verfehlen, wenn man ihm nicht zu 100 % vertrauen kann

Ich habe die folgenden Backup-Szenarien und verwende rsync als primäres Backup-Tool.

  1. (wöchentlich) Windows-Backup für die „Bare-Metal“-Wiederherstellung
    Inhalt des Systemlaufwerks C:\ unter Verwendung der Windows-Sicherung zur schnellen Wiederherstellung nach einem Ausfall der physischen Festplatte, da ich Windows und Anwendungen nicht von Grund auf neu installieren möchte.Dies ist so konfiguriert, dass es automatisch mithilfe des Windows-Sicherungsplans ausgeführt wird.

  2. (täglich Und bedingt) Aktive Inhaltssicherung mit rsync
    Rsync kümmert sich um alle geänderten Dateien von Laptop, Telefon und anderen Geräten.Ich sichere jeden Abend und nach wesentlichen Inhaltsänderungen, wie z. B. dem Import der aktuellen Foto-RAWs von der SD-Karte auf den Laptop, ein Backup auf dem Laptop.

Ich habe ein Bash-Skript erstellt, das ich von Cygwin unter Windows ausführe, um rsync zu starten: https://github.com/paravz/windows-rsync-backup

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top