2 Raspberry Pi's redundant als Webserver

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • hallo Raspberry Welt,
    ich habe mir vor einem Jahr einen Raspberry Pi (B) gegönnt. Webserver Mysql drauf, fluppt.
    Jetzt hätte ich gerne mehr Datensicherheit.
    2 Raspberry Pis die sich Parallel Synchronisieren (bzw Klonen).
    Ich habe versucht zu googlen (Wahrscheinlich fehlt mir das konkrete Fachwort dafür.)
    Kann mir einer Helfen :)

    :D

    Einmal editiert, zuletzt von Evolution (2. Februar 2015 um 14:03)

  • Das Stichwort ist HA-Cluster (High Availebilty) ...
    Das Heartbeat ist ein Komponente daraus und dient der gegenseitige Überwachung (Knoten noch da?)

    Ohne auf der Seite gelsen zuhaben aber vielleicht hilft die ja: http://www.linux-ha.org/wiki/Main_Page

    HA-Cluster ist immer ne Frage von wie wichtig bzw. wie lange kann ich ohne den Dienst oder die Daten aus kommen. Man sagt würde bei einer Bank alle wichtigen Datenbanken und System ausfallen, wäre sie innerhalb eines Tages bankrott. Entsprechend hoch sind die Anforderung an deren Cluster. Stichwort Continental Cluster... usw.

    Egal schau halt mal auf den Link.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Moin,

    die Frage, die sich mir zuerst stellt ist, was soll erreicht werden? "Mehr Datensicherheit" -> zwei USB Sticks als RAID 1 oder jeweils ein Backup auf die USB Sticks (RAID1 != Backup !).

    Wenn es um Verfügbarkeit oder Lastausgleich geht, dann kann man es "günstig und einfach" z.B. via Round-Robin DNS lösen. Hier ist einer immer Master und der andere Slave. Die Synchronisation ist auch einfach mittels rsync (daten) und mysql z.b. mit der Funktion replication möglich. Oder ggf. mal MariaDB Galera cluster googlen.

    Einmal editiert, zuletzt von GrafKoks (3. Februar 2015 um 14:28)

  • Ersteinmal vielen vielen Dank an die Vorschläge :)
    Astorek86: Gute Idee konkrete tutorials konnte ich leider nicht finden.
    @ Lunepi: Richtiges Stichwort aber leider konnte ich noch keine Umsetzung zum Rapsberry finden.
    @ macmark: Sieht schon einmal nicht schlecht aus.
    @ Der_Imperator: Sieht sehr gut aus danke, das hat fast alles :-D. mir ist aber noch nicht ersichtlich wie die Daten syncronisiert werden.

    Danke an alle für eure Super schnelle Hilfe.

  • @ Der_Imperator: Sieht sehr gut aus danke, das hat fast alles :-D. mir ist aber noch nicht ersichtlich wie die Daten syncronisiert werden.

    Danke an alle für eure Super schnelle Hilfe.

    Auf dem "Master PI" startest du den rsync daemon.

    Code
    nano /etc/defaults/rsync
    
    
    RSYNC_ENABLE=true

    Dann werden zwei Sync verzeichnisse freigegeben :
    nano /etc/rsync.conf

    in der /etc/rsyncd.secrets steht der User und das Passwort für die Verbindung :

    Code
    rsyncuser:mypasswordhere


    dann auf dem "Slave PI" ein Bashscript per Cronjob ausführen :
    Damit pulled der Slave die Daten vom Master

    Bash
    #!/bin/bash
    service mysql stop
    export RSYNC_PASSWORD=mypasswordhere
    rsync rsync://rsyncuser@10.0.0.1/webdir/ /var/www
    rsync rsync://rsyncuser@10.0.0.1/mysqldb/ /var/lib/mysql
    service mysql start

    Das ist zwar kein "Cluster" imk herkömmlichen Sinn aber gut zu handeln.
    Man hat halt immer nur den Stand nach dem letzten Sync.
    Je nachdem wie der Master frequentiert ist die Abstände des Sync setzen.

    *ACHTUNG *
    Alles aus "der Hand" geschrieben, ungetestet !

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (4. Februar 2015 um 13:25)

  • Moin,

    nur ein kleiner Einwand:

    mySQL Dateien sollte man nicht mit rsync Kopieren / synchronisieren. Oder nur mit einer Ausnahme: mysql auf dem Master vorher stoppen und dann rsync nutzen.

    Warum? So ist die Konsistenz der mySQL (Daten) Tabelle überhaupt nicht gewährleistet. Sauberer wäre es da schon mysqldump zu verwenden, da so die Datenbanken kurzfristig gesperrt bleiben.

    Ansonsten ist die saubere Art dies "einfach" zu tun die mySQL Funktion replication.

    Einmal editiert, zuletzt von GrafKoks (4. Februar 2015 um 13:46)

  • *ACHTUNG *
    Alles aus "der Hand" geschrieben, ungetestet !

    :thumbs1: Mega danke dafür, gestern kam mein 2ter Raspberry und ich habe mich in rsync eingelesen und es fast genauso gemacht, aber mit deinen Vorlagen kann ich noch feinanpassungen machen vielen Dank. :danke_ATDE::danke_ATDE:

    @ GrafKoks vollkommemn richtig, sql werde ich wohl über replikation on Board machen :)
    Aber die Webserver Daten kann man wunderbar mit rsync übertragen :-).

  • Nabend,

    zur Vollständigkeit nenne ich nochmal lsyncd - Live Syncing (Mirror) Daemon.

    Zitat

    Lsyncd watches a local directory trees event monitor interface (inotify or fsevents). It aggregates and combines events for a few seconds and then spawns one (or more) process(es) to synchronize the changes. By default this is rsync. Lsyncd is thus a light-weight live mirror solution that is comparatively easy to install not requiring new filesystems or blockdevices and does not hamper local filesystem performance.

    Liest sich recht gut, habe ich ehrlich gesagt aber noch nicht ausprobiert ;) Lohnt sich aber auch wohl wirklich nur, wenn sich ständig Daten im www Verzeichnis ändern ;)

    Mutige vor ;) :daumendreh2:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!