Pular para o conteúdo principal

Como gerenciar os serviços do cluster

Quando usar​

Um serviço do cluster é uma unidade que o Cluster Manager inicia em um nó específico. Os pools de armazenamento (com nomes como zpool_ssd01, zpool_tank0) e os serviços de sistema do cluster são representados dessa forma. Você gerencia serviços ao fazer a manutenção de um nó, ao mover um pool para outro nó e ao diagnosticar um serviço que não inicia.

Um serviço tem duas dimensões independentes. A primeira é a permissão: se o serviço está autorizado a operar ou está desativado. A segunda é o estado: se ele está iniciado ou parado. Ativar um serviço não o inicia, e uma tentativa de iniciar um serviço desativado falha na validação. Essa separação é intencional: a desativação mantém o serviço desligado mesmo após a reinicialização do nó, enquanto a parada é uma ação pontual.

ComandoO que alteraNó obrigatórioQuando usar
AtivarPermissão — o serviço está autorizado a operarnãoDevolver um serviço à operação
DesativarPermissão — o serviço está desativadonãoManutenção prolongada, retirada de um pool de serviço
IniciarEstado — inicialização em um nósimIniciar um serviço no nó selecionado
PararEstado — paradanãoUma parada pontual sem desativação

Observe a assimetria: a inicialização exige um nó; a parada, não. Um serviço é iniciado em um nó especificado e é parado onde quer que esteja em execução no momento.

Pré-requisitos​

  • O papel Cluster master (role_id=1) — os quatro comandos são restritos a esse papel;
  • Um Cluster Manager disponível: os comandos vão para ele, e ele os entrega aos nós;
  • Um nome de serviço contendo letras, dígitos e sublinhados — o cluster não aceita hífens, pontos nem espaços;
  • vStack Center versão 3.0.3.

Etapa 1. Visualize o estado atual do serviço​

O estado do serviço é obtido junto com a composição do cluster.

  1. Abra Provider Data Center → Storage Resources. A tabela ZFS pools mostra os pools do cluster com as colunas GUID, Name, Health, Consuming, Scrubbing, Resilvering, Current node e Capacity (RAW).
  2. Abra um pool na tabela — o cartão do pool oferece um menu Actions com as operações do pool.

Interprete o estado da seguinte forma: a permissão informa se o serviço está autorizado a operar, o estado informa se ele está em execução agora, e Current node informa em qual nó. Um pool ativado e em execução aparece como em execução no seu nó. Não faz sentido iniciar um serviço desativado e parado: ative-o primeiro.

Etapa 2. Inicie um serviço em um nó​

A inicialização é direcionada a um nó específico: você precisa de um serviço e de um nó. O vStack Center encaminha o comando ao Cluster Manager, que o entrega ao nó.

  1. Certifique-se de que o serviço está ativado. Se estiver desativado, conclua primeiro a etapa 4.
  2. Selecione o serviço e o nó em que ele deve ser executado e inicie-o.
  3. Verifique o resultado: o serviço deve estar em execução, e o nó que o hospeda deve corresponder ao que você selecionou.

Um comando aceito confirma que o Cluster Manager o recebeu. Somente o estado do serviço no nó confirma que ele foi de fato iniciado.

Etapa 3. Pare um serviço​

A parada não exige um nó: o Cluster Manager já sabe onde o serviço está em execução. Selecione o serviço e pare-o.

A parada altera apenas o estado. A permissão permanece, portanto o serviço pode ser iniciado novamente — por exemplo, quando o nó for reinicializado. Se o serviço precisar permanecer desligado, desative-o.

Etapa 4. Ative ou desative um serviço​

A permissão é uma decisão persistente. A desativação mantém o serviço desligado independentemente de reinicializações.

aviso

Desativar um serviço de pool de armazenamento torna indisponíveis os dados que ele atende. Antes de desativá-lo, verifique em Storage Resources qual nó hospeda o serviço (a coluna Current node) e quais cargas de trabalho dependem dele.

Selecione o serviço e desative-o — não é necessário especificar um nó. Ative-o pelo mesmo caminho usando o comando oposto.

Para manutenção, siga esta ordem: pare o serviço, desative-o, execute o trabalho, ative-o e inicie-o no nó necessário. A ordem inversa — desativar sem parar — deixa o serviço em execução até a primeira reinicialização.

A parada de um serviço de pool também desliga as VMs em execução em nós remotos​

As VMs que usam esse pool podem ser executadas em nós diferentes do nó proprietário: com discos no modo NVMe, uma máquina pode ser iniciada em qualquer nó e acessar seus discos pela rede a partir do proprietário. Antes da 3.2.0, parar o serviço desligava apenas as máquinas do nó proprietário; as máquinas remotas continuavam em execução e mantinham o pool em uso — a exportação falhava com "pool is busy", e o serviço permanecia no nó original.

A partir da 3.2.0, o vStack Center desliga as máquinas do pool nos outros nós antes de parar o serviço. O mesmo se aplica ao mover um pool. Leve isso em conta ao planejar uma manutenção: parar um serviço de pool agora também desliga as máquinas que você vê em execução nos nós vizinhos.

A barreira segue o princípio "não inicie sem ter certeza". Um nó só passa na verificação se confirmar o desligamento ou informar que não tem máquinas usando esse pool. Qualquer outro resultado — um erro, tempo limite esgotado ou perda de conexão — bloqueia a operação de parada: ela nem chega a começar, o serviço continua em execução, e a resposta de rejeição contém uma lista das máquinas que bloqueiam a operação e seus nós. A verificação inteira tem um limite de tempo de 2 minutos.

Verifique o resultado​

Volte ao estado do serviço e compare-o com o que você solicitou.

AçãoResultado esperado após o comando
IniciarO serviço está em execução no nó especificado na solicitação
PararO serviço está parado e continua ativado
DesativarO serviço está desativado e parado
AtivarO serviço está ativado; ele precisa ser iniciado para ser executado

Se a permissão mudou, mas o estado não, o comando foi aceito, mas o nó ainda não enviou seu retorno. Obtenha o estado do serviço novamente.

Solução de problemas​

O que você vêPor quêO que fazer
Um comando de serviço é rejeitado com o código -403 "Access denied"Os comandos de serviço estão disponíveis apenas para o papel Cluster masterFaça login com um papel de nível de cluster
Código de erro -32602 "Invalid params"O nome do serviço não passou na validação de formatoRemova hífens, pontos e espaços; confira o nome com a coluna Name
A inicialização é rejeitada com o código -20522O identificador do nó não passou na validaçãoInsira o identificador do nó como um número
Código de erro -713Não foi possível encaminhar o comando ao Cluster ManagerVerifique a disponibilidade do Cluster Manager; o comando não chegou aos nós
O comando é aceito, mas o estado do serviço não mudouO Cluster Manager aceitou o comando, mas o nó ainda não o aplicouObtenha o estado novamente; se a divergência persistir, verifique o nó na coluna Current node
O serviço foi iniciado sozinho após a reinicialização do nóEle foi parado sem ser desativadoDesative o serviço em vez de apenas pará-lo
A parada de um serviço de pool retornou uma lista de máquinas que bloqueiam a operaçãoNão foi possível desligar as máquinas do pool nos outros nós: um nó não respondeu, a conexão foi perdida ou um nó retornou um erroResolva os problemas das máquinas listadas nos nós indicados e tente parar novamente; o serviço permanece inalterado
A inicialização não tem efeitoO serviço está desativadoAtive o serviço primeiro e, em seguida, inicie-o
Nenhum dado de composição do cluster fica visívelO usuário não tem o privilégio para visualizar o mapa de statusSolicite o privilégio View Cluster Status Map (full) (6003)

Veja também​

Métodos de API​

Operações de API abordadas nesta página: get-statusmap, cluster-service-enable, cluster-service-disable, cluster-service-start, cluster-service-stop — consulte a referência da API.