Mit der PDSh arbeiten: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 52: | Zeile 52: | ||
==Host-Liste für die Managed PDSh== | ==Host-Liste für die Managed PDSh== | ||
:<code>mcedit /etc/pdsh/hosts</code> | |||
::Bitte achtet darauf, dass Ihr '''keine''' Leerzeile nach der letzten Zeile einbaut. Die PDSh würde versuchen diese zu lesen und dann einen Fehler verursachen. | ::Bitte achtet darauf, dass Ihr '''keine''' Leerzeile nach der letzten Zeile einbaut. Die PDSh würde versuchen diese zu lesen und dann einen Fehler verursachen. | ||
::Bei Löschungen von Managed Servern, diesen auch aus der Host-Liste löschen! | ::Bei Löschungen von Managed Servern, diesen auch aus der Host-Liste löschen! | ||
| Zeile 58: | Zeile 58: | ||
==Host-Liste für die Shared PDSh== | ==Host-Liste für die Shared PDSh== | ||
:alle shared Maschinen <code>mcedit /root/PDSH/hosts</code> | |||
:nur CentOS6 Maschinen <code>mcedit /root/PDSH/centos6</code> | |||
::beispielsweise bei cURL Updates | |||
Version vom 14. Juni 2019, 17:15 Uhr
Allgemeines
PDSh = Parallel Distributed Shell
"Pdsh ist ein effizienter, Multithreaded Remote-Shell-Client, der Befehle auf mehreren entfernten Hosts parallel ausführt."
einige sinnvolle PDSH-Befehle
- 1. Speicherplatz aller www´s auslesen
pdsh -w www[1-97].estugo.de "df -h | grep ploop"- 2. Speicherplatz aller www´s + Mädchenserver auslesen.
pdsh -w www[1-97].estugo.de "df -h | grep ploop" && pdsh -w 37.218.252.[113,114,160,199,207,208,209] "df -h | grep ploop"
- 3. Manchmal ist auf Servern z.B. ein Dienst oder ein Script nicht so eingerichtet, dass es bei einem Reboot automatisch geladen wird. Das kann man nachholen.
- 3.A. Auf einem CentOS6 Server würde man zum Beispiel den DrWeb Dienst mit folgenden zwei Befehlen zum "Autostart" hinzufügen.
pdsh -w www[1-69].estugo.de "chkconfig --add drwebd"- und darauf folgend
pdsh -w www[1-69].estugo.de "chkconfig drwebd on"
- 3.B. Auf einem CentOS7 Server sähe das ganze etwas anders aus:
pdsh -w www[70-97].estugo.de "systemctl enable drwebd"
Einsatz von Host-Listen um die PDSH-Befehle zu vereinfachen
Gerade bei unseren Managed Maschinen ist der PDSH-Befehl sehr lang und aufgrund der vielen unterschiedlichen IP-Adressen inzwischen sehr unübersichtlich.
Die PDSH kann daher auch so angepasst werden, dass man Host-Listen verwendet.
- 4. Der Befehl zum Auslesen der Speicherbelegung aller Shared Server (www+Mädchenserver aus Punkt 2.) ist dann wesentlich überschaubarer wie folgt
pdsh -w ^/root/PDSH/hosts "df -h | grep ploop"
Möglichkeit eigener Listen für z.B. ausschließlich CentOS6 Server
- 5. Möchte ich beispielsweise nur CentOS6 Server bearbeiten, so kann ich für diese Server eine eigene Liste anfertigen und diese im Befehl verwenden
pdsh -w ^/root/PDSH/centos6 "df -h | grep ploop"
Einsatz der Host-Listen: Auf der PDSH für unsere Managed Server
- Der PDSH-Befehl für die Managed schaut derzeit so aus
pdsh -w 128.127.67.[13,37,44,46-50,52,54,55,59-63,65,67-69,83,110-114,116-122,124,126,149,160,188],93.90.188.[15,16,27,29],195.110.43.[16,18-20,46,49,81,89,122,204,240],192.162.85.[97,146,204],192.162.84.[5,6,23,38,114,172],195.34.83.[120,123,160,216,218,223],89.22.104.[106,108,149,153,243,198],89.22.105.[61,149,129],89.22.106.8,89.22.107.[91,144,168,177,218,224,251],89.22.120.[128,138],89.22.121.[43,87] "date"- SCHLIMM!
- 6. Der gleiche Befehl bei Verwendung der Host-Liste sieht wie folgt aus
pdsh -w ^/etc/pdsh/hosts "date"
Pflege der Host-Listen
Damit nicht versehentlich in der falschen Liste gearbeitet wird, habe ich die Host-Listen auf der Shared PDSh, sowie auf der Managed PDSh in verschiedenen Verzeichnissen angelegt.
Host-Liste für die Managed PDSh
mcedit /etc/pdsh/hosts- Bitte achtet darauf, dass Ihr keine Leerzeile nach der letzten Zeile einbaut. Die PDSh würde versuchen diese zu lesen und dann einen Fehler verursachen.
- Bei Löschungen von Managed Servern, diesen auch aus der Host-Liste löschen!
- alle shared Maschinen
mcedit /root/PDSH/hosts - nur CentOS6 Maschinen
mcedit /root/PDSH/centos6- beispielsweise bei cURL Updates