GNU/Linux >> LINUX-Kenntnisse >  >> Linux

3 Schritte zur Identifizierung von Kandidaten für die Linux-Systemautomatisierung

Die Automatisierung der von uns ausgeführten Aufgaben ist einer der wichtigsten Teile unserer Arbeit als Systemadministratoren. Es geht nicht nur darum, die vielen Aufgaben auszuführen, die erforderlich sind, um die von uns unterstützten Systeme am Laufen zu halten. Es geht darum, es uns selbst und anderen Systemadministratoren, die für uns einspringen, während wir im Urlaub oder krank sind, leicht zu machen; es geht darum sicherzustellen, dass wir unsere Aufgaben schnell und einfach mit einem Minimum an Arbeit und Intervention unsererseits erledigen können; es geht darum – hmmm, sollte ich das wirklich sagen – darum, der faule Systemadministrator zu sein.

Ich habe in meinen Büchern und Artikeln ausführlich über Automatisierung geschrieben, und mein Mantra lautet immer:„Alles automatisieren“. Aber woher wissen Sie, wo Sie anfangen sollen?

[ Das könnte Ihnen auch gefallen: 8 Tipps für eine zuverlässige Linux-Systemautomatisierung ]

Der Schmerzpunkt

Ich begann den Weg zur Automatisierung, indem ich einen großen Schmerzpunkt für eine der wichtigsten Aufgaben von Systemadministratoren reduzierte – Backups. Ich habe mit einem sehr kleinen Netzwerk angefangen: ein Computer und eine Internetverbindung. Sicherungen waren einfach, obwohl die Technologie aus einer Reihe von Bandlaufwerken bestand, die schließlich ausfielen.

Anfangs habe ich am Freitagabend einen Befehl eingegeben, um alle meine wichtigen Verzeichnisse zu sichern, und manchmal überprüft, ob die Sicherungen erfolgreich erstellt wurden. Sie waren – hauptsächlich – wegen Klebeband.

Als mein Netzwerk wuchs und ich für andere Netzwerke als mein eigenes verantwortlich wurde, stellte ich fest, dass die Verwendung der Befehlszeile zum Erstellen mehrerer Sicherungen ziemlich mühsam wurde. Die Technologie hat sich jedoch weiterentwickelt und ich habe auch festgestellt, dass externe USB-Festplatten ein hervorragendes Sicherungsmedium sind und ein Skript die Sicherung mehrerer Computer viel einfacher macht. Durch die Verwendung von Cron-Jobs oder systemd-Timern kann ich auch Backups planen.

Mein aktuelles Backup-System verwendet ein Bash-Skript, das rsync verwendet, um Backups von bis zu einem Dutzend Computer in meinem bestehenden Heimnetzwerk zu erstellen. Die Backups werden zunächst auf einer internen 4-TB-Festplatte erstellt und dann auf eine von mehreren externen 4-TB-USB-Festplatten geschrieben. Ich kann die externen Laufwerke einfach in mein Schließfach transportieren, um sie außerhalb des Standorts zu sichern. Einzelheiten zu diesem Backup-System können Sie in meinem Artikel „Using rsync to backup your Linux system“ nachlesen. Der Schlüssel ist, Ihren stärksten Schmerzpunkt zu finden und damit zu beginnen.

Meine Strategie

Ich habe wirklich nur eine Strategie, um zu bestimmen, was zuerst – oder als nächstes – automatisiert werden soll. Es geht einfach darum, die Aufgabe zu bestimmen, die mir im Moment die meisten Schmerzen bereitet. Dieser Schmerz könnte darin bestehen, viel Zeit damit zu verbringen, wiederholt dieselben Befehle einzugeben, darauf zu warten, dass etwas passiert, bevor der nächste Befehl eingegeben wird, sich an die richtige Syntax für Befehle zu erinnern, die ich häufig verwende, oder was auch immer.

Sie kennen wahrscheinlich bereits die Quelle der größten Schmerzen in Ihrem Sysadmin-Leben. Das ist das erste, was Sie über eine Automatisierung nachdenken sollten, besonders wenn es relativ klein und nicht so groß oder wichtig ist wie ein vollständiges, fortschrittliches Backup-System. Ich begann mit einem unkomplizierten Backup-System, das tar und einige lustige Funktionen von SSH verwendete, über die ich in Best Couple of 2015 geschrieben habe:tar und ssh.

Andere Schmerzpunkte waren für mich die Durchführung von Fedora-Updates, einschließlich Sicherheits- und Funktionskorrekturen sowie Funktionsverbesserungen. Dazu gehört auch das Durchführen von Upgrades von einer Fedora-Version zur nächsten, beispielsweise von Fedora 32 auf Fedora 33.

Unabhängig von der Aufgabenstellung gibt es zudem viele Möglichkeiten, Automatisierungen umzusetzen. Ein Teil meiner Strategie bestand darin, mit der Verwendung von Skripten zu beginnen, um die Lösungen und eventuell auftretende Probleme vollständig zu verstehen. Ich schreibe ein Skript, um ein Problem auf einem Host zu lösen, kopiere es auf alle Hosts im Netzwerk und tippe dann Bash-Befehlszeilenprogramme ein, um diese Aufgabe auf allen Hosts auszuführen. Dies hat die Form:

for host-name in `cat ~/list-of-hosts` ; do ssh host-name "script-name"; done

Aber selbst das wird mit genügend Hosts in genügend Netzwerken zu einer lästigen Pflicht und einem weiteren Schmerzpunkt. Es kann auch problematisch sein, wenn einige Hosts anders behandelt werden müssen als andere. Ich habe festgestellt, dass fortschrittlichere Tools wie Ansible Aufgaben über viele Hosts in einem Netzwerk automatisieren können, während sie bestimmte Typen wie Server anders behandeln als Standard-Workstations. Ansible erfordert nicht die Verteilung von Skripten auf jeden Host, um seine Arbeit auszuführen; Es muss nicht einmal auf jedem Host installiert werden – nur auf dem System, das als "Hub" verwendet wird.

Der PHB-Schmerzpunkt

Wir alle hatten Pointy-Haired-Bosses (PHBs), und manchmal sind sie der Schmerzpunkt. Angenommen, ein PHB fragt nach einer Liste aller RPMs auf einem bestimmten Linux-Computer und einer kurzen Beschreibung von jedem. Das ist mir passiert, als ich im Bundesstaat North Carolina gearbeitet habe. Open Source war zu diesem Zeitpunkt nicht für die Verwendung durch staatliche Stellen "genehmigt" und ich habe Linux nur auf meinem Desktop-Computer verwendet. Die PHBs benötigten eine Liste mit jeder auf meinem System installierten Software, damit sie eine Ausnahme „genehmigen“ konnten.

Ich brauchte ungefähr fünf Minuten, um ein schnelles Skript zu schreiben, das in Zukunft so oft ausgeführt werden könnte, wie sie mir dieselbe Frage stellten. Es listete die auf meinem Host installierten RPM-Pakete auf und extrahierte die Beschreibung aus jedem Paket. Dieses Skript erstellte eine Liste mit über 1.900 Paketen mit jeweils einer kurzen Beschreibung. Ich habe diese Liste an den PHB geschickt, der sie angefordert hatte, und nie wieder etwas davon gehört – nie wieder.

Manchmal lässt sich der Schmerzpunkt einfach – und schnell – lösen. Aber die PHBs erfordern normalerweise sofortige Aufmerksamkeit.

[ Suchen Sie nach mehr Informationen zur Systemautomatisierung? Beginnen Sie mit The Automated Enterprise, einem kostenlosen Buch von Red Hat. ] 

Abschließende Gedanken

Ich begann damit, ein einfaches Automatisierungsskript zu erstellen, um die Aufgabe anzugehen, die mir am meisten Schmerzen bereitete. Ich ging dann weiter zum nächsten Schmerzpunkt und so weiter. Irgendwann kehren diese ursprünglichen Schmerzpunkte zurück und müssen mit fortschrittlicheren Tools wie Ansible verfeinert werden. Dies ist ein iterativer Prozess, der niemals enden wird.


Linux
  1. 10 Ansible-Module für die Linux-Systemautomatisierung

  2. So ändern Sie den Hostnamen unter Linux

  3. 8 Tipps für eine zuverlässige Linux-Systemautomatisierung

  4. „shutdown“-Befehlsbeispiele in Linux

  5. resize2fs-Befehlsbeispiele in Linux

Ist Linux ein Betriebssystem oder ein Kernel?

Sichern eines geerbten Linux-Systems

Die Einführung eines Linux-Systemadministrators in cgroups

Dokumentieren der Systemverfügbarkeit in Linux

Stacer Linux-Systemoptimierer und -überwachung

So listen Sie Dienste unter Linux auf