Estilo de NATIVE
O SnapCenter suporta linguagens de programação ou script não-PERL para criar plug-ins. Isso é conhecido como programação de estilo NATIVO, que pode ser script ou arquivo EM LOTE.
Os plug-ins de estilo NATIVO devem seguir certas convenções fornecidas abaixo:
O plug-in deve ser executável
-
Para sistemas Unix, o usuário que executa o agente deve ter executado o Privileges no plug-in
-
Para sistemas Windows, os plug-ins do PowerShell devem ter o sufixo .ps1, outros scripts do Windows devem ter o sufixo .cmd ou .bat e devem ser executáveis pelo usuário
-
Os plug-ins devem reagir ao argumento de linha de comando como "-quiesce", "-unquiesce"
-
Os plug-ins devem retornar o código de saída 99 caso uma operação ou função não seja implementada
-
Os plug-ins devem usar uma sintaxe específica para passar os resultados de volta ao servidor
Manuseamento geral do plug-in
Registar mensagens de erro
Cada operação pode enviar mensagens de volta para o servidor, que exibe e armazena o conteúdo. Uma mensagem contém o nível da mensagem, um carimbo de data/hora e um texto da mensagem. As mensagens multilinha são suportadas.
Formato:
SC_MSG#<level>#<timestamp>#<message> SC_MESSAGE#<level>#<timestamp>#<message>
Usando stubs plug-in
Os plug-ins do SnapCenter devem implementar stubs de plug-in. Estes são métodos que o servidor SnapCenter chama com base em um fluxo de trabalho específico.
Encaixe de encaixe | Opcional/obrigatório | Finalidade |
---|---|---|
quiesce |
obrigatório |
Este esboço é responsável por realizar um quiesce. Ele coloca o aplicativo em um estado onde podemos criar um Snapshot. Isso é chamado antes da operação Snapshot do armazenamento. |
unquiesce |
obrigatório |
Este esboço é responsável por realizar um esboço. Ele coloca a aplicação em um estado normal. Isso é chamado após a operação Snapshot do armazenamento. |
clone_pre |
opcional |
Este esboço é responsável por executar tarefas de pré-clone. Isso pressupõe que você está usando a interface de clonagem SnapCenter integrada e também é acionado apenas durante a execução da ação "clone_vol ou clone_lun". |
clone_post |
Opcional |
Este esboço é responsável por executar tarefas pós-clone. Isso pressupõe que você esteja usando a interface de clonagem SnapCenter integrada e também é acionado apenas durante a execução de operações "clone_vol ou clone_lun". |
restore_pre |
Opcional |
Este esboço é responsável por executar tarefas de pré-restauração. Isso pressupõe que você esteja usando a interface de restauração do SnapCenter integrada e só é acionado durante a operação de restauração. |
restaurar |
opcional |
Este esboço é responsável por executar todas as ações de restauração. Isso pressupõe que você não está usando a interface de restauração interna. Ele é acionado durante a execução da operação de restauração. |
Exemplos
Windows PowerShell
Verifique se o script pode ser executado em seu sistema. Se você não puder executar o script, defina o desvio Set-ExecutionPolicy para o script e tente novamente a operação.
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;