Vergleich der Betriebssystemkonfiguration von zwei RHEL-Servern


7

Wie lässt sich die Betriebssystemkonfiguration von zwei (oder mehr) RHEL 5.X-Servern am besten vergleichen? Gibt es dafür Tools / Pakete? Hinweis: Ich suche hauptsächlich nach abstimmbaren Betriebssystemen (Kernel-Parameter usw.).

Ich möchte den Grund hinzufügen, warum wir dies tun möchten:

  1. Wir haben einen großen zLinux-Footprint und möchten unseren 'Standard-Build' mit dem einer von einem Anbieter bereitgestellten Distribution vergleichen. zLinux ist eine spezialisierte Architektur und hat häufig andere empfohlene Einstellungen als x86_64.

  2. Wenn wir einen hochverfügbaren Servercluster haben, um zu vergleichen / sicherzustellen, dass die Betriebssystemkonfigurationen zwischen ihnen konsistent sind.

Hinweis: Ich suche keine zentralisierte Lösung wie Marionette oder Koch. Ich bin damit einverstanden, dass dies die optimalen Lösungen sind, die definitiv auf der Roadmap stehen, aber nicht das, wonach ich gerade suche :)


Ich möchte den Grund hinzufügen, warum wir dies tun wollen:
Patrick

Antworten:


1

Es ist nicht vollständig, aber die Drehzahl kann einen guten Start bieten. Sie können die Liste der installierten Pakete abrufen:

rpm -qa > pkgs.txt

Mit Standard-UNIX-Tools wie wc und cmp können Sie feststellen, welche Pakete sich auf den beiden Computern befinden / nicht befinden.

Danach können Sie mit der Option --verify prüfen, ob sich die Konfigurationsdateien unterscheiden:

U / min - überprüfen cat pkgs.txt

Siehe die rpm Manpage für Informationen über die Informationen , die von der --verify Flagge berichten.


Danke für deine Antwort! Wir machen uns nicht so viele Sorgen um Pakete (obwohl das sicherlich wichtig ist), sondern uns mehr um die Tunables in dieser speziellen Umgebung.
Patrick

1

Der beste Weg ist eine zentralisierte Lösung, da "die Betriebssystemkonfiguration" nicht existiert. Linux kennt keine Registrierung, daher ist die Konfiguration über das gesamte Dateisystem verteilt. Das macht es ziemlich schwierig, das zu tun, was Sie wollen.

Sie können jedoch einfach das Verzeichnis /etcaller Server an einen Ort kopieren und dann mit ihnen vergleichendiff -uNr

Das sollte Ihnen 90% der Konfiguration geben, aber Sie werden auch viele falsche Negative erhalten.


Genau. Zentral ist die beste Lösung. In diesem Fall haben wir jedoch einen "Standard-Build", sodass wir etwas zu vergleichen haben.
Patrick

1

Hängen Sie die Betriebssystem-Root-Partitionen in / mnt / osA und / mnt / osB ein

diff -rq /mnt/osA /mnt/osB würde Ihnen eine Ausgabe ähnlich der von Solaris geben lucompare

Sie können dann die betreffenden Dateien wie sysctl.conf, httpd.conf usw. genauer unterscheiden.

Und wie könnte ich Blueprint vergessen ! Mit Blueprint können Sie gegen ein System laufen und ein Rezept erhalten, das zeigt, was sich gegenüber der Standardinstallation geändert hat.


Ich kannte Blueprint nicht, ziemlich interessante Sache. Werde es in naher Zukunft
ausprobieren

0

Wenn Ihre Programme und Tools nicht dem vorgeschlagenen Verzeichnislayout entsprechen und die gesamte Konfiguration endet /etc, gibt es keine einfache Möglichkeit, die Installation Ihres Betriebssystems zu "unterscheiden".


Wir machen uns nicht so viele Sorgen um Programme, sondern nur um die Installation eines Vanilla-Betriebssystems.
Patrick

0

sysctl kann dein Freund sein. Etwas in der Art von:

for host in foo.example.com bar.example.com ; do
  ssh root@$host sysctl -a > $host.conf
done

Und dann diff. :) :)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.