Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-08-19 GMT+08:00

Expansão de um cluster

Quando você precisar de mais recursos de computação e armazenamento, adicione mais nós para expansão de cluster no console de gerenciamento.

  • Se um cluster for cobrado no modo anual/mensal, os novos nós no cluster também serão cobrados nesse modo.
  • Quando você escala o cluster de armazém de dados padrão, use as mesmas especificações de armazenamento do cluster.
  • Os nós não podem ser adicionados a um armazém de dados híbrido (autônomo).

Depois que os dados em um armazém de dados são excluídos, o espaço em disco ocupado pode não ser liberado, resultando em dados sujos e desperdício de disco. Portanto, se você precisar expandir o cluster devido à capacidade de armazenamento insuficiente, execute o comando VACUUM para recuperar o espaço de armazenamento primeiro. Se a capacidade de armazenamento usada ainda for alta depois de executar o comando VACUUM, você poderá expandir o cluster. Para obter detalhes sobre a sintaxe VACUUM, consulte a seção VACUUM na Referência de sintaxe SQL.

Impacto no sistema

  • Antes do dimensionamento, saia das conexões de cliente que criaram tabelas temporárias porque as tabelas temporárias criadas antes ou durante a expansão se tornarão inválidas e as operações executadas nessas tabelas temporárias falharão. Tabelas temporárias criadas após a expansão não serão afetadas.
  • Depois de iniciar uma tarefa de expansão, o cluster tira automaticamente um snapshot antes do início da tarefa.
  • Durante a expansão, funções como reinicialização do cluster, expansão, criação de snapshots, redefinição de senha do administrador do banco de dados e exclusão de cluster são desativadas.
  • Durante uma expansão off-line, o cluster é reiniciado automaticamente. Portanto, o cluster permanece Unavailable por um período de tempo. Depois que o cluster é reiniciado, o status se torna Available. Após a expansão, o sistema redistribui dinamicamente os dados do usuário entre todos os nós do cluster.
  • Durante a expansão off-line, interrompa todos os serviços ou execute apenas algumas instruções de consulta. Durante a redistribuição de tabelas, um bloqueio compartilhado é adicionado às tabelas. Todas as operações de inserção, atualização e exclusão, bem como as operações DDL nas tabelas, são bloqueadas por um longo período de tempo, o que pode causar um tempo limite de espera de bloqueio. Depois que uma tabela é redistribuída, você pode acessar a tabela. Não execute consultas que levam mais de 20 minutos durante a redistribuição (o tempo padrão para aplicar o bloqueio de gravação durante a redistribuição é de 20 minutos). Caso contrário, a redistribuição de dados pode falhar devido ao tempo limite de espera de bloqueio.
  • Em uma expansão on-line, durante a adição do nó, o cluster é bloqueado e os objetos do banco de dados são verificados. Não crie nem exclua bancos de dados ou espaços de tabela nesse período, ou o cluster poderá não ser bloqueado.
  • Durante a expansão on-line, você pode executar operações de inserção, atualização e exclusão em tabelas, mas as atualizações de dados ainda serão bloqueadas por um curto período de tempo. A redistribuição consome muitos recursos de CPU e I/O, o que afetará muito o desempenho do trabalho. Portanto, execute a redistribuição quando os serviços forem interrompidos ou durante períodos de carga leve. A expansão baseada em fase também é recomendada: execute redistribuição de alta concorrência durante períodos de carga leve e interrompa a redistribuição ou execute redistribuição de baixa concorrência durante períodos de carga pesada.
  • Se um novo snapshot for criado para o cluster após a expansão, o novo snapshot conterá dados nos nós recém-adicionados.
  • Se a expansão do cluster falhar, o banco de dados executará automaticamente a operação de reversão em segundo plano para que o número de nós no cluster possa ser restaurado para aquele antes da expansão.
    • Se a reversão for bem-sucedida e o cluster puder ser usado normalmente, você poderá executar Scale Out novamente. Se o dimensionamento ainda falhar, entre em contato com o suporte técnico.
    • Se a base de dados não for revertida devido a algumas excepções, o cluster poderá tornar-se Unavailable. Nesse caso, você não pode executar Scale Out ou reiniciar o cluster. Entre em contato com o suporte técnico.
  • No cenário de expansão da nuvem nativa 9.0.2, se o número de intervalos alocados a cada DN não estiver entre [3, 20], o dimensionamento automático será acionado. Você pode exibir o número de buckets usando o parâmetro GUC table_buckets.
    • Atualmente, o dimensionamento do bucket suporta apenas o modo off-line. O procedimento é o mesmo do procedimento de dimensionamento existente. O sistema determina e executa automaticamente o processo de dimensionamento do bucket.
    • Durante o processo de dimensionamento, o cluster é reiniciado. A reinicialização leva vários minutos. Durante a reinicialização, todas as conexões são fechadas.
    • Após a conclusão da reinicialização, o banco de dados pode ser lido, mas não pode ser gravado até que a redistribuição de dados seja concluída.

    Por exemplo, se o número de intervalos no nó atual for 32 e o número de DNs no cluster lógico for 9, e o número de DNs precisar ser expandido para 15, como 32/15=2 (arredondado para baixo) não atende ao requisito de [3,20], o dimensionamento automático é acionado.

Pré-requisitos

  • O cluster a ser expandido está no estado Available ou Unbalanced.
  • O número de nós a serem adicionados deve ser menor ou igual aos nós disponíveis. Caso contrário, a expansão do sistema não é permitida.
  • Para expandir um cluster como um usuário do IAM, certifique-se de que o usuário do IAM tenha permissões para VPC, EVC e BMS.

Expansão de um cluster

  • Um cluster se torna somente leitura durante a expansão. Tenha cuidado ao realizar esta operação.
  • Para garantir a segurança dos dados, é aconselhável criar um instantâneo antes da expansão. Para obter detalhes sobre como criar um snapshot, consulte Snapshots manuais.
  • Depois de iniciar uma expansão, o sistema primeiro verifica os pré-requisitos da expansão. Se o cluster falhar na verificação, modifique as configurações conforme solicitado e tente novamente. Para obter detalhes, consulte O que devo fazer se a verificação de expansão falhar?
  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Clique em Clusters.

    Todos os clusters são exibidos por padrão.

  3. Na coluna Operation do cluster de destino, escolha More > Scale Node > Scale Out. A página de expansão é exibida.

    No modo de faturamento anual/mensal, o número de nós no pacote de desconto não é exibido. O tempo restante e o tempo de expiração são exibidos.

    Figura 1 Expansão de cluster

  4. Especifique o número de nós a serem adicionados.

    • O número de nós após a expansão deve ser pelo menos três nós a mais do que o número original. O número máximo de nós que podem ser adicionados depende da cota disponível. Além disso, o número de nós após a expansão não pode exceder 256.

      Se a cota de nó for insuficiente, clique em Increase quota para enviar um tíquete de serviço e solicitar uma cota de nó mais alta.

    • Flavor dos novos nós deve ser o mesmo dos nós existentes no cluster.
    • A VPC, a sub-rede e o grupo de segurança do cluster com novos nós adicionados são os mesmos do cluster original.
    • O número de nós a serem adicionados a um cluster multi-AZ deve ser múltiplo de 3.

  5. Configure parâmetros avançados.

    • Se você escolher Default, Scale Online será desativado, Auto Redistribution será ativada e Redistribution Mode será Offline por padrão.
    • Se você escolher Custom, poderá configurar os seguintes parâmetros de configuração avançada para expansão on-line:
      • Scale Online: a expansão on-line pode ser ativada. Durante a expansão on-line, dados podem ser adicionados, excluídos, modificados e consultados no banco de dados; e há suporte para algumas sintaxes DDL. Erros serão relatados para as sintaxes não suportadas.
      • Auto Redistribution: a redistribuição automática pode ser ativada. Se a redistribuição automática estiver ativada, os dados serão redistribuídos imediatamente após a conclusão da expansão. Se esta função estiver desabilitada, somente a expansão será executada. Nesse caso, para redistribuir dados, selecione um cluster e escolha More > Scale Node > Redistribute.
      • Redistribution Concurrency: se a redistribuição automática estiver ativada, você poderá definir o número de tarefas de redistribuição simultâneas. O intervalo de valores é de 1 a 32. O valor padrão é 4.
      • Redistribution Mode: pode ser definido como Online ou Offline. Depois de confirmar que as informações estão corretas, clique em OK na caixa de diálogo exibida.

  6. Clique em Next: Confirm.
  7. Clique em Submit.

    • Depois que você enviar a solicitação de expansão, as informações de tarefa do cluster serão alteradas para Scaling out e o processo levará vários minutos. Durante a expansão, o cluster é reiniciado automaticamente. Portanto, o status do cluster permanecerá Unavailable por um tempo. Depois que o cluster for reiniciado, o status será alterado para Available. Na última fase da expansão, o sistema redistribui dinamicamente os dados do usuário no cluster, durante os quais o cluster está no estado Read-only.
    • Um cluster é dimensionado com êxito somente quando o cluster está no estado Available e as informações da tarefa Scaling out não são exibidas. Em seguida, você pode usar o cluster.
    • Se Scale-out failed for exibido, o cluster não será expandido.

Expansão com nós ociosos

Para garantir a confiabilidade, prepare os nós do ECS ou do BMS primeiro consultando Adição de nós para um cluster de grande escala e expande o cluster com nós ociosos.

  • Desabilite a redistribuição automática quando você expandir um cluster em grande escala para facilitar novas tentativas em cima de falhas para a confiança melhorada.
  • Após a conclusão da expansão, execute manualmente redistribution para garantir que várias tentativas possam ser executadas nessa fase.

Precauções

  • Um número de nós disponíveis deve ser adicionado ao cluster com antecedência para que os nós ociosos possam ser criados e adicionados para expandir.
  • A regra de antiafinidade determina que o número de nós a serem adicionados de cada vez deve ser um múltiplo inteiro do tamanho do anel de cluster.
  • Depois de iniciar uma expansão, o sistema primeiro verifica os pré-requisitos da expansão. Se o cluster falhar na verificação, modifique as configurações conforme solicitado e tente novamente. Para obter detalhes, consulte O que devo fazer se a verificação de expansão falhar?

Procedimento

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Clique em Clusters. Todos os clusters são exibidos por padrão.
  3. Na coluna Operation do cluster de destino, escolha More > Scale Node > Scale Out.

    Se houver nós ociosos no cluster, o sistema exibirá uma mensagem perguntando se deseja adicionar nós.

  4. Configure os parâmetros de expansão e redistribuição conforme necessário. Para mais detalhes, consulte Expansão de um cluster.

    Em seguida, clique em Next: Confirm.

  5. Confirme as informações e clique em Submit.

Exibir detalhes da expansão

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Escolha Clusters.
  3. Na coluna Task Information de um cluster, clique em View Details.

  4. Verifique o status de expansão do cluster na página de detalhes de expansão.