Welche Möglichkeiten gibt Einstellungen, Programmen u.s.w. mit wenig Aufwand auf 13 Pis identisch zu halten?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich habe mehrere PIs. Am Ende werden es vermutlich 13 PIs sein. Diese sollen alle das selbe Image bekommen und alle das selbe machen.

    Problem ist, wenn ich etwas ändere, dann müsste ich auf allen weiteren 12 PIs die gleiche Einstellungen vornehmen oder das Image klonen und die Mico SD Karten damit bespielen.

    Die Micro SD Kate zu entfernen ist aber leider keine Option, da die PIs nur schwer zugänglich sind.

    Die PIs werden als PC für Visu benötigt und sind in der Wand mehr oder weniger verbaut.

    Per Netzwerk/ Wlan kann ich aber auf die PIs zugreifen.

    Welche Möglichkeiten gibt es 13 PIs von den Einstellungen, Programmen u.s.w. mit wenig Aufwand identisch zu halten?

    Kann ich z.B. bei einem lauffähigen PIs ein Image update ohne die Micro SD Karte zu entfernen machen?

    Gibt es eine Art Backup Funktion mit der ich die PIs identisch halten kann?

    OS ist aktuell Raspberry Pi OS.

    Grüße

    Stefan

  • Welche Möglichkeiten gibt Einstellungen, Programmen u.s.w. mit wenig Aufwand auf 13 Pis identisch zu halten?? Schau mal ob du hier fündig wirst!

  • Das lässt sich z.B. mit der Automations-Software Ansible lösen.

    Hier ein paar Einstiegspunkte:

    Ansible hat sehr viele Features, also nicht überwältigen lassen!

    Je nach Projekt-Anforderungen kann man auch ganz simpel anfangen.

    Einmal editiert, zuletzt von simonz (27. Dezember 2021 um 08:11)

  • Ich habe eben mal eine kleine Starthilfe zu Ansible geschrieben.

    Die soll aber nur als Demo dienen.

    Um das Lesen in der sehr guten und ausführlichen Originaldokumentation kommt man nicht herum...


    Ansible ist agent-less, das heisst, es wird nur einmal auf irgendeinem System installiert. Dies ist dann sozusagen der Verteiler.

    Von hier aus geht es per SSH (bei Linux/Unix) auf die zu verwaltenden Rechner, auf denen außer eben einem funktionierenden SSH Server nichts besonderes installiert sein muss! Der jeweilige Login per SSH muss allerdings passwortlos möglich sein, also bitte per ssh-key/ssh-agent.

    Mit Ansible lassen sich zwar auch einfache "Adhoc"-Kommandos auf entfernten Rechnern ausführen, darum geht es jetzt aber nicht.

    Wir wollen ja mehr automatisieren...


    Zuerst erstellt man ein Inventory (z.B. im INI-Format), also eine Liste der Rechner/Systeme/Hosts, die verwaltet werden sollen:

    Code: inventory.ini
    [raspberries]
    raspberrypi
    #pi6
    pi400
    
    [andere]
    server1
    server3

    Und dann ein Playbook (im YAML-Format), welches die Plays und Tasks (Aufgaben) enthält, die ausgeführt werden sollen:

    Aufgerufen wird es dann so, falls z.B. nur das "Anpingen" gestartet werden soll:

    Code
    ansible-playbook  -i inventory.ini  --tags pinging  basic.yml

    Oder so, wenn alle Tasks hintereinander ausgeführt werden sollen:

    Code
    ansible-playbook  -i inventory.ini  basic.yml

    Und dies sind die Ausgaben bei mir:

    Im Terminal ist die Ausgabe etwas farbiger, so dass man "ok" und "error/failed" optisch besser erkennt.

    Bei dem Lauf oben hat beim pi400 alles geklappt, der raspberrypi war aber nicht erreichbar.


    Ich hoffe, das zeigt ein bisschen das Potential von Ansible.

    3 Mal editiert, zuletzt von simonz (27. Dezember 2021 um 20:52) aus folgendem Grund: Verarbeitung einer Liste von Software-Paketen ergänzt, tags/block ergänzt und Reboot optional gemacht

  • Hallo Zusammen,

    vielen Dank an die beide, die auf meine Probleme eine Lösung anbieten konnten.

    1. Ansible klingt gut aber auch nach viel Arbeit an.

    2. Cluster SSh hört sich einfacher an, aber

    was haltet ihr von Booten über das Netzwerk?

    z.B.:

    https://developer-blog.net/raspberry-pi-u…etzwerk-booten/

    oder

    https://www.knx-und-ich.de/2020/09/20/ras…s-netzwerk-pxe/

    Wäre das nicht für meine Zwecke das Beste?

    Wie viel länger dauert der Bootvorgang wenn man über Netzwerk bootet?

    Grüße

    Stefan

  • 1. Ansible klingt gut aber auch nach viel Arbeit an.

    2. Cluster SSh hört sich einfacher an, aber

    was haltet ihr von Booten über das Netzwerk?

    Alle drei Lösungen erfordern halt ein bisschen Arbeit!

    Entweder beim Einlesen, beim Vorbereiten oder beim manuellen Durchführen...

    Und alle drei (oder mehr) Lösungen haben ihre Einsatzgebiete/Berechtigung.

    Dir ist ja sicher bekannt, dass SD-Karten mit der Zeit verschleißen und auch mal defekt werden.

    Wenn die Pis so verbaut sind, dass Du nicht oder nur sehr schwer an die SD-Karten kommst, klingt der Netzwerkboot doch sinnvoll.

    Ich selbst habe noch keine Erfahrung mit PXE. Hört sich aber interessant an. Das nächste Wochenende kommt bestimmt...

    Hier schon einmal ein paar Fragen, die mir gerade so durch den Kopf gehen:

    Hängen in Deiner Visu-Wand die Pi's am LAN oder soll das per WLAN gehen? Haben sie genügend Empfang für WLAN in der Wand?

    Ist nur das Booten über's Netz und die SD-Karte bleibt als Speichermedium trotzdem aktiv? Dann am besten auch log2ram einsetzen!

    Wie werden die Pi's nach dem Booten gesteuert, irgendetwas sollen sie ja tun...?

    Interessantes Thema!

  • Ich stelle mir gerade das Gedrängel um den Bootserver (übrigens ein single point of failure?) vor wenn alle 13 raspberries starten wollen. Dann noch das fs übers Netz verbinden, Anwendungen starten und mit Daten versorgen, und was auch immer mehr.

    Optimismus ist nur ein Mangel an Informationen?

  • Hallo zusammen,

    zu den Fragen von

    Hängen in Deiner Visu-Wand die Pi's am LAN oder soll das per WLAN gehen? Haben sie genügend Empfang für WLAN in der Wand?

    Ist nur das Booten über's Netz und die SD-Karte bleibt als Speichermedium trotzdem aktiv? Dann am besten auch log2ram einsetzen!

    Wie werden die Pi's nach dem Booten gesteuert, irgendetwas sollen sie ja tun...?

    Interessantes Thema!

    Hängen am LAN.

    Eigentlich bräuchte ich kein Speichermedium so direkt, da ich nur die Webseiten der Hausautomatisierung und evtl. eine Playliste zum Abspielen von Musik anzeigen will. Später wäre noch cool eine Kommunikationsmöglichkeit wie skype oder so cool, dann hätte ich eine Zimmer zu Zimmer bzw. zu Klingel Sprechanlage. Mic und CAM hab ich schon vorgesehen. Lautsprecher nehmen ich vom Touchmonitor.

    Das alle gleichzeitig auf den Server zugreifen ist möglich aber mit LAN hoffentlich kein Problem.

    Vielen Dank für den PXE Link und die Erinnerung an log2ram.

    Am Ende soll die Visu nur laufen wenn man davor steht. Hierzu habe ich über dem Touchmonitor einen Bewegungsmelder eingeplant.

    Der nur die Visu anschaltete wenn Sie auch bedient werden soll. Ich hoffe das sorgt auch dafür, dass die Lebensdauer der Geräte verlängert wird.

    Damit aber das funktioniert darf die Bootzeit nicht so lange sein.

    Guten Rutsch

    vg

    Stefan

Jetzt mitmachen!

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