ereinigen alter Daten aus der von VMware vCenter Server verwendeten Datenbank
search cancel

ereinigen alter Daten aus der von VMware vCenter Server verwendeten Datenbank

book

Article ID: 343830

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

VMware vCenter Server speichert Leistungsdaten in der vCenter Server-Datenbank. Mit der Zeit führt die Datenerfassung zum Anwachsen der Datenbankdateien, und es wird ein Mechanismus zum Verkleinern dieser Dateien benötigt. Weitere Informationen zum Verkleinern von Datenbanken finden Sie unter:
VMware vCenter Server enthält eine Einstellung für die Datenbankaufbewahrungsrichtlinie, mit der Sie angeben können, wann vCenter Server-Aufgaben und -Ereignisse gelöscht werden sollen. Da sich diese Einstellung nicht auf Leistungsdatensätze auswirkt, können dennoch alte Datensätze aus der Datenbank bereinigt oder verkleinert werden. Verwenden Sie dazu die an diesen Artikel angehängten Skripts.

Um auf die Einstellung Datenbankaufbewahrungsrichtlinie in vSphere Client zuzugreifen, klicken Sie auf Verwaltung>vCenter Server Einstellungen>Datenbankaufbewahrungsrichtlinie.

Die an diesen Artikel angehängten Skripts unterstützen das Bereinigen der Leistungsdaten aus vCenter Server.

Vorsicht: Führen Sie die an diesen Artikel angehängten Skripts nicht für eine VirtualCenter2.x-Datenbank aus.

Hinweis: SQL Express 2005/2008 (vCenter Server5.x ist im Paket mit SQL Express2008 enthalten) unterstützt maximal 5Hosts und 50virtuelle Maschinen. Wenn Ihre Umgebung diese Schwellenwerte überschreitet, müssen Sie Ihre Datenbank auf die SQL Standard-Edition aktualisieren.


Symptoms:
Haftungsausschluss: Dieser Artikel ist eine Übersetzung des zugrunde liegenden Artikels Purging old data from the database used by VMware vCenter Server (1025914). Die Übersetzung des Artikels erfolgt auf einer Minimalbasis („Best Effort“), übersetzter Inhalt der Artikel kann veraltet oder inkorrekt sein. Schadenersatzansprüche sind vollständig ausgeschlossen.

  • Der VMware VirtualCenter Server-Dienst startet und schlägt dann fehl
  • Die Transaktionprotokolle funktionieren korrekt
  • Sie stellen ein zu starkes Anwachsen derVPX_EVENT-Tabelle fest
  • Sie sehen die folgende Fehlermeldung im Microsoft SQL-Ereignisprotokoll:

    Could not allocate space for object 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME' in database 'VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

  • Der Bericht Festplattennutzung nach Tabellen zeigt, dass die TabellenVPX_EVENTundVPX_EVENT_ARGden maximalen Speicherplatz belegen.
  • Das Problem kann mit den folgenden Schritten zur Fehlerbehebung nicht behoben werden:
    • Bereinigen der alten Daten
    • Kürzen von Tabellen
    • Verkleinern der Protokolle und Datenbanken
    • Neuerstellen von Summierungs-Jobs


Environment

VMware vCenter Server 5.1.x
VMware vCenter Server 6.0.x
VMware vCenter Server 4.1.x
VMware vCenter Server 4.0.x
VMware vCenter Server 5.0.x
VMware vCenter Server 5.5.x

Resolution

Vorsicht: Die an diesen Artikel angehängten Skripts sind für die Ausführung durch Datenbankadministratoren (DBAs) vorgesehen, die Erfahrung mit der Verwendung von Datenbank-Clienttools zur Ausführung von SQL-Befehlen haben. Der Zweck der Skripts besteht im Löschen von Daten. VMware empfiehlt dringend, den VirtualCenter Server-Dienst anzuhalten und eine vollständige und zuverlässige Sicherung der Datenbank vorzunehmen, bevor Sie diesen Prozess ausführen.

Hinweise:
Diese Skripts löschen Zeilen in Batches aus zugewiesenen Tabellen in der vCenter Server-Datenbank. Standardmäßig wird jedoch nur über die Anzahl der gelöschten Zeilen berichtet. Um tatsächlich Daten zu löschen, muss ein Konfigurationsparameter im Skript geändert werden. Dies ist eine Sicherheitsmaßnahme. In den Kommentaren im Kopfteil des Skripts finden Sie weitere Einzelheiten hierzu. Es werden Diagnosemeldungen ausgegeben, die die Vorgänge zusammenfassen.

Während dieses Verfahrens kann das Datenbanktransaktionsprotokoll gefüllt werden, wenn nicht genügend Festplattenspeicher vorhanden ist. Wenn für SQLServer nicht der erforderliche Festplattenspeicher verfügbar gemacht werden kann, besteht eine Option darin, für die Dauer dieses Vorgangs das einfache Wiederherstellungsmodell für die Datenbank zu verwenden.

Warnung: Der VirtualCenter Server-Dienst muss angehalten sein, während das Skript ausgeführt wird. Weitere Informationen finden Sie unter Stopping, starting, or restarting vCenter services (1003895).

Hinweise:
  • Wenn die Datenbank sehr groß ist, kann die Ausführung dieses Skripts sehr lange dauern. Führen Sie das Skript inkrementell aus, indem Sie den standardmäßigen Aufbewahrungszeitraum von 180Tagen, also 6Monaten, ändern. Angenommen, es liegen die Daten eines Jahres (365Tage) vor. Dann können Sie beispielsweise auf einen Wert von 330 erhöhen, womit nur die Daten etwa eines Monats bereinigt werden. Führen Sie dann das Skript mit einem Aufbewahrungszeitraum von 300Tagen aus, um einen weiteren Monat Daten zu löschen.
  • Wenn das Skript wegen zu wenig verfügbarem Datenbankspeicher nicht ausgeführt werden kann, müssen Sie möglicherweise die Leistungsdaten kürzen. Wenn Sie alle Leistungsdaten kürzen statt bereinigen möchten, finden Sie weitere Informationen unter Reducing the size of the vCenter Server database when the rollup scripts take a long time to run (1007453).
  • Wenn die Datenbank in SQLExpress einen Grenzwert von 4GB erreicht hat, die Datenbank fehlerhaft ist oder wenn vCenter Server aus irgend einem Grund nicht verfügbar ist, bereinigen Sie die Tabelleneventundevent_arg, indem Sie entweder manuell die Datenbankaufbewahrungsrichtlinie in der Datenbank mit SQLStudio aktivieren oder indem Sie die gespeicherte Prozedur zum Bereinigen der Daten aus diesen Tabellen ausführen.
  • Die vCenter Server-Datenbank hat in der Regel den NamenVIM_VCDB, sofern sie nicht bei der anfänglichen Erstellung umbenannt wurde.
So bereinigen Sie die Daten in der TabelleVPX_EVENT:
  1. Stellen Sie eine Verbindung zuServername\SQL Databaseher und melden Sie sich mit den entsprechenden Anmeldedaten an.
  2. Klicken Sie auf Datenbanken, um sie zu erweitern, und wählen Sie VIM_VCDB>Tabellen.
  3. Klicken Sie mit der rechten Maustaste auf die Tabelledbo.VPX_PARAMETERund wählen Sie Öffnen.

    Hinweis: Wenn Sie SQL Server2008 verwenden, klicken Sie mit der rechten Maustaste auf die Tabelledbo.VPX_PARAMETERund klicken Sie auf Oberste 200 Zeilen bearbeiten.

  4. Ändern Sieevent.maxAgein30, und ändern Sie den Wertevent.maxAgeEnabledintrue.
  5. Ändern Sietask.maxAgein30, und ändern Sie den Werttask.maxAgeEnabledintrue.

    Hinweis:Um die Datenbereinigung zu beschleunigen, führen Sie die obigen Schritte in mehreren Intervallen aus. Behalten Sie hierfür den Standardwert fürevent.maxAgeundtask.maxAgebei und führen Sie Schritt6 aus, um die Bereinigung vorzunehmen.Reduzieren Sie dann den Wert vonevent.maxAgeundtask.maxAgeum 60 und führen Sie die Bereinigung aus. Wiederholen Sie die Schritte, bis der Wert von 30 für den letzten Bereinigungsvorgang erreicht ist.

  6. Führen Sie die integrierte gespeicherte Prozedur aus:

    1. Navigieren Sie zu VIM_VCDB>Programmierbarkeit>Gespeicherte Prozeduren.
    2. Klicken Sie mit der rechten Maustaste auf dbo.cleanup_events_tasks_proc und wählen Sie Gespeicherte Prozedur ausführen.

      Dadurch werden die Daten aus den Tabellenvpx_event, vpx_event_argundvpx_taskbasierend auf dem für maxAge angegebenen Datum bereinigt.

    3. Wenn dieser Vorgang erfolgreich beendet wurde, schließen Sie SQL Management Studio und starten Sie den VMware Virtual Center Server-Dienst.
So stellen Sie sicher, dass die standardmäßige Statistikebene auf 1 festgelegt ist:
  1. Verwenden Sie vSphere Client, um sich bei vCenter Server als Administrator anzumelden.
  2. Navigieren Sie zu Verwaltung>vCenter Server Einstellungen>Statistik.
  3. Vergewissern Sie sich unter Statistikintervalle,dass die Spalte „Statistikebene“ auf1festgelegt ist.
  4. Um den Wert zu ändern, wählen Sie Intervalldauer, klicken auf Bearbeiten und wählen Ebene 1 aus der Dropdown-Liste aus.
Hinweise:
  • Die Ausführung von dbo.cleanup_events_tasks_proc kann je nach Datenbankgröße sehr lange dauern.
  • Der Vorgang kann fehlschlagen, wenn die Transaktionsprotokolle aufgrund der zu bereinigenden Daten in zahlreichen Intervallen gefüllt werden. Sie müssen bei Bedarf die Transaktionsprotokolle verkleinern und dbo.cleanup_events_tasks_proc erneut ausführen.


Additional Information

Weitere Informationen zu den folgenden Elementen finden Sie in der nachstehenden Dokumentation:

Hinweis: Wenn die vCenter-Datenbank bereinigt wurde, können Sie eine Leistungsverbesserung des mit vCenter Server verbundenen vSphere Client feststellen.Purging old data from the database used by vCenter Server