NATIVER Stil
SnapCenter unterstützt zur Erstellung von Plug-ins nicht-PERL-Programmierung oder Skriptsprachen. Dies wird als NATIVE Stil-Programmierung bekannt, die Skript- oder BATCH-Datei sein kann.
Die Plug-ins IM NATIVEN Stil müssen den folgenden Konventionen entsprechen:
Das Plug-in muss ausführbar sein
-
Bei Unix-Systemen muss der Benutzer, der den Agenten ausführt, über Ausführungsberechtigungen auf dem Plug-in verfügen
-
Bei Windows-Systemen müssen PowerShell-Plug-ins das Suffix .ps1 aufweisen, andere Windows-Skripte müssen entweder über ein Suffix .cmd oder .bat verfügen und müssen vom Benutzer ausführbar sein
-
Die Plug-ins müssen auf Befehlszeilenargumente wie „-quiesce“, „-unquiesce“ reagieren
-
Die Plug-ins müssen Exit Code 99 zurückgeben, falls keine Operation oder Funktion implementiert ist
-
Die Plug-ins müssen eine bestimmte Syntax verwenden, um Ergebnisse an den Server weiterzuleiten
Allgemeine Plug-in-Handhabung
Protokollieren von Fehlermeldungen
Jeder Vorgang kann Nachrichten an den Server senden, der den Inhalt anzeigt und speichert. Eine Nachricht enthält die Nachrichtenebene, einen Zeitstempel und einen Nachrichtentext. Mehrzeilare Nachrichten werden unterstützt.
Format:
SC_MSG#<level>#<timestamp>#<message> SC_MESSAGE#<level>#<timestamp>#<message>
Verwendung von Plug-in-Stiften
SnapCenter-Plug-ins müssen Plug-in-Stiche implementieren. Hierbei handelt es sich um Methoden, die der SnapCenter-Server basierend auf einem bestimmten Workflow aufruft.
Steckschraube | Optional/Erforderlich | Zweck |
---|---|---|
Stilllegen |
Erforderlich |
Diese Stub ist für die Durchführung eines Stilllegeses verantwortlich. Die Applikation wird in den Status versetzt, in dem wir einen Snapshot erstellen können. Dies wird vor dem Storage Snapshot-Vorgang aufgerufen. |
Unquiesce |
Erforderlich |
Diese Stub ist für die Durchführung eines Unstillzulegen verantwortlich. Die Anwendung wird in den normalen Zustand versetzt. Dies wird nach dem Storage Snapshot-Vorgang aufgerufen. |
Clone_Pre |
Optional |
Diese Stub ist für die Durchführung von Aufgaben vor dem Klonen verantwortlich. Angenommen, Sie verwenden die integrierte SnapCenter Klonschnittstelle und wird auch nur ausgelöst, wenn Sie die Aktion „Clone_vol oder Clone_lun“ ausführen. |
Clone_Post |
Optional |
Diese Stub ist für das Durchführen von Aufgaben nach dem Klonen verantwortlich. Angenommen, Sie verwenden die integrierte SnapCenter Klonschnittstelle und wird auch nur ausgelöst, wenn Sie „Clone_vol oder Clone_lun“ Vorgänge ausführen. |
Wiederherstellen_Pre |
Optional |
Diese Stub ist für die Durchführung von Aufgaben vor der Wiederherstellung verantwortlich. Angenommen, Sie verwenden die integrierte SnapCenter Restore-Schnittstelle und wird nur während des Restore-Vorgangs ausgelöst. |
Wiederherstellen |
Optional |
Diese Stub ist für alle Wiederherstellungsmaßnahmen verantwortlich. Dies setzt voraus, dass Sie keine integrierte Wiederherstellungsschnittstelle verwenden. Sie wird während des Wiederherstellungsvorgangs ausgelöst. |
Beispiele
Windows PowerShell
Überprüfen Sie, ob das Skript auf Ihrem System ausgeführt werden kann. Wenn Sie das Skript nicht ausführen können, setzen Sie Set-ExecutionPolicy Bypass für das Skript ein, und wiederholen Sie den Vorgang.
if ($args.length -ne 1) { write-warning "You must specify a method"; break; } function log ($level, $message) { $d = get-date echo "SC_MSG#$level#$d#$message" } function quiesce { $app_name = (get-item env:APP_NAME).value log "INFO" "Quiescing application using script $app_name"; log "INFO" "Quiescing application finished successfully" } function unquiesce { $app_name = (get-item env:APP_NAME).value log "INFO" "Unquiescing application using script $app_name"; log "INFO" "Unquiescing application finished successfully" } switch ($args[0]) { "-quiesce" { quiesce; } "-unquiesce" { unquiesce; } default { write-error "Function $args[0] is not implemented"; exit 99; } } exit 0;