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.
| Comando | O que altera | Nó obrigatório | Quando usar |
|---|---|---|---|
| Ativar | Permissão — o serviço está autorizado a operar | não | Devolver um serviço à operação |
| Desativar | Permissão — o serviço está desativado | não | Manutenção prolongada, retirada de um pool de serviço |
| Iniciar | Estado — inicialização em um nó | sim | Iniciar um serviço no nó selecionado |
| Parar | Estado — parada | não | Uma 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.
- 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).
- 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ó.
- Certifique-se de que o serviço está ativado. Se estiver desativado, conclua primeiro a etapa 4.
- Selecione o serviço e o nó em que ele deve ser executado e inicie-o.
- 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.
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ção | Resultado esperado após o comando |
|---|---|
| Iniciar | O serviço está em execução no nó especificado na solicitação |
| Parar | O serviço está parado e continua ativado |
| Desativar | O serviço está desativado e parado |
| Ativar | O 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 master | Faç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 formato | Remova hífens, pontos e espaços; confira o nome com a coluna Name |
| A inicialização é rejeitada com o código -20522 | O identificador do nó não passou na validação | Insira o identificador do nó como um número |
| Código de erro -713 | Não foi possível encaminhar o comando ao Cluster Manager | Verifique a disponibilidade do Cluster Manager; o comando não chegou aos nós |
| O comando é aceito, mas o estado do serviço não mudou | O Cluster Manager aceitou o comando, mas o nó ainda não o aplicou | Obtenha 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 desativado | Desative 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ção | Nã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 erro | Resolva 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 efeito | O serviço está desativado | Ative o serviço primeiro e, em seguida, inicie-o |
| Nenhum dado de composição do cluster fica visível | O usuário não tem o privilégio para visualizar o mapa de status | Solicite o privilégio View Cluster Status Map (full) (6003) |
Veja também
- Cluster, nós e serviços — o que é um serviço do cluster e como o Cluster Manager difere do papel Cluster master.
- Como gerenciar os nós do cluster — retirada de serviço do nó que hospeda um serviço.
- Como visualizar os recursos do cluster — o mapa de status que mostra os serviços e suas atribuições a nós.
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.