Auch wenn auf der Packung "Cloud Computing" steht, steckt dahinter eigentlich Virtualisierungstechnologie mit cleveren Management-Funktionen. ADMIN 05/2010 ... (mehr)

Container oder System- und Paravirtualisierung

Die Art der Überwachung ist stark von der eingesetzten Virtualisierungslösung abhängig. Während containerbasierende Technologien wie Open VZ, Linux Vserver oder Solaris Zones geschlossene Laufzeitumgebungen ohne Start eines zusätzlichen Betriebssystemskerns darstellen, geben System- und Paravirtualisierung wie bei VMware, Xen oder KVM nur einen gewissen Ressourcenpool frei. Das Host-System muss sich dann selbst um deren Verwendung kümmern und steuert die bereitgestellten Ressourcen unabhängig von der Virtualisierungsumgebung. Dies lässt auch den großen Unterschied in möglichen Überwachungsszenarien erkennen. Während containertbasierende Lösungen meist homogene Systemumgebungen repräsentieren, sind auf Basis von Paravirtualisierung möglicherweise unterschiedliche Wirtsysteme vorzufinden.

Monitoring Open VZ und Solaris Zones

Open VZ kann auf Basis eines gepatchten Linux-Kernels weitere Container zur Verfügung stellen. Für jeden Container legt Open VZ eine entsprechende Struktur im Proc-Bereich des Linux-Systems an. Während es in früheren Versionen beschiedene Bereiche wie »/proc/user_beancounters« , »/proc/user_beancounters_sub« und »/proc/user_beancounters_debug« gab, finden sich diese in den aktuellen Versionen in einer hierarchischen Struktur wieder.

Geordnet nach UID des Containers sind alle Counter aufgelistet und lassen sich leicht mit Filesystem-Kommandos einsehen. Auf Basis des Beispiel-Plugins im Open-VZ-Wiki hat Robert Nelson »check_openvz« [9] entwickelt. Versehen mit Schwellwerten kann der Administrator die Überschreitung entsprechender Limits wie zum Beispiel »kmemsize« und »numproc« so überwachen und die Konfiguration an die tatsächlich benötigten Ressourcen angepassen. Solaris Zones können ergänzend zur Überwachung des gehosteten Betriebssystems nur mit Hilfe des »zoneadm« -Kommandos überwacht werden. Mit »check_zones« [10] ist ein Wrapper-Plugin verfügbar, das den Aufruf erleichtert und die Status der Zonen ausgibt. Eine interessante Alternative dazu stellt noch die Verwendung von »prtstat -Z« da ( Listing 1 ).

Listing 1

prstat

# prstat -Z
# PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
# 173 daemon     17M   11M sleep   59    0   3:18:42 0.2% rcapd/1
# 17676 apl    6916K 3468K cpu4    59    0   0:00:00 0.1% prstat/1
# ...
# ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE                        $
#      0       48  470M  482M   1.5%   4:05:57 0.0% global                      $
#      3       85 2295M 2369M   7.2%   0:36:36 0.0% refapp1                     $
#      6       74   13G 3273M    10%  16:51:18 0.0% refdb1                      $
# Total: 207 processes, 709 lwps, load averages: 0.05, 0.06, 0.11$

Damit kann der Administrator Informationen über CPU- und Memory-Verbrauch in den einzelnen virtuellen Maschinen global ermitteln, ein Zugriff auf die Zone selbst ist nicht zwingend notwendig. Die beiden Plugins [11] für CPU und Memory sind nur einfache Shell-Skripts, können aber auch mit Warnschwellen umgehen.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023