• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Best-practice/Konzept für device-management im kleineren Rahmen

ACCakut

Newbie
Hallo zusammen,

tl;dr: Wie verwaltet man am besten/mit geringstem Aufwand ein dutzend ältere Notebooks (Core2Duo 2GHz, 2GB RAM, nicht zwingend immer online bzw. wechselnde IPs)? Freue mich auch über Einzeiler welche Software etc. ihr empfehlt oder nutzt.


Lange Version:

Zusammen mit ein paar Ehrenamtlichen veranstalte ich Workshops für Jugendliche in denen mit Elektronik gebastelt und programmiert wird (Calliope Mini, Arduino, vielleicht auch mal Python oder so). Dafür haben wir 40 alte Notebooks (HP TC4400) gespendet bekommen, die wir gerne nutzen würden. Viel spricht dafür, Linux zu nutzen und ich habe Xubuntu (18.04 LTS) ins Auge gefasst, da ich mehr Erfahrungen in der DEB-Welt habe und XFCE ein gutes Mittelmaß aus Performance und Usability bietet (und mein Kollege Arch mit XFCE nutzt).

Nun wollen wir mal mit einem dutzend Notebooks anfangen und diese einrichten. Die Frage ist: Wie am besten? Besagtes Dutzend hat einen T7200 oder T5600 und somit 64-Bit, der Rest leider T2400/T2500 ohne 64-Bit-Support. Das hauptsächlich genutzte 64-Bit-Dutzend würde ich eher auf 64-Bit laufen lassen und riskieren, die 32-Bit-Notebooks ggf. als zweite Gruppe verwalten zu müssen. Ein vServer und eine Synology Diskstation sind vorhanden.

Meine grobe Vorstellung sieht bislang so aus:
  • Rechner mit durchnummerierten Hostnames versehen, Standard-Admin-User mit identischen Passwörtern einrichten, dazu zum Hostname passende User ohne admin-Zugehörigkeit und mit Auto-Login. Feste IPs sind ggf. problematisch, wenn die Notebooks in verschiedenen Netzwerken eingesetzt werden sollen.
  • Chef und Puppet scheinen mir zu komplex und aufwendig.
  • Konfigurieren mit ClusterSSH oder MultiSSH über Shell. Ausgeführte Befehle loggen (gibt es da direkt eine Option, die History zu speichern?). Eher aptitude statt apt-get, weil z.B. die flags praktisch scheinen. Also am Admin-Notebook lokal einen Befehl wie "sudo aptitude install -y -q arduino" testen und dann auf die anderen schicken. apt-cacher auf Admin-Notebook um Downloads zu beschleunigen. Auto-Update im Autostart oder per SSH rundschicken.
  • Monitoring mit Nagios oder Shinken, was man da genau so sieht gucke ich noch. Schön wären Speicherplatz, installierte Pakete, Betriebssystem, Netzwerk. CPU- und RAM-Auslastung ist nicht soo interessant.
  • Ein wenig Richtung Kiosk-Mode? Aktuell muss nur die Arduino-IDE und der Browser bedient werden können und das heruntergeladene Programm auf den Calliope kopiert werden (mountet als USB-Stick). Daftum ofris oder Lethe (ähnlich wie DeepFreeze) scheinen mir nicht zwingend notwendig, da die Teilnehmer recht vernünftig sind und wir einen guten Betreuungsschlüssel haben.
  • Veyon (früher iTALC) oder Epoptes als "Lehrerkontrolle". Damit kann man die Bildschirme sperren, kontrollieren und den eigenen Bildschirm an die Clients streamen.
  • Einen Netzwerkspeicher und eine Art Pinnwand. Cloud wäre mir da wegen der Robustheit, Unabhängigkeit von IPs usw. und des Zugriffes von außen ganz recht. Also so etwas wie ein Dropbox-Client (oder OneDrive, MEGA, box.net, Synology CloudSync, SugarSync, SpiderOak...). Am besten mit einem Read-Only-Ordner und eigenen "Repositories" (ja, Netzwerkfreigaben mit ACL wären passend ;-). Empfehlungen herzlich willkommen.
  • Software: Xubuntu liefert viel mit (z.B. LibreOffice und Taschenrechner), Calliopes laufen über den Browser. Sonst arduino und fritzing (letzteres läuft nicht so sauber, wenn über apt-get installiert). GeoGebra, KTurtle und Scratch sehen interessant aus. Tux Paint und Xournal, weil die Notebooks einen Digitizer haben und einige da bestimmt dran Gefallen finden. Browserbasiert scheinen ganz nett Scratch, OpenRoberta (nutzen wir für Calliopes), TurtleAcademy, code.org, AntMe!, CodeCombat und AppInventor. Auch hier gerne Empfehlungen posten, vor allem einsteigerfreundliche IDEs.
  • Auto-Deployment, Backups, full-remote-Kontrolle usw. brauche ich vermutlich nicht ;-)


Ich bin sehr dankbar über alle Tipps oder auch kurze Empfehlungen. Gerne auch komplette Gegenentwürfe, ich bin da sehr offen und freue mich auf eure Rückmeldung.


Vielen Dank,


Philipp
 

marce

Guru
irgendeine Orchestrierungssoftware würde ich einsetzen - je mehr Systeme umso aufwändiger wird es sonst dafür zu sorgen, daß alle auf einem einheitlichen Stand sind und das auch automatisch alles notwendige nachgezogen wird, was evlt. auch auf einem mal "seit Monaten" nicht mehr in Benutzung gewesenen System noch nicht eingespielt wurde.

Ebenso die Installation automatisieren.

Ist zwar am Anfang mehr Arbeit, die sich aber hinten raus mehr als bezahlt macht.
 

gehrke

Administrator
Teammitglied
ACCakut schrieb:
Freue mich auch über Einzeiler welche Software etc. ihr empfehlt oder nutzt.
Gut, weil gerade unter Stress (Sorry!) nur ein paar Stichworte...
ACCakut schrieb:
40 alte Notebooks (HP TC4400) gespendet bekommen
Booten via PXE (Netzwerk) möglich?
ACCakut schrieb:
[*]Chef und Puppet scheinen mir zu komplex und aufwendig.
Vielleicht wirfst Du mal eine Blick auf ansible, weil der Lernaufwand dafür nicht so hoch ist...
 

spoensche

Moderator
Teammitglied
ACCakut schrieb:
Meine grobe Vorstellung sieht bislang so aus:
  • Rechner mit durchnummerierten Hostnames versehen, Standard-Admin-User mit identischen Passwörtern einrichten, dazu zum Hostname passende User ohne admin-Zugehörigkeit und mit Auto-Login. Feste IPs sind ggf. problematisch, wenn die Notebooks in verschiedenen Netzwerken eingesetzt werden sollen.


  • Mit preseeding kannst du die Rechner schon mal alle gleich installieren, partitionieren etc..

    ACCakut schrieb:
    [*]Chef und Puppet scheinen mir zu komplex und aufwendig.
    [*]Konfigurieren mit ClusterSSH oder MultiSSH über Shell. Ausgeführte Befehle loggen (gibt es da direkt eine Option, die History zu speichern?). Eher aptitude statt apt-get, weil z.B. die flags praktisch scheinen. Also am Admin-Notebook lokal einen Befehl wie "sudo aptitude install -y -q arduino" testen und dann auf die anderen schicken. apt-cacher auf Admin-Notebook um Downloads zu beschleunigen. Auto-Update im Autostart oder per SSH rundschicken.

    Ansible ist in deinem Fall etwas für dich. Es ist agent-less und verwendet SSH.

    ACCakut schrieb:
    [*]Monitoring mit Nagios oder Shinken, was man da genau so sieht gucke ich noch. Schön wären Speicherplatz, installierte Pakete, Betriebssystem, Netzwerk. CPU- und RAM-Auslastung ist nicht soo interessant.

    Nagios und Shinken sind für das Client-Monitoring nicht wirklich geeignet. Ein Script., was dir die Daten per SSH ausliest oder die Systemfacts per Ansible, sind da eher geeignet und erfordern weniger Administrationsaufwand.

    ACCakut schrieb:
    [*]Ein wenig Richtung Kiosk-Mode? Aktuell muss nur die Arduino-IDE und der Browser bedient werden können und das heruntergeladene Programm auf den Calliope kopiert werden (mountet als USB-Stick). Daftum ofris oder Lethe (ähnlich wie DeepFreeze) scheinen mir nicht zwingend notwendig, da die Teilnehmer recht vernünftig sind und wir einen guten Betreuungsschlüssel haben.

    Den Kiosk- Mode kannst du im Xfce mit einer simplen Konfigurationsdatei selbst konfigurieren. Zu den Tools kann ich nichts sagen, da ich sie nicht kenne.

    ACCakut schrieb:
    [*]Einen Netzwerkspeicher und eine Art Pinnwand. Cloud wäre mir da wegen der Robustheit, Unabhängigkeit von IPs usw. und des Zugriffes von außen ganz recht. Also so etwas wie ein Dropbox-Client (oder OneDrive, MEGA, box.net, Synology CloudSync, SugarSync, SpiderOak...). Am besten mit einem Read-Only-Ordner und eigenen "Repositories" (ja, Netzwerkfreigaben mit ACL wären passend ;-). Empfehlungen herzlich willkommen.

    Klarer Fall für NextCloud bzw. OwnCloud.
 
OP
A

ACCakut

Newbie
Danke für die Antworten!

PXE ist möglich, preseeding gucke ich mir nochmals an.

Ansible klingt genau nach dem, was ich gesucht (und selbst nicht gefunden) habe!

Nun lese ich mich mal ein und berichte :D
 
Oben