Überblick
Der SnapCenter Server ermöglicht die Implementierung und das Management von Applikationen als Plug-ins für SnapCenter. Anwendungen Ihrer Wahl können zur Datensicherung und an den SnapCenter-Server angeschlossen werden Managementfunktionen:
Mit SnapCenter können Sie benutzerdefinierte Plug-ins mit unterschiedlichen Programmiersprachen entwickeln. Das können Sie Entwickeln Sie ein benutzerdefiniertes Plug-in mit Perl, Java, BATCH oder anderen Skriptsprachen.
Um benutzerdefinierte Plug-ins in SnapCenter zu verwenden, müssen Sie die folgenden Aufgaben ausführen:
-
Erstellen Sie ein Plug-in für Ihre Anwendung mithilfe der Anweisungen in diesem Handbuch
-
Erstellen Sie eine Beschreibungsdatei
-
Exportieren Sie das benutzerdefinierte Plug-in, um es auf dem SnapCenter-Host zu installieren
-
Laden Sie die Plug-in-ZIP-Datei auf den SnapCenter-Server hoch
Allgemeine Plug-in-Bearbeitung bei allen API-Aufrufen
Verwenden Sie für jeden API-Aufruf die folgenden Informationen:
-
Plug-in-Parameter
-
Exit-Codes
-
Fehlermeldungen protokollieren
-
Datenkonsistenz
Verwenden Sie Plug-in-Parameter
Bei jedem API-Aufruf wird eine Reihe von Parametern an das Plug-in übergeben. In der folgenden Tabelle sind die spezifischen Informationen für die Parameter aufgeführt.
Parameter | Zweck |
---|---|
AKTION |
Legt den Workflow-Namen fest. Beispielsweise Discover, Backup, fileOrVolRestore oder KlonVolAndLun |
RESSOURCEN |
Listet Ressourcen auf, die geschützt werden sollen. Eine Ressource wird durch UID und Typ identifiziert. Die Liste wird dem Plug-in im folgenden Format angezeigt: „<UID>,<TYPE>;<UID>,<TYPE>“. Beispiel: „Instance1,Instance;Instance2\\DB1,Database“ |
APP_NAME |
Bestimmt, welches Plug-in verwendet wird. Zum Beispiel DB2, MYSQL. SnapCenter Server bietet integrierte Unterstützung für die aufgeführten Applikationen. Bei diesem Parameter wird die Groß-/Kleinschreibung beachtet. |
APP_IGNORE_ERROR |
(J oder N) Dies führt dazu, dass SnapCenter beendet wird oder nicht beendet wird, wenn ein Anwendungsfehler auftritt. Dies ist nützlich, wenn Sie mehrere Datenbanken sichern und nicht möchten, dass ein einziger Fehler auftritt Stoppen Sie den Sicherungsvorgang. |
<RESOURCE_NAME>__APP_INSTANCE_USERNAME |
SnapCenter-Anmeldeinformationen für die Ressource festgelegt. |
<RESOURCE_NAME>_APP_INSTANCE_PASSWORD |
SnapCenter-Anmeldeinformationen für die Ressource festgelegt. |
<RESOURCE_NAME>_<CUSTOM_PARAM> |
Jeder benutzerdefinierte Schlüsselwert auf Ressourcenebene ist Verfügbar für Plug-ins, die mit dem Präfix vorangestellt sind „<RESOURCE_NAME>_“. Beispiel: Wenn ein Benutzerdefinierter Schlüssel ist „MASTER_SLAVE“ für eine Ressource Genannt „MySQLDB“, dann wird es als verfügbar sein MySQLDB_MASTER_SLAVE |
Exit-Codes verwenden
Das Plug-in gibt den Status des Vorgangs über Exit-Codes zurück an den Host. Beide Code hat eine bestimmte Bedeutung, und das Plug-in verwendet den rechten Exit-Code, um dasselbe anzuzeigen.
Die folgende Tabelle zeigt Fehlercodes und deren Bedeutung.
Beenden Sie den Code | Zweck |
---|---|
0 |
Erfolgreicher Betrieb. |
99 |
Der angeforderte Vorgang wird nicht unterstützt oder implementiert. |
100 |
Fehlgeschlagener Vorgang, unquiesce überspringen und beenden. Deaktivieren ist standardmäßig. |
101 |
Fehlgeschlagener Vorgang; fahren Sie mit dem Backup-Vorgang fort. |
Andere |
Vorgang fehlgeschlagen, Ausführung unquiesce und Beenden. |
Fehlermeldungen protokollieren
Die Fehlermeldungen werden vom Plug-in an den SnapCenter-Server übergeben. Die Nachricht Enthält die Meldung, Protokollebene und Zeitstempel.
In der folgenden Tabelle sind die Ebenen und ihre Zwecke aufgeführt.
Parameter | Zweck |
---|---|
INFO |
Informationsmeldung |
WARNEN |
Warnmeldung |
FEHLER |
Fehlermeldung |
DEBUGGEN |
Debug-Nachricht |
VERFOLGEN |
Trace-Nachricht |
Wahrung der Datenkonsistenz
Benutzerdefinierte Plug-ins bewahren Daten zwischen Operationen derselben Workflow-Ausführung auf. Für Ein Plug-in kann beispielsweise Daten am Ende der Stilllegung speichern, die dann bei der Stilllegung verwendet werden kann Betrieb.
Die zu haltenden Daten werden als Teil des Ergebnisobjekts durch Plug-in festgelegt. Es folgt einem bestimmten Format Und wird im Detail unter jeder Art von Plug-in-Entwicklung beschrieben.