Pular para o conteúdo principal

Como enviar um ponto de restauração a partir de uma cadeia

Quando usar​

Quando uma VM precisa ser restaurada a partir de um backup: os dados fluem de volta do cluster de armazenamento de backup para o cluster onde a VM será executada. Neste procedimento, o cluster de armazenamento de backup é o remetente, e a sua tarefa é obter um ponto histórico da cadeia e enviá-lo ao receptor especificado.

A ordem é o inverso da habitual: primeiro o receptor, depois o remetente. O cluster de restauração abre um receptor do seu lado e retorna os dados de conexão do seu nó. Só então o cluster de armazenamento de backup inicia a transferência. A transferência é assíncrona: o cluster confirma o repasse imediatamente, e o resultado da transferência chega em um callback.

A interface web do cluster não tem telas para cadeias: quem faz a chamada — GI ou o seu próprio agendador de restaurações — inicia a transferência. As operações na própria cadeia — criação, recepção de fluxo e rotação — são descritas em Como gerenciar cadeias de backup.

Pré-requisitos​

  • privilégio 14002 (gerenciamento de cadeias de backup) no cluster de armazenamento de backup;
  • feature.backup em cluster.options do cluster de armazenamento de backup é 1; quando é 0, a transferência retorna -25420;
  • versão do vStack Center — 3.0.5;
  • a cadeia existe e o seu nó proprietário está ativo;
  • os dados de conexão do receptor são conhecidos — o endereço do nó e a porta retornados pelo cluster de restauração quando abriu o seu receptor;
  • o nome curto do ponto de restauração a ser enviado é conhecido.

Etapas​

Etapa 1. Obter os dados de conexão do receptor​

Quem abre o receptor é o cluster de restauração, e não o cluster de armazenamento de backup. Obtenha o endereço e a porta do nó receptor a partir da sua resposta: eles se tornam os parâmetros da transferência. Iniciar uma transferência antes de o receptor estar aberto é inútil — o fluxo não tem onde se conectar.

Etapa 2. Identificar o ponto de restauração​

Especifique o nome curto do snapshot — o sufixo após @, sem o caminho da cadeia. O nome deve ter de 1 a 128 caracteres e ser composto por letras latinas, dígitos e os símbolos _, ., -. O cluster rejeita espaços, caracteres cirílicos, barras e @ dentro do nome com o código -25430. Uma transferência envia um ponto existente e não cria um novo snapshot: o que não existe na cadeia não pode ser transferido.

O subsistema não fornece uma lista dos pontos dentro de uma cadeia, então mantenha os seus nomes no seu próprio catálogo junto com o caminho da cadeia retornado na criação.

Etapa 3. Iniciar a transferência​

Inicie a transferência no cluster de armazenamento de backup. Especifique o caminho completo da cadeia, o nome curto do ponto de restauração e os dados de conexão do receptor — o endereço do seu nó e a porta.

O tempo limite opcional em segundos limita o tempo para estabelecer a conexão TCP com o receptor, e não a duração da transferência. As transferências incrementais estão reservadas e não funcionam na versão atual: as transferências são sempre completas.

A resposta chega imediatamente — é uma confirmação de repasse: a requisição foi enviada ao nó proprietário do pool. Nenhum dado foi transferido neste momento.

Etapa 4. Aguardar o resultado​

O resultado da transferência chega em um callback do nó, com o mesmo identificador da requisição. O subsistema não tem nenhuma operação que retorne o status da transferência sob demanda, então o callback é a única fonte do resultado. Associe-o à requisição pelo identificador e não trate a confirmação de repasse como sucesso.

Verificar o resultado​

O sucesso é confirmado dos dois lados. Do lado do cluster de armazenamento de backup — pelo callback com o resultado da transferência. Do lado do cluster de restauração — pelo estado do receptor que ele abriu: é ali que os dados chegam e a partir dali que a VM é implantada.

O estado da cadeia não muda após a transferência: o ponto permanece no lugar, e nenhum novo snapshot é criado. O mesmo ponto pode ser enviado novamente para um novo receptor.

Solução de problemas​

-25420, o subsistema de backup está desativado. O feature.backup do cluster de armazenamento de backup em cluster.options é 0. A verificação ocorre antes do repasse, então não haverá nenhum callback. Solução alternativa — ative o subsistema no cluster que envia os dados.

-25430, caminho de cadeia ou nome de snapshot inválido. O caminho especificado não está no formato <pool>/.backup/<leaf>, ou o nome do ponto de restauração contém caracteres fora do conjunto "letras latinas, dígitos, _, ., -". O cluster repassa aos nós apenas caminhos dentro de .backup, então as tentativas de transferir um dataset de VM por meio dessa operação são rejeitadas. Solução alternativa — use o caminho completo exatamente como retornado na criação da cadeia e obtenha o nome do ponto do seu catálogo.

-25434, o pool da cadeia está indisponível. O nó proprietário do pool não está respondendo, então não há nó para enviar o fluxo. Os dados estão intactos. Solução alternativa — coloque o nó de volta em serviço; o subsistema não pode mover a cadeia para outro pool.

-25436, a operação de cadeia falhou. Um código de falha genérico. Ele abrange diferentes causas, que não podem ser distinguidas pelo código. Solução alternativa — tente a transferência novamente; se a falha persistir, verifique o nó proprietário do pool e a disponibilidade do receptor no endereço e porta especificados.

Só chegou a confirmação de repasse, e nada depois. A resposta a uma transferência assíncrona não é o resultado. Se nenhum callback chegar por muito tempo, verifique se o receptor está aberto e não foi fechado porque o seu tempo limite de espera por conexão expirou: nesse caso, abra o receptor novamente e reinicie a transferência.

O nome do ponto está incorreto. Não há como verificá-lo com antecedência — o subsistema não tem como listar os snapshots da cadeia. O erro só fica evidente no resultado da transferência. Solução alternativa — mantenha um catálogo de pontos do seu lado e passe o nome a partir dele, em vez de digitá-lo manualmente.

Veja também​

Métodos da API​

Operações de API abordadas nesta página: backup-dataset-send, vm-backup-restore — consulte a referência da API.