Failover de replicação
O failover alterna as funções de replicação. A réplica passa a ser a fonte de leitura/gravação, e a fonte original passa a ser somente de leitura, mantendo a disponibilidade dos dados durante interrupções no serviço.
Conceitos de failover de replicação
Ao criar um compartilhamento de arquivos réplica, a réplica obtém os dados do compartilhamento de arquivos de origem de acordo com uma programação de replicação. Os dados sobre o compartilhamento de arquivo de réplica são configurados para somente leitura. O failover alterna o relacionamento de replicação. O compartilhamento de arquivo de réplica somente leitura torna-se o compartilhamento de arquivo de origem de leitura/gravação e o compartilhamento original torna-se somente leitura. Agora é possível montar o compartilhamento de arquivo ativo e gerenciá-lo como um compartilhamento de arquivo regular
Ao iniciar um failover, é possível escolher o que acontecerá se a operação de failover falhar ou atingir o tempo limite.. O tempo limite padrão é de 5 minutos.
-
Se você decidir manter o relacionamento de replicação, o sistema "retrocede" para o compartilhamento de origem. Mesmo que a operação tenha falhado, o sistema tenta replicar os dados novamente no próximo horário programado. Essa opção pode ser usada quando o site primário está planejado para manutenção de rotina.. Você pode recuar para o compartilhamento original quando a manutenção estiver completa e o site ficar estável novamente. A replicação pode continuar.
-
Se você decidir remover o relacionamento de replicação, o sistema dividirá os dois compartilhamentos de arquivo separados e eles se tornarão compartilhamentos de arquivo de leitura / gravação independentes Essa opção pode ser usada para failover em uma situação de recuperação de desastre quando for mais importante iniciar seu aplicativo o mais rápido possível.. Assim, você pode continuar as operações normais no site de réplica, enquanto o futuro do site original é incerto..
Uma operação de failover ou uma divisão de réplica não pode ocorrer quando outra operação estiver sendo realizada no compartilhamento de arquivos de origem ou de réplica (por exemplo, quando o tamanho do compartilhamento de arquivos estiver sendo ampliado). A operação de divisão ou failover continua pendente até que a outra operação seja concluída.
O status de failover mostra failover_pending enquanto a operação está em andamento ou enquanto o serviço está esperando que outra operação seja concluída
Failover para manutenção de rotina
Utilize um failover para manutenção de rotina no local principal ou quando o local estiver apresentando problemas. O processo funciona da seguinte maneira.
- O compartilhamento de arquivo fonte na zona A recusa todas as operações de leitura e gravação. Em seguida, o sistema tenta puxar uma cópia final dos dados do compartilhamento para o compartilhamento de réplica na zona B.
- Os dados são copiados para o compartilhamento de arquivo de réplica, que se torna leitura / gravação e é considerado o novo site de origem. (O relacionamento de replicação é revertido.)
- O serviço tenta replicar dados da origem ativa na zona B para o compartilhamento original na zona A, conforme planejado. Se a transferência de dados falhar, o sistema tenta novamente no próximo tempo de replicação agendado.
- Você pode recuar para o compartilhamento original quando a manutenção for feita e o site ficar estável novamente. Ou é possível manter o compartilhamento de réplica como seu compartilhamento de origem.
Failover em uma situação de recuperação de desastre
O failover também é uma opção para recuperação de desastres. Se for confirmado que o site original não está disponível e você precisar que o aplicativo seja iniciado o mais rápido possível no local da réplica, opte por remover o relacionamento de replicação. A remoção da relação de replicação é uma opção para a política de fallback quando você inicia o failover. O failover para recuperação de desastre funciona da seguinte maneira:
- O compartilhamento de arquivo no site de origem recusa todas as operações de leitura e gravação e o sistema tenta extrair uma cópia final dos dados do compartilhamento no compartilhamento de arquivo de réplica.
- Quando a extração de dados atinge o tempo limite e falha, o serviço de arquivo interrompe o relacionamento de replicação O compartilhamento de arquivo de réplica torna-se leitura / gravação e opera como um compartilhamento de arquivo independente. Ele pode ser montado e gerenciado como um compartilhamento de arquivo normal.
- A relação de replicação não pode ser reestabelecida. No entanto, você pode configurar uma nova réplica no site original se e quando o site se tornar operacional novamente.
Devido à natureza do failover de recuperação de desastres, você pode descobrir que o conjunto de dados mais recente não foi copiado. Nesse caso, você provavelmente precisa conciliar o estado de sua aplicação manualmente quando o compartilhamento de arquivo de origem estiver disponível novamente. Se a zona de compartilhamento do arquivo de origem voltar a ficar disponível, os dados estarão disponíveis no compartilhamento da réplica para que seja feita a reconciliação do momento do incidente até o ponto de recuperação.
Restrições
Essas restrições se aplicam quando você executa um failover.
-
O tempo limite padrão para um failover bem-sucedido é 5 minutos. Você pode modificar este valor quando você iniciar as opções de failover.
-
Uma transição de failover permanece pendente quando outras operações estão sendo realizadas no compartilhamento de arquivos de origem, como o aumento do tamanho do compartilhamento. Quando a operação for concluída, o failover será retomado.
Iniciando um failover no console
-
Navegue até a lista de todos os compartilhamentos de arquivos. No console IBM Cloud, clique no
menu Navegação >
de infraestrutura > Armazenamento > Compartilhamentos de armazenamento de arquivos.
-
Clique no nome de um compartilhamento de arquivos réplica para abrir a página de detalhes.
-
No menu Ações
, selecione Executar failover.. Antes da transição para o sistema de reserva, é realizada uma sincronização final dos arquivos para garantir que o compartilhamento de reserva contenha o conteúdo mais recente. Quando o failover é concluído, o compartilhamento de arquivo de réplica passa a ser o novo compartilhamento de arquivo de origem. O antigo compartilhamento de origem torna-se o novo compartilhamento de réplica somente leitura.
-
Para configurar um valor de tempo limite, marque a caixa em Tempo Limite (opcional) e especifique um valor de tempo. Este valor especifica um limite de tempo absoluto para que o failover seja concluído. Configure um tempo limite com base em quanto tempo você pode ficar com seu compartilhamento de arquivo off-line.
-
Em Política de failover, se a operação de failover não tiver sucesso ou atingir o tempo limite, opte por manter o relacionamento de replicação ou mudá-lo:
- Manter relacionamento de replicação - Nenhuma mudança é feita no compartilhamento de arquivo de réplica ou compartilhamento de arquivo de origem.
- Remover relação de replicação — Essa ação cria dois compartilhamentos de arquivos separados para leitura e gravação. Como o relacionamento é quebrado, mudanças em um compartilhamento de arquivo não afetam o outro.
Depois que você romper o relacionamento, ele não poderá ser restabelecido.
-
Clique em Executar failover. Exibição de mensagens que indicam que o failover foi solicitado e está sendo executado.
A página de detalhes do compartilhamento de arquivos é atualizada, e a relação de replicação mostra o compartilhamento de arquivos réplica como o novo compartilhamento de arquivos de origem.
Iniciando um failover a partir da CLI
Para usar a CLI, deve-se instalar a CLI da IBM Cloud e o plug-in da CLI da VPC. Para obter mais informações, consulte os Pré-requisitos da CLI.
-
Localize o compartilhamento de arquivo de réplica para o qual você deseja executar failover listando todos os compartilhamentos de arquivo na região com o comando
ibmcloud is sharesibmcloud is sharesListing shares in all resource groups and region us-south under account Test Account as user test.user@ibm.com... ID Name Lifecycle state Zone Profile Size(GB) Resource group Replication role Accessor binding role Snapshot count Snapshot size r006-a8d6af48-0c97-4c6b-bab1-fbefdc1e1e03 my-file-share stable us-south-2 dp2 10 defaults none none 0 0 r006-aaf4bfe9-358c-4faa-a4ec-0b955090b940 my-file-share-2 stable us-south-2 dp2 10 defaults none none 0 0 r006-a60bfa90-a893-40ad-be34-28ab51a963f9 replica-dal-2 stable us-south-2 dp2 10 defaults replica none 0 0 r006-3f21e3c3-e12d-425f-ab77-810cabfde8df source-dal-1 stable us-south-1 dp2 10 defaults source none 0 0 r006-455b601c-8fc1-4476-8771-4708c49c8ef7 my-replica-share-dal-1 stable us-south-1 dp2 10 defaults replica none 0 0 r006-4dadac27-cd17-42df-a5fe-1388705d33e0 my-source-share-dal-2 stable us-south-2 dp2 10 defaults source none 0 0 -
Execute o comando
ibmcloud is share-replica-failovere especifique a propriedadefallback-policy. É possível especificarfailousplitpara esta propriedade.- O seguinte exemplo especifica
failpara a propriedadefallback-policy. Se a operação de failover falhar ou se o tempo limite for atingido, a operação de failover não será bem-sucedida. O compartilhamento de origem permanece ativo e a replicação é retomada conforme planejado
ibmcloud is share-replica-failover r006-a60bfa90-a893-40ad-be34-28ab51a963f9 --fallback-policy failThe file share r006-a60bfa90-a893-40ad-be34-28ab51a963f9 failover request was accepted under account Test Account as user test.user@ibm.com... The file share failover request was accepted.- O seguinte exemplo especifica
splitpara a propriedadefallback-policy. Se a operação de failover falhar, o compartilhamento de réplica será dividido do compartilhamento de arquivo de origem. Se o failover falhar, o resultado será dois compartilhamentos de arquivo de leitura / gravação independentes
ibmcloud is share-replica-failover my-source-share-dal-2 --fallback-policy splitThe file share r006-4dadac27-cd17-42df-a5fe-1388705d33e0 failover request was accepted under account Test Account as user test.user@ibm.com... The file share failover request was accepted. - O seguinte exemplo especifica
Para obter mais informações sobre as opções de comandos, consulte ibmcloud is share-replica-failover.
Iniciando um failover com a API
Faça uma solicitação POST /shares/{share_id}/failover e especifique as propriedades timeout e fallback_policy. O tempo mínimo de tempo limite é de 300 segundos e o máximo 3600 segundos. Essa solicitação
inicia um failover de um compartilhamento de arquivo de origem para o compartilhamento de réplica, que é especificado pelo ID do compartilhamento de arquivo de réplica..
A propriedade fallback_policy pode ter os valores split ou fail. Quando a opção fail é especificada, se a operação de failover falhar ou se o tempo limite for atingido, a operação
de failover não será bem-sucedida. O relacionamento de replicação permanece inalterado..
Se você especificar split para a propriedade fallback_policy, o compartilhamento de réplica será dividido do compartilhamento de origem sempre que uma operação de failover falhar. O resultado são dois compartilhamentos
de arquivos independentes para leitura e gravação. Nesse caso, como a sincronização final do arquivo não foi concluída, é possível que o compartilhamento de réplica não contenha todos os dados do compartilhamento de arquivo de origem. Use
esta opção para a recuperação de desastre, quando o compartilhamento de arquivo de origem é conhecido por ser inalcançável.
Se a propriedade fallback_policy não for especificada no pedido, o sistema será padronizado para split quando a operação de failover falhar
Este exemplo especifica fail para a propriedade fallback_policy.. A propriedade timeout é opcional.. Você pode usar o tempo limite padrão.
curl -X POST \
"$vpc_api_endpoint/v1/shares/$replica_id?/failover?version=2023-08-08"\
-H "Authorization: Bearer $iam_token"\
-d '{
"fallback_policy": "fail",
"timeout": 600
}'
Uma resposta bem-sucedida indica que a solicitação de failover de compartilhamento de arquivo foi aceito.
Você pode usar a API para verificar se o failover da replicação foi bem-sucedido, está pendente ou falhou. Faça uma chamada GET /shares/{replica_id}. Veja a propriedade latest_job. Para obter mais informações, consulte
Verificar replicação com a API.
Iniciando um failover com o Terraform
Quando um failover é executado, o compartilhamento de réplica se torna a origem e o compartilhamento de origem se torna a réplica. A configuração do Terraform precisa ser modificada para corresponder a essa mudança A variável de configuração
fallback_policy define a ação a ser tomada caso a solicitação de failover seja aceita, mas não possa ser executada ou atinja o tempo limite. Os valores aceitas são split ou fail Se você
especificar split e o failover for malsucedido, o sistema interromperá o relacionamento de replicação e os dois compartilhamentos de arquivo se tornarão independentes um do outro
resource "ibm_is_share_replica_operations" "test" {
share_replica = ibm_is_share.replica.id
fallback_policy = "split"
timeout = 500
}
Para obter mais informações sobre argumentos e atributos, consulte ibm_is_share_replica_operations.