Dokumentation
Beispielnutzungsszenario
Alon entwickelt eine neue Website. Er beginnt mit der Bereitstellung von TurnKey LAMP auf einer virtuellen Maschine, die auf seinem Laptop läuft. Er nennt es DevBox.
Anpassen DevBox
- Erstellen von Benutzer "alon".
- Extrahieren eines Archivs seiner Webanwendung in /var/www
- Optimierung von Apache-Konfigurationsrichtlinien in /etc/apache2/httpd.conf, bis seine Webanwendung funktioniert.
- Installieren von php5-xcache über den Paketmanager
- Aktivieren von xcache durch Bearbeiten eines Abschnitts in /etc/php5/apache2/php.ini
- Erstellen eines neuen Datenbankbenutzers mit reduzierten Privilegien für seine Webanwendung.
- Konfigurieren und Installieren der Webanwendung, die eine neue MySQL-Datenbank erstellt.
Nach ein paar Tagen Hacking auf der Web-Anwendung, ist Alon bereit, einen Prototyp seiner Kreation zu zeigen, um einige Freunde aus der Stadt.
Migration von DevBox zu CloudBox
Er meldet sich beim TurnKey Hub an und startet einen neuen TurnKey LAMP Server in der Amazon EC2 Cloud. Er nennt ihn CloudBox.
Wenn Alon die neue TurnKey Linux 11.0 Appliances, TKLBAM ist vorinstalliert. Bei älteren Versionen muss er es zuerst sowohl auf DevBox als auch auf CloudBox installieren:
apt-get update apt-get install tklbam
Alon stellt den API Key aus dem Benutzerprofil seines TurnKey Hub-Kontos zur Verfügung, um TKLBAM mit dem TurnKey Hub zu verknüpfen. Neues Webmin Moduloder auf der Kommandozeile:
tklbam-init QPINK3GD7HHT3A
Auf DevBox führt Alon ein Backup aus:
root@DevBox:~# tklbam-backup
Wie das Backup hinter den Kulissen funktioniert
TKLBAM downoads aus dem Hub ein Profil für die Version von TurnKey LAMP Alon verwendet. Das Profil beschreibt den Zustand der DevBox direkt nach der Installation, bevor Alon es angepasst. Dadurch kann TKLBAM alle Dateien und Verzeichnisse erkennen, die Alon seither hinzugefügt oder bearbeitet hat.
Was seine MySQL-Datenbanken betrifft, so ist alles transparent erledigt, aber wenn Alon tiefer graben würde, würde er entdecken, dass ihre vollständigen Inhalte serialisiert und in einem speziellen Code codiert werden. Dateistruktur optimiert für die Effizienz bei nachfolgenden inkrementellen Backups. Zwischen Backups aktualisiert Alon normalerweise nur eine Handvoll Tabellen und Zeilen, so dass die folgenden inkrementellen Backups sehr klein sind, nur ein paar KBs!
Wenn TKLBAM die Berechnung des Deltas und die Serialisierung des Datenbankinhalts durchgeführt hat, ruft es Duplicity auf, um Backup-Inhalte in eine Kette von verschlüsselten Backup-Volumes zu codieren, die hochgeladen auf Amazon S3.
Wiederherstellung der CloudBox
Wenn Alons erstes Backup abgeschlossen ist, erscheint ein neuer Datensatz im Backup-Bereich seines TurnKey Hub-Kontos.
Um das DevBox-Backup auf CloudBox wiederherzustellen:
root@CloudBox:~# tklbam-list # ID SKPP Created Updated Size (GB) Label 1 No 2010-09-01 2010-09-01 0.02 TurnKey LAMP root@CloudBox:~# tklbam-restore 1
Wenn die Wiederherstellung abgeschlossen ist, verweist Alon seinen Browser auf die IP-Adresse von CloudBox und freut sich, dass seine Webanwendung dort läuft, genau so wie auf DevBox.
Was ist passiert?
Alon, ein Bastler im Herzen, ist neugierig darauf, mehr darüber zu erfahren, wie der Backup- und Wiederherstellungsprozess funktioniert. Standardmäßig meldet der Wiederherstellungsprozess ausführlich, was er tut, auf dem Bildschirm. Aber Alon hatte eine harte Zeit, die Ausgabe in Echtzeit zu verfolgen, weil alles so schnell passiert ist glücklicherweise wird die gesamte Ausgabe auch in einer Protokolldatei bei /var/log/tklbam-restore. gespeichert.
Alon konsultiert die Protokolldatei und kann sehen, dass nur die Dateien, die er auf DevBox hinzugefügt oder geändert hat, in CloudBox wiederhergestellt wurden. Das xcache Paket wurde über den Paketmanager installiert. User alon wurde neu erstellt. Es ist uid nicht in Konflikt mit anderen bestehenden Benutzer auf CloudBox, so dass der Wiederherstellungsprozess nicht brauchen, um es zu einem anderen uid und beheben Sie das Eigentum an Alon-Dateien. Nicht, dass es für alon so oder so wichtig wäre.
Es ist alles automagisch.