Recuperação pontual (PITR)
IBM Cloud® Databases for MongoDB Enterprise Edition oferece PITR usando qualquer timestamp maior do que o ponto de recuperação mais precoce disponível. Para descobrir o ponto de recuperação mais precoce através da API, use o terminal timestamp de recuperação point-in-time-recovery.
Ao restaurar para um ponto específico nos últimos 7 dias, com um tempo de restauração após a última transação, sua restauração falha com a mensagem: recovery ended before configured recovery target is reached. Se sua restauração falhar
por esse motivo, restaure para o último ponto disponível ou escolha uma data e hora anteriores para a restauração para um ponto específico nos últimos 7 dias
{
"point_in_time_recovery_data": {
"earliest_point_in_time_recovery_time": "2019-09-09T23:16:00Z"
}
}
Nesta fase, o endpoint de carimbo de data/hora de recuperação pontual sempre retorna a hora atual- aproximadamente uma semana.
Capturas instantâneas
Enterprise EditionMongoDB oferece PITR por meio de instantâneos mantidos pelo Ops Manager.
Existem considerações específicas sobre o PITR nos casos em que o PITR não é suportado.
PITR após atualização da versão
Após uma atualização de versão, a recuperação em um momento específico (PITR) para a nova versão não estará disponível até que um snapshot inicial da implantação atualizada seja concluído e tenha seu backup feito pelo Ops Manager. A recuperação em um ponto específico no tempo só pode restaurar os dados para um momento posterior a uma atualização de versão principal após a conclusão desse instantâneo inicial. Este instantâneo não consta na lista de backups disponíveis. A reversão para a versão anterior (dentro de 7 dias após a atualização) só é permitida se essa versão ainda estiver em suporte.
O PITR fica temporariamente indisponível para uma versão até que um snapshot dessa versão seja concluído e o backup seja realizado com sucesso.
Recuperação
Os backups são restaurados para uma nova implementação. Após a nova implementação concluir o fornecimento, seus dados no arquivo de backup são restaurados na nova implementação. Os backups também serão restauráveis nas contas, mas apenas usando a API e apenas se o usuário que está executando a restauração tiver acesso às contas de origem e de destino.
A nova implantação é dimensionada automaticamente com a mesma alocação de disco e memória que a implantação de origem no momento do backup a partir do qual você restaura. Especialmente no caso do PITR, esse pode não ser o tamanho atual da sua implantação. Se for necessário ajustar os recursos alocados para a nova implementação, use os campos opcionais na IU, na CLI ou na API para redimensionar a nova implementação. Se a implementação não for dado recursos suficientes a restauração falha, portanto, alocar o suficiente para seus dados e carga de trabalho.
Embora o armazenamento e a memória sejam restaurados para corresponder à implementação de origem, as configurações específicas da nova instância não são configuradas automaticamente. Nesse caso, pode ser necessária a nova execução da configuração
após uma restauração. Anote todas as modificações feitas na instância antes de executar a restauração (parâmetros como shared_buffers, max_connections, deadlock_timeout, archive_timeout)
para garantir que as configurações da instância estejam corretas após a conclusão da restauração.
Não exclua a implementação de origem durante a restauração do backup. Deve-se esperar até que a nova implementação seja provisionada e o backup seja restaurado antes da exclusão da implementação antiga. Ao excluir uma implementação, são excluídos também seus backups. Então, não só a restauração falha, mas você pode não ser capaz de recuperar o backup.
Recuperando através da UI
Após o primeiro backup da implementação ser concluído, a opção de recuperação point-in-time será exibida na UI. Para iniciar um PITR, insira o horário para o qual você deseja restaurar na Hora Universal Coordenada.
O timestamp de ponto em tempo de recuperação deve ser formatado da seguinte forma: %Y-%m-%dT%H:%M:%SZ.
Para restaurar para o momento mais recente disponível, selecione essa opção. Clicar em Restaurar ativa as opções para sua recuperação. Insira um nome, selecione a versão, a região e os recursos alocados para a nova implementação. Clique em Recuperar para iniciar o processo.
Se você usa o Key Protect e possui uma chave, deve utilizar a CLI para recuperar os dados; para sua conveniência, fornecemos um comando.
Recuperação com a CLI
O Controlador de Recursos suporta o fornecimento de implementações de banco de dados e o fornecimento e a restauração são de responsabilidade da CLI do Controlador de Recursos. Use o comando resource service-instance-create.
ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_ID> <SERVICE_PLAN_NAME> <REGION> -p '{"point_in_time_recovery_deployment_id":"DEPLOYMENT_ID", "point_in_time_recovery_time":"TIMESTAMP", "version":""}'
Os parâmetros disponíveis são:
instance_name(Obrigatório): O nome legível por humanos da nova instância a ser implantada, por exemplo,new-mongo.service_id(Obrigatório): Nesse contexto, isso édatabases-for-mongodb.service_plan_name(Obrigatório):standardouenterprise.region(Obrigatório): A IBM Cloud® região em que o novo banco de dados será implantado, por exemplo,eu-gb.point_in_time_recovery_deployment_id(Obrigatório): A ID da implantação de origem (também conhecida como CRN).point_in_time_recovery_time: o momento em que o backup foi restaurado, no formato%Y-%m-%dT%H:%M:%SZ, por exemplo,2024-05-10T08:15:00Z. Deixe este campo em branco para obter o ponto restaurável mais recente.version: A versão do banco de dados, por exemplo, "6.0 ". Deixe este campo em branco para usar a versão preferida mais recente.key_protect_key: ID (CRN) do Key Protect recurso utilizado. Este campo é opcional para criptografia BYOK (Bring Your Own Key).members_host_flavor: o tamanho do host da instância que você deseja implantar. Se não for fornecido, a nova instância será criada com a mesma RAM e CPU da instância de origem. Consulte esta tabela para obter os valores disponíveis.
Exemplo
ibmcloud resource service-instance-create big-mongo-restore databases-for-mongodb enterprise eu-gb -p '{"point_in_time_recovery_deployment_id":"crn:v1:bluemix:public:databases-for-mongodb:eu-gb:a/f19c0f5eff94b69ae419xyz2345ra7a0ed:3c647ad1-b9a8-2233-a47e-668d8b83e79f::", "members_host_flavor":"b3c.4x16.encrypted", "point_in_time_recovery_time":"", "version":""}'
Recuperação com a API
O Controlador de Recursos suporta o fornecimento de implementações de banco de dados e o fornecimento e a restauração são de responsabilidade da API do Controlador de Recursos. As etapas necessárias para usar a API do controlador de recursos devem ser concluídas para que seja possível usá-la para a restauração de um backup.
Depois de ter todas as informações, a solicitação de criação é um POST para o /resource_instances ponto de extremidade.
curl -X POST \
https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"name": "<SERVICE_INSTANCE_NAME>",
"target": "<REGION>",
"resource_group": "<YOUR-RESOURCE-GROUP>",
"resource_plan_id": "<SERVICE-ID>",
"parameters": {
"point_in_time_recovery_time":"<TIMESTAMP>",
"point_in_time_recovery_deployment_id":"<DEPLOYMENT_ID>"
}
}'
Todos os campos a seguir são obrigatórios:
name: O nome legível da nova instância a ser implantada, por exemplonew-mongo.resource_group: o ID do grupo de recursos, por exemplo5c49eabc12fgt65resource_plan_id: Neste contexto, isso édatabases-for-mongodb-enterprisetarget: O IBM Cloud região onde o novo banco de dados será implantado, por exemploeu-gb. São permitidas restaurações entre regiões, exceto no caso de restauração de um backup doeu-depara outra região.
Além disso, um parameters objeto pode ser fornecido com os seguintes campos:
point_in_time_recovery_deployment_id: o ID da implantação de origem (também conhecido como CRN).point_in_time_recovery_time: o momento em que o backup foi restaurado, no formato%Y-%m-%dT%H:%M:%SZ, por exemplo,2024-05-10T08:15:00Z. Deixe este campo em branco para obter o ponto restaurável mais recente.version: A versão do banco de dados, por exemplo, "6.0 ". Deixe este campo em branco para usar a versão preferida mais recente.key_protect_key: ID (CRN) do Key Protect recurso utilizado. Este campo é opcional para criptografia BYOK (Bring Your Own Key).members_host_flavor: o tamanho do host da instância que você deseja implantar. Se não for fornecido, a nova instância será criada com a mesma RAM e CPU da instância de origem. Veja o mesa para valores disponíveis.
O timestamp de ponto em tempo de recuperação deve ser formatado da seguinte forma: %Y-%m-%dT%H:%M:%SZ.
Como restaurar um backup com Terraform
Antes de restaurar, certise-se de que seu point_in_time_recovery_time não é mais velho que uma semana. Se o carimbo de data/hora for anterior a 7 dias, com precisão de segundos, a validação falhará.
Use a fonte de dados ibm_database_point_in_time_recovery para restaurar sua instância de banco de dados
com point_in_time_recovery.
O timestamp de ponto em tempo de recuperação deve ser formatado da seguinte forma: %Y-%m-%dT%H:%M:%SZ.
Seu roteiro Terraforme se parece com isso.
terraform {
required_providers {
ibm = {
version = "1.44.3"
source = "IBM-Cloud/ibm"
}
}
}
variable "ibmcloud_api_key" {
description = "<Enter your IBM Cloud API Key>"
}
provider "ibm" {
region = "us-south"
ibmcloud_api_key = var.ibmcloud_api_key
}
data "ibm_resource_group" "default_group" {
is_default = true
}
resource "ibm_database" "mongodb_enterprise" {
resource_group_id = data.ibm_resource_group.default_group.id
name = "testing-mongodb-pitr"
service = "databases-for-mongodb"
plan = "enterprise"
location = "us-south"
point_in_time_recovery_deployment_id = "<crn>"
point_in_time_recovery_time = "2022-09-14T14:47:45Z"
}
O procedimento acima irá restaurar para um novo banco de dados com o mesmo tamanho de host e tamanho de disco da origem. Se você quiser modificar o tamanho do host ou do disco da sua implantação, consulte o Documentação do Terraform para a formatação correta.
Restauração off-line de recuperação pontual (PITR)
IBM Cloud® Databases for MongoDB Enterprise Edition requer dois processos para iniciar uma restauração. Primeiro, uma captura instantânea é obtida do Ops Manager AppDB Essa captura instantânea, então, serve como um backup PITR, que pode ser usado para restaurar seu banco de dados.
Em alguns recuperação de desastresA capacidade de um serviço ou carga de trabalho de se recuperar de incidentes raros e importantes e de falhas em larga escala, como a interrupção do serviço. Isso inclui um desastre físico que afeta toda uma região, a corrupção de um banco de dados ou a perda de um serviço que contribui para uma carga de trabalho. O impacto excede a capacidade do projeto de alta disponibilidade para lidar com ele. cenários, o processo PITR pode falhar. Em tais casos Databases for MongoDB Enterprise Edition A restauração offline de recuperação pontual (PITR) pode ser usada para restaurar o instantâneo mais recente disponível. A opção Offline Restore garante a disponibilidade de dados e resiliência do sistema em um caso em que o método de captura instantânea não funciona conforme esperado.
Restauração off-line da recuperação pontual no tempo (PITR) por meio da interface do usuário
Inicie uma Restauração off-line por meio do painel do IBM Cloud da mesma forma que você faria para um PITR padrão. Escolha a terceira opção de recuperação Point-in-time..
Restauração off-line do Point-in-time recovery (PITR) por meio da CLI
Inicie uma restauração off-line por meio da CLI do IBM Cloud usando um comando como:
ibmcloud resource service-instance-create big-mongo-restore databases-for-mongodb enterprise eu-gb -p '{"point_in_time_recovery_deployment_id":"crn:v1:bluemix:public:databases-for-mongodb:eu-gb:a/f19c0f5eff94b69ae419xyz2345ra7a0ed:3c647ad1-b9a8-2233-a47e-668d8b83e79f::", "members_host_flavor":"b3c.4x16.encrypted", "point_in_time_recovery_time":"", "version":"", "offline_restore": true}'
Especifique os parâmetros a seguir:
point_in_time_recovery_deployment_id-Este é o CRN de origem..point_in_time_recovery_time- Deixe este campo em branco,"".offline_restore- Defina esse valor como “true”.
A saída do comando é semelhante a:
Creating service instance <INSTANCE_NAME> in resource group Default of account <ACCOUNT> as <USER>...
OK
Service instance <INSTANCE_NAME> was created.
Name: <INSTANCE_NAME>
ID: crn:v1:bluemix:public:databases-for-mongodb:eu-gb:a/f19c0f5eff94b69ae419xyz2345ra7a0ed:3c647ad1-b9a8-2233-a47e-668d8b83e79f::
GUID: 3c647ad1-b9a8-2233-a47e-668d8b83e79f
Location: <LOCATION>
State: provisioning
Type: service_instance
Sub Type: Public
Service Endpoints: public
Allow Cleanup: false
Locked: false
Created at: 2023-08-03T09:36:37Z
Updated at: 2023-08-03T09:36:41Z
Last Operation:
Status create in progress
Message Started create instance operation
O timestamp de ponto em tempo de recuperação deve ser formatado da seguinte forma: %Y-%m-%dT%H:%M:%SZ.
Restauração off-line do Point-in-time Recovery (PITR) por meio da API
O Controlador de Recursos suporta o fornecimento de implementações de banco de dados e o fornecimento e a restauração são de responsabilidade da API do Controlador de Recursos. Conclua as etapas necessárias para usar a API do controlador de recurso antes de usá-la para restaurar de um backup.
Depois de ter todas as informações, a solicitação de criação será um POST para o /resource_instances que será semelhante a:
curl -X POST \
https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"name": "<SERVICE_INSTANCE_NAME>",
"target": "<REGION>",
"resource_group": "<YOUR-RESOURCE-GROUP-ID>",
"resource_plan_id": "<SERVICE-ID>",
"parameters": {
"point_in_time_recovery_time":"<TIMESTAMP>",
"point_in_time_recovery_deployment_id":"<DEPLOYMENT_ID>",
"offline_restore": true
}
}'
Especifique os parâmetros a seguir:
point_in_time_recovery_deployment_id-Este é o CRN de origem..point_in_time_recovery_time- Deixe este campo em branco,"".offline_restore- Defina esse valor como “true”.
O timestamp de ponto em tempo de recuperação deve ser formatado da seguinte forma: %Y-%m-%dT%H:%M:%SZ.