Kategorie:StandBy: Unterschied zwischen den Versionen
Sed (Diskussion | Beiträge) |
Sed (Diskussion | Beiträge) K (→Konzept) |
||
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | ''IES | + | ''IES StandBy (IES Backup) (ab Version 2.1.1)'' |
==Konzept== | ==Konzept== | ||
− | + | Ein ''IES StandBy'' System kann für unterschiedliche Anforderungen auf unterschiedliche Weise umgesetzt werden. Nach allgemeiner Definition spricht man häufig von ''Warm-/Hot-StandBy'' und ''Cold-StandBy''. Dabei beschreibt ''Hot-StandBy'' eine Technologie, mit deren Hilfe ein IES-System ''hochverfügbar'' gehalten werden könnte. | |
− | + | Speziell bei Einsatz des IES gibt es aber noch zwei weitere StandBy-Varianten für spezielle Anforderungen. Daraus ergeben sich die folgenden Technologien: | |
+ | # Manual-StandBy | ||
+ | # ReadOnly-StandBy | ||
+ | # Cold-StandBy | ||
+ | # Hot-StandBy | ||
− | + | ==StandBy für ein IES-Testsystem (Manual-StandBy)== | |
− | + | Ein ''IES-Testsystem'' wird häufig bei komplexen Systemen installiert, um Weiterentwicklungen und Anpassungen zunächst mit aktuellen Daten zu testen. Auch für Schulungszwecke wird häufig ein solches Testsystem installiert. Hierzu wird ein paralleler IES installiert, der über eine nahezu identische Konfiguration verfügt. Dann werden die Daten des Master-Systems eingespielt. Dabei gibt es zwei unterschiedliche Ansätze: | |
− | |||
− | |||
− | |||
− | ==StandBy für ein IES-Testsystem== | ||
− | Ein ''IES-Testsystem'' wird häufig bei komplexen Systemen installiert, um Weiterentwicklungen und Anpassungen zunächst mit aktuellen Daten zu testen. Hierzu wird ein paralleler IES installiert, der über eine nahezu identische Konfiguration verfügt. Dann werden die Daten des Master-Systems eingespielt. Dabei gibt es zwei unterschiedliche Ansätze: | ||
# '''regelmäßige Synchronisation:''' z.B. einmal wöchentlich werden alle Daten des Testsystems durch aktuelle Daten des Master-Systems ersetzt. Nicht gesicherte Templates oder Eingaben gehen hierbei bewusst verloren. | # '''regelmäßige Synchronisation:''' z.B. einmal wöchentlich werden alle Daten des Testsystems durch aktuelle Daten des Master-Systems ersetzt. Nicht gesicherte Templates oder Eingaben gehen hierbei bewusst verloren. | ||
# '''manuelle Synchronisation:''' durch einen Administrator wird zu einem beliebigen Zeitpunkt der Datenstand des Master-Systems auf das Testsystem übertragen. Anschließend werden Entwicklungen durchgeführt und getestet. Nach Abschluss der Arbeiten werden die Anpassungen manuell in das Master-System übernommen. Bei der nächsten manuellen Übertragung werden wieder alle Daten überschrieben | # '''manuelle Synchronisation:''' durch einen Administrator wird zu einem beliebigen Zeitpunkt der Datenstand des Master-Systems auf das Testsystem übertragen. Anschließend werden Entwicklungen durchgeführt und getestet. Nach Abschluss der Arbeiten werden die Anpassungen manuell in das Master-System übernommen. Bei der nächsten manuellen Übertragung werden wieder alle Daten überschrieben | ||
Zeile 19: | Zeile 18: | ||
Der Nachteil ist, dass alle Arbeiten auf dem Testsystem selbständig (u.U. regelmäßig) gesichert werden müssen. Beispielsweise über XIP-Exporte aller neuen oder geänderten Elemente. | Der Nachteil ist, dass alle Arbeiten auf dem Testsystem selbständig (u.U. regelmäßig) gesichert werden müssen. Beispielsweise über XIP-Exporte aller neuen oder geänderten Elemente. | ||
− | Vorgehen für die Synchronisation: | + | '''Vorgehen für die Synchronisation:''' |
* Das IES-Backup-Verzeichnis des Master-Systems wird transparent über das Netzwerk auf dem StandBy-System eingebunden | * Das IES-Backup-Verzeichnis des Master-Systems wird transparent über das Netzwerk auf dem StandBy-System eingebunden | ||
Zeile 25: | Zeile 24: | ||
* Das StandBy-System importiert (u.U. automatisch in regelmäßigen Zyklen) den jeweils letzten Snapshot | * Das StandBy-System importiert (u.U. automatisch in regelmäßigen Zyklen) den jeweils letzten Snapshot | ||
− | Folgende Punkte sind dabei zu beachten: | + | '''Folgende Punkte sind dabei zu beachten:''' |
# Das Master-System legt während des Backups/Snapshots ein Lock-File an (<code>$SITEPARK_BACKUP/.iesadmin_backup.lock</code>). Dieses wird beim Einspielen ausgewertet, damit nicht parallel neue Backups erstellt werden können. | # Das Master-System legt während des Backups/Snapshots ein Lock-File an (<code>$SITEPARK_BACKUP/.iesadmin_backup.lock</code>). Dieses wird beim Einspielen ausgewertet, damit nicht parallel neue Backups erstellt werden können. | ||
Zeile 35: | Zeile 34: | ||
− | ==StandBy für ein IES-Liveabfragen== | + | ==StandBy für ein IES-Liveabfragen (ReadOnly-StandBy)== |
Ein StandBy-System, welches unabhängig vom Master-System für Webzugriffe über Live-Abfragen verwendet werden soll, lässt sich mit den aktuellen Mechanismen noch nicht sinnvoll abbilden. Eine Synchronisation hätte immer auch eine - vermutlich kurze - Deaktivierungsphase zur Folge. Das ist Live-Abfragen problematisch. Daher dürfte die Synchronisation auch nicht in den normalen Betriebszeiten erfolgen. Diese Anforderung lässt sich am besten über Funktionen wie Lucene-Indices sinnvoll lösen. | Ein StandBy-System, welches unabhängig vom Master-System für Webzugriffe über Live-Abfragen verwendet werden soll, lässt sich mit den aktuellen Mechanismen noch nicht sinnvoll abbilden. Eine Synchronisation hätte immer auch eine - vermutlich kurze - Deaktivierungsphase zur Folge. Das ist Live-Abfragen problematisch. Daher dürfte die Synchronisation auch nicht in den normalen Betriebszeiten erfolgen. Diese Anforderung lässt sich am besten über Funktionen wie Lucene-Indices sinnvoll lösen. | ||
Um dennoch ein solches ''ReadOnly-StandBy''-System zu realisieren, müssen noch Erweiterungen am IES vorgenommen werden. Ein Mandant müsste dafür in einem Read-Only-Mode betrieben werden. Das gilt sowohl für Redakteur, als auch für die Schnittstellen (z.B. XIP) und die Services (z.B. ConterService). Der Read-Only-Mode hätte weiterhin den Vorteil ein ''Warm-StandBy''-System während Wartungsarbeiten als Ausfallsystem für Live-Abfragen zu verwenden. Lediglich Counter würden in dieser Zeit nicht synchronisiert. | Um dennoch ein solches ''ReadOnly-StandBy''-System zu realisieren, müssen noch Erweiterungen am IES vorgenommen werden. Ein Mandant müsste dafür in einem Read-Only-Mode betrieben werden. Das gilt sowohl für Redakteur, als auch für die Schnittstellen (z.B. XIP) und die Services (z.B. ConterService). Der Read-Only-Mode hätte weiterhin den Vorteil ein ''Warm-StandBy''-System während Wartungsarbeiten als Ausfallsystem für Live-Abfragen zu verwenden. Lediglich Counter würden in dieser Zeit nicht synchronisiert. | ||
+ | |||
+ | ==StandBy als Notfallsystem (Cold-StandBy)== | ||
+ | Ein ''Cold-StandBy''-System sollte stets über (relativ) aktuelle Daten verfügen und bei vollständigem Ausfall des Master-System innerhalb kürzester Zeit dessen Funktionen vollständig übernehmen. Hierfür ist es nicht zwingend notwendig, dass der IES-Prozess gestartet ist. Eine Synchronisation ist somit sehr gut realisierbar, indem alle Daten eines ''Master''-Systems regelmäßig über übliche Mechanismen abgeglichen werden. | ||
+ | |||
+ | Durch Aktivierung eines solchen StandBy-Systems würde dieses zum neuen Master werden. In diesem Fall muss die weitere Synchronisation dauerhaft abgebrochen werden und kann nur durch manuelle Synchronisation (via [[:Kategorie:Backup|Vollbackup]]) mit dem ''Master''-System aufgebaut werden. Entsprechende Tasks (z.B. CRON) müssen deaktiviert werden. | ||
+ | |||
+ | Folgendes Vorgehen dient als Basis für die Einrichtung einer solchen StandBy-Architektur. Als Grundlage dient eine klassische IES-Installation inkl. aller notwendigen Anpassungen und Konfigurationen. Ist das CMS-System auch noch Datenbankserver oder Webserver, so müssen noch weitere Konfigurationen oder Daten ab geglichen werden. Grundsätzlich ist ein StandBy-System global und nicht pro Mandant zu betrachten! | ||
+ | |||
+ | '''Grundsätzliche Konfigurationen:''' | ||
+ | * Installation einer identischen IES-Version auf dem StandBy-System | ||
+ | * Stop des IES und Deaktivierung des Starts im Init-Prozess (Runlevel) | ||
+ | * Synchronisation von <code>$SITEPARK_HOME</code> inkl. der Konfiguration | ||
+ | * Synchronisation von <code>$SITEPARK_DATA</code> inkl. aller Medien | ||
+ | * Optionale Synchronisation von <code>$SITEPARK_BACKUP</code> mit allen aktuellen Sicherungen | ||
+ | |||
+ | '''Option 1:''' Datenbank liegt ebenfalls auf diesem Server | ||
+ | * Installation einer identischen MySQL-Version | ||
+ | * Konfiguration des gleichen <code>root</code>-Passworts | ||
+ | * Konfiguration des MySQL-Servers vom ''Master''-System bzgl. Replikation | ||
+ | * Konfiguration des ''StandBy''-Systems bzgl. Replikation | ||
+ | |||
+ | '''Option 2:''' Server ist auch Webserver u.U. inkl. Tomcat | ||
+ | * Installation des gleichen Apache (inkl. aller Module und Anpassungen) auf dem StandBy-System | ||
+ | * Installation des Tomcat | ||
+ | * Installation von PHP | ||
+ | * Synchronisation der Apache-Konfigurationen | ||
+ | * Synchronisation der Tomcat-Konfigurationen und -Applikationen | ||
+ | * Synchronisation der PHP-Konfiguration | ||
+ | |||
+ | Synchronisation aller weiteren Anpassungen (Cronjobs etc.) | ||
+ | |||
+ | Für die einzelnen Synchronisationen sollten regelmäßige Cronjobs eingerichtet werden. | ||
+ | |||
+ | |||
+ | ==StandBy als Parallelsystem (Hot-StandBy)== | ||
+ | Zur Realisierung eines ''Hot-StandBy''-IES-Systems müsste ein Server inkl. aller Konfigurationen synchronisiert werden. Für die schnelle (automatische) Aktivierung wäre es notwendig, dass der IES-Prozess inkl. aller Daten, dem Repository, der Datenbank, der BinDB und der Konfiguration konsistent synchron gehalten würden. | ||
+ | |||
+ | Aktuell gibt es hierfür noch keine technische Lösung. | ||
<noinclude> | <noinclude> | ||
[[Kategorie:Administration| 300]] | [[Kategorie:Administration| 300]] | ||
</noinclude> | </noinclude> |
Aktuelle Version vom 10. Mai 2011, 14:34 Uhr
IES StandBy (IES Backup) (ab Version 2.1.1)
Konzept
Ein IES StandBy System kann für unterschiedliche Anforderungen auf unterschiedliche Weise umgesetzt werden. Nach allgemeiner Definition spricht man häufig von Warm-/Hot-StandBy und Cold-StandBy. Dabei beschreibt Hot-StandBy eine Technologie, mit deren Hilfe ein IES-System hochverfügbar gehalten werden könnte. Speziell bei Einsatz des IES gibt es aber noch zwei weitere StandBy-Varianten für spezielle Anforderungen. Daraus ergeben sich die folgenden Technologien:
- Manual-StandBy
- ReadOnly-StandBy
- Cold-StandBy
- Hot-StandBy
StandBy für ein IES-Testsystem (Manual-StandBy)
Ein IES-Testsystem wird häufig bei komplexen Systemen installiert, um Weiterentwicklungen und Anpassungen zunächst mit aktuellen Daten zu testen. Auch für Schulungszwecke wird häufig ein solches Testsystem installiert. Hierzu wird ein paralleler IES installiert, der über eine nahezu identische Konfiguration verfügt. Dann werden die Daten des Master-Systems eingespielt. Dabei gibt es zwei unterschiedliche Ansätze:
- regelmäßige Synchronisation: z.B. einmal wöchentlich werden alle Daten des Testsystems durch aktuelle Daten des Master-Systems ersetzt. Nicht gesicherte Templates oder Eingaben gehen hierbei bewusst verloren.
- manuelle Synchronisation: durch einen Administrator wird zu einem beliebigen Zeitpunkt der Datenstand des Master-Systems auf das Testsystem übertragen. Anschließend werden Entwicklungen durchgeführt und getestet. Nach Abschluss der Arbeiten werden die Anpassungen manuell in das Master-System übernommen. Bei der nächsten manuellen Übertragung werden wieder alle Daten überschrieben
Der Vorteil dieser Vorgehensweisen mit einem Testsystem ist, dass nicht zu viel Müll entsteht, dass die Weiterentwicklungen und Tests aussagekräftig bzgl. der Auswirkungen auf den Master sind und dass das Master-System nicht beeinträchtigt wird.
Der Nachteil ist, dass alle Arbeiten auf dem Testsystem selbständig (u.U. regelmäßig) gesichert werden müssen. Beispielsweise über XIP-Exporte aller neuen oder geänderten Elemente.
Vorgehen für die Synchronisation:
- Das IES-Backup-Verzeichnis des Master-Systems wird transparent über das Netzwerk auf dem StandBy-System eingebunden
- Der Master generiert in regelmäßigen Zyklen automatisch Snapshots
- Das StandBy-System importiert (u.U. automatisch in regelmäßigen Zyklen) den jeweils letzten Snapshot
Folgende Punkte sind dabei zu beachten:
- Das Master-System legt während des Backups/Snapshots ein Lock-File an (
$SITEPARK_BACKUP/.iesadmin_backup.lock
). Dieses wird beim Einspielen ausgewertet, damit nicht parallel neue Backups erstellt werden können. - Das StandBy-System würde jedes Recover mit dem Einspielen des vollständigen Dumps beginnen. Das führt u.U. zu einer hohen Last.
- Das StandBy-System würde die Datei mit den Backup-Definitionen schreiben. Das hat indirekt auch Einfluss auf die Routinen des Master-Systems
Der Aufruf auf dem StandBy-System könnte wie folgt aussehen:
iesadmin recover <client> -d /network/sitepark/backup current
StandBy für ein IES-Liveabfragen (ReadOnly-StandBy)
Ein StandBy-System, welches unabhängig vom Master-System für Webzugriffe über Live-Abfragen verwendet werden soll, lässt sich mit den aktuellen Mechanismen noch nicht sinnvoll abbilden. Eine Synchronisation hätte immer auch eine - vermutlich kurze - Deaktivierungsphase zur Folge. Das ist Live-Abfragen problematisch. Daher dürfte die Synchronisation auch nicht in den normalen Betriebszeiten erfolgen. Diese Anforderung lässt sich am besten über Funktionen wie Lucene-Indices sinnvoll lösen. Um dennoch ein solches ReadOnly-StandBy-System zu realisieren, müssen noch Erweiterungen am IES vorgenommen werden. Ein Mandant müsste dafür in einem Read-Only-Mode betrieben werden. Das gilt sowohl für Redakteur, als auch für die Schnittstellen (z.B. XIP) und die Services (z.B. ConterService). Der Read-Only-Mode hätte weiterhin den Vorteil ein Warm-StandBy-System während Wartungsarbeiten als Ausfallsystem für Live-Abfragen zu verwenden. Lediglich Counter würden in dieser Zeit nicht synchronisiert.
StandBy als Notfallsystem (Cold-StandBy)
Ein Cold-StandBy-System sollte stets über (relativ) aktuelle Daten verfügen und bei vollständigem Ausfall des Master-System innerhalb kürzester Zeit dessen Funktionen vollständig übernehmen. Hierfür ist es nicht zwingend notwendig, dass der IES-Prozess gestartet ist. Eine Synchronisation ist somit sehr gut realisierbar, indem alle Daten eines Master-Systems regelmäßig über übliche Mechanismen abgeglichen werden.
Durch Aktivierung eines solchen StandBy-Systems würde dieses zum neuen Master werden. In diesem Fall muss die weitere Synchronisation dauerhaft abgebrochen werden und kann nur durch manuelle Synchronisation (via Vollbackup) mit dem Master-System aufgebaut werden. Entsprechende Tasks (z.B. CRON) müssen deaktiviert werden.
Folgendes Vorgehen dient als Basis für die Einrichtung einer solchen StandBy-Architektur. Als Grundlage dient eine klassische IES-Installation inkl. aller notwendigen Anpassungen und Konfigurationen. Ist das CMS-System auch noch Datenbankserver oder Webserver, so müssen noch weitere Konfigurationen oder Daten ab geglichen werden. Grundsätzlich ist ein StandBy-System global und nicht pro Mandant zu betrachten!
Grundsätzliche Konfigurationen:
- Installation einer identischen IES-Version auf dem StandBy-System
- Stop des IES und Deaktivierung des Starts im Init-Prozess (Runlevel)
- Synchronisation von
$SITEPARK_HOME
inkl. der Konfiguration - Synchronisation von
$SITEPARK_DATA
inkl. aller Medien - Optionale Synchronisation von
$SITEPARK_BACKUP
mit allen aktuellen Sicherungen
Option 1: Datenbank liegt ebenfalls auf diesem Server
- Installation einer identischen MySQL-Version
- Konfiguration des gleichen
root
-Passworts - Konfiguration des MySQL-Servers vom Master-System bzgl. Replikation
- Konfiguration des StandBy-Systems bzgl. Replikation
Option 2: Server ist auch Webserver u.U. inkl. Tomcat
- Installation des gleichen Apache (inkl. aller Module und Anpassungen) auf dem StandBy-System
- Installation des Tomcat
- Installation von PHP
- Synchronisation der Apache-Konfigurationen
- Synchronisation der Tomcat-Konfigurationen und -Applikationen
- Synchronisation der PHP-Konfiguration
Synchronisation aller weiteren Anpassungen (Cronjobs etc.)
Für die einzelnen Synchronisationen sollten regelmäßige Cronjobs eingerichtet werden.
StandBy als Parallelsystem (Hot-StandBy)
Zur Realisierung eines Hot-StandBy-IES-Systems müsste ein Server inkl. aller Konfigurationen synchronisiert werden. Für die schnelle (automatische) Aktivierung wäre es notwendig, dass der IES-Prozess inkl. aller Daten, dem Repository, der Datenbank, der BinDB und der Konfiguration konsistent synchron gehalten würden.
Aktuell gibt es hierfür noch keine technische Lösung.
Diese Kategorie enthält zurzeit keine Seiten oder Medien.