ln / Softlinks für Konfiguration via Netzwerk?

  • Hallo,


    derzeit habe ich parallel mehrere Pis laufen. Um im Falle eines Crashes, oder z.B. eine Neuinstallation eines Gerätes wichtige Konfigurationsdateien zu speichern, habe ich mir folgenden Ablauf überlegt; könnt Ihr mir sagen, ob das funktionieren würde?


    Ich kopiere alle Konfigurationsdateien (bzw. Files, die ich sichern möchte) auf einen Netzwerkordner, der für die Pis lesbar ist. Die Dateien kann ich ggf. direkt über meinen Laptop auf dem NAS bearbeiten, ohne mich auf den Pi aufschalten zu müssen.


    Im System (bzw. dort, wo die Dateien eigentlich hingehören) erstelle ich eben Softlinks, die auf die Dateien auf meinem NAS zeigen. Die Netzwerkfreigabe ist via smb durch fstab beim Systemstart verfügbar.
    (Alternativ hatte ich überlegt, sämtliche Dateien auf einen Netzwerkordner zu kopieren, diesen per rsync auf den jeweiligen Pis lokal abzugleichen, sodass auch bei einem Netzwerkfehler zumindest noch die zuletzt synchronisierte Version der Datei verfügbar wäre).


    Sichern möchte ich definitiv
    /home/pi/.ssh/*
    /home/pi/.config/*
    /etc/fstab
    /etc/crontab
    (UND gerne auch die crontab für User 'Pi'; da habe ich den korrekten Speicherort aber noch nicht gefunden)
    MySQL Datenbanken, Apache Konfigurationen etc. sollen später ebenfalls gespeichert werden


    Funktioniert das soweit, oder habe ich etwas Grundlegendes nicht mit eingeplant? Meine Pis crashen gerne mal (wahrscheinlich wegen der alten SD Karten) und müssen im Notfall komplett neu aufgesetzt werden. Diese Lösung, in Zusammenhang mit einem bash Script, welches die entsprechenden Softlinks automatisch wiederherstellt, sollte die Neueinrichtung erheblich vereinfachen :)


    Pro/Con?


    Danke & LG

  • Quote

    Funktioniert das soweit, oder habe ich etwas Grundlegendes nicht mit eingeplant?


    Ja,


    Woher soll der neustartende PI seine Konfiguration (für das Netzwerk und die Laufwerke bekommen, wenn diese Daten auf einem Netzwerk-Laufwerk liegen?


    Eine Möglichkeit wäre es, Änderungen als Kopie auf den Netzwerkshare zu speichern. entweder nur die Änderung, oder mit Verlaufshistorie.
    Diese Kopie könnte dann durch ein Signal (Änderung der passenden Inode) automatisch erfolgen, sollte aber auch nur für selten geänderte Dateien gemacht werden, da das sonst zu viel Netzlast verursacht (/var/log sollte man da nicht verarbeiten, und /tmp auch nicht ;-))

    Selber denken,
    wie kann man nur?

  • Quote


    Woher soll der neustartende PI seine Konfiguration (für das Netzwerk und die Laufwerke bekommen, wenn diese Daten auf einem Netzwerk-Laufwerk liegen?


    Eigentlich sollte der Pi ja während des Bootvorgangs direkt via fstab das SMB Share einbinden. Die anderen Files sollten somit erfolgreich abgerufen werden. Aber gut, sicher ist sicher.


    Die andere angedachte Lösung aus meinem Post sollte dann doch aber funktionieren:
    Softlinks zu den entsprechenden Dateien in ein _lokales_ Verzeichnis setzen, dieselben Daten zusätzlich auf dem NAS speichern; dann überprüfen, ob die Dateien auf dem NAS verändert wurden, wenn ja -> lokale Dateien entsprechend abgleichen...


    Es geht mir im übrigen NUR um bestimmte Konfigurationsdateien, nicht um das gesamte System (schon gar nicht tmp oder logs :D). Ich hätte halt gerne meine known_hosts, Konfigurationsdateien bestimmter Programme (gerade wie Couchpotato wegen dem API Key, den ich sonst in der Remote App nach jeder Neueinrichtung ändern müsste) gesichert.


    Oder ist es auch möglich, das gesamte Dateisystem auf mein NAS auszulagern und beim Start des Pi auf dieses System zuzugreifen? AFAIK kann Ubuntu das beispielsweise.


    Gesendet von meinem Nexus 6 mit Tapatalk

  • Wenn du von einem extrenen Laufwerk (z.B. NFS-Share) einen Link auf eine lokale Datei legst, dann siehst du diese lokale Datei auf dem NFS-Share nur, wenn dieser lokale Rechner auch da ist.


    Nehmen wir mal an, das Laufwerk ist per NFS nach /mnt/nfs gemountet.
    Du legst dort in /mnt/nfs/PI-eins/etc/fstab einen Link nach /etc/fstab, dann siehst du die FSTAB (und kannst sie ändern), aber eben nur, wenn der PI-eins auch dieses gemoutet hat.
    Interessant wird es dann, wenn es einen PI-zwei gibt, der dieses NFS-Share auch unter /mnt/nfs mountet.
    Dann würde dieser Softlink von /mnt/nfs/PI-eins/etc/fstab auf dem PI-zwei auch nach /etc/fstab zeigen, dun du schnell auf die Schnautze fliegst....


    Boot den PI3 per PXE (geht auch mit dem PI2, wenn du eine SD eingelegt hat, die das entsprechende /boot-Dateisystem hat)
    Der Unterschied zwischen dem PI3 dun PI2 ist nur, dass der PI3 keinen Datenträger mehr braucht.


    Beim PXE-Boot kannst du dann jedem PI sein eigenes Dateisystem gehen (besser, solltest ;)

    Selber denken,
    wie kann man nur?