As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Atualize a versão do agendador de um AWS Cluster PCS
Use essas etapas para atualizar a versão do agendador em seu cluster. Há duas opções, dependendo se você pode tolerar a interrupção do trabalho. Para obter mais informações sobre como escolher entre as opções, consulteAtualizando a versão do agendador de um cluster no AWS PCS.
Opção 1: atualização contínua
O controlador é atualizado enquanto a frota continua funcionando. Os nós existentes continuam usando a versão anterior do Slurm até serem drenados e substituídos. Novos nós lançados após a atualização usam a versão de destino. Os trabalhos em execução não são interrompidos.
Quando usar:
-
O controlador de cluster está no Slurm versão 24.05 ou posterior.
-
Você pode fornecer AMIs que incluam as versões atual e de destino do Slurm.
Etapa 0 — Verifique o estado inicial
Seu cluster está executando a versão “A” do controlador (por exemplo, 24.11) e você deseja migrar para a versão “B” (por exemplo, 25.11). Confirme se todos os nós de computação da sua frota executam a mesma versão principal, usando este comando de um nó de cluster:
scontrol show nodes | grep "Version=" # Example output: # NodeAddr=compute-1 NodeHostName=compute-1 Version=24.11.7 # NodeAddr=compute-2 NodeHostName=compute-2 Version=24.11.7
Confirme a versão do agente AWS PCS em um nó de computação. Conecte-se ao nó com o Systems Manager e verifique o log de bootstrap:
grep "PCS Agent version" /var/log/amazon/pcs/bootstrap.log | tail -1 # Example output: # /opt/aws/pcs/bin/pcs_bootstrap_init.sh: INFO: Bootstrap starting with PCS Agent version: 1.3.2-1
As atualizações contínuas exigem o agente AWS PCS versão 1.4.0 ou posterior em todas as AMIs de nós de computação. Para obter mais informações, consulte AWS Versões do agente PCS.
Etapa 1 — Preparar e implantar as AMIs de versão dupla
Crie ou identifique AMIs que incluam as versões A e B do Slurm e o agente PCS mais recente AWS .
-
Você pode usar os PCS-ready DLAMis mais recentes. Essas AMIs são fornecidas com as três versões mais recentes do Slurm suportadas. Para obter mais informações, consulte Usando o PCS-ready DLAMI com AWS PCS.
-
Você pode criar uma AMI personalizada seguindo as etapas de instalação dos pacotes Slurm e do agente AWS PCS. Para obter mais informações, consulte Imagens personalizadas da Amazon Machine (AMIs) para AWS PCS.
-
Você não pode usar uma amostra de AMI do AWS PCS. Essas AMIs não foram projetadas para produção e atualmente incluem apenas uma única versão do Slurm.
nota
Se sua AMI incluir mais de duas versões do Slurm, o AWS PCS selecionará automaticamente a versão que corresponde ao controlador. Ter versões adicionais instaladas não causa problemas.
Quando as AMIs estiverem prontas:
-
Chame
UpdateComputeNodeGroupcada grupo de nós de computação para definir a nova AMI de versão dupla. Os nós serão configurados no DRAIN pelo AWS PCS e migrarão para a nova AMI. -
Aguarde até que os nós esgotados concluam suas tarefas, sejam encerrados e substituídos por nós usando a nova AMI de versão dupla. Verifique se todas as instâncias do EC2 no cluster estão usando a nova AMI com:
aws ec2 describe-instances \ --filters "Name=tag:aws:pcs:cluster-id,Values=cluster-id" \ --query "Reservations[].Instances[].[InstanceId,ImageId,State.Name]" \ --output table
Etapa 2 — Atualizar o controlador de cluster
Ligue UpdateCluster com a versão scheduler.version configurada para a versão B.
Durante essa operação, o controlador fica brevemente indisponível:
-
Os trabalhos em execução nos nós de computação continuam sendo executados.
-
Novos envios de trabalhos e comandos do agendador não estarão disponíveis até que a atualização seja concluída.
-
O escalonamento automático é pausado até que o cluster retorne a.
ACTIVE
Após a atualização, a frota computacional está em um estado misto: os nós executados antes da atualização continuam usando a versão A do Slurmslurmd; os novos nós usam a versão B. Isso é esperado.
nota
Não adicione configurações do Slurm específicas para a versão B enquanto a frota ainda contiver nós na versão A. A configuração é distribuída para todos os nós; a antiga slurmd pode não reconhecer novos parâmetros.
Se o cluster não retornar para ACTIVE ou UPDATE_FAILED dentro de 30 minutos, entre em contato com o AWS Support para obter assistência.
Passo 3 — Drenar nós que ainda executam a versão A do Slurm
Identifique e drene os nós que ainda estão na versão anterior. Em um nó do cluster, execute:
scontrol show nodes | grep "Version=" scontrol update NodeName=nodeState=DRAIN Reason="Slurm version update"
Depois que os nós drenados terminam seus trabalhos atuais, eles são encerrados e substituídos por nós na versão B do Slurm.
Etapa 4 — Verifique a consistência da frota na versão B do Slurm
Confirme se todos os nós relatam a versão B. Em um nó do cluster, execute:
scontrol show nodes | grep "Version="
Agora, todos os nós devem relatar a versão B. O Slurm está concluído.
Opção 2: Full-fleet reciclar
Toda a frota é encerrada antes que o controlador seja atualizado e, em seguida, ampliada a partir de uma nova AMI com a versão de destino do Slurm. Esse procedimento é mais simples, mas exige que todos os nós e trabalhos em execução sejam encerrados.
Quando usar:
-
Você não pode fornecer AMIs com as duas versões do Slurm instaladas.
-
O controlador de cluster está na versão 23.11 (a opção 1 não está disponível para clusters 23.11).
nota
Encerrar toda a frota de uma só vez aumenta a probabilidade de erros de capacidade insuficientes ao aumentar a escala. Considere usar a capacidade reservada ou a programação fora do horário de pico.
Etapa 0 — Verifique o estado inicial
Seu cluster está executando a versão “A” do controlador (por exemplo, 24.11) e você deseja migrar para a versão “B” (por exemplo, 25.11). Confirme se todos os nós de computação da sua frota executam a mesma versão principal, usando este comando de um nó de cluster:
scontrol show nodes | grep "Version=" # Example output: # NodeAddr=compute-1 NodeHostName=compute-1 Version=24.11.7 # NodeAddr=compute-2 NodeHostName=compute-2 Version=24.11.7
Confirme a versão do agente AWS PCS em um nó de computação. Conecte-se ao nó com o Systems Manager e verifique o log de bootstrap:
grep "PCS Agent version" /var/log/amazon/pcs/bootstrap.log | tail -1 # Example output: # /opt/aws/pcs/bin/pcs_bootstrap_init.sh: INFO: Bootstrap starting with PCS Agent version: 1.3.2-1
Use o agente AWS PCS mais recente em suas AMIs de destino. Para obter mais informações, consulte AWS Versões do agente PCS.
Etapa 1 — Preparar as AMIs de destino
Crie ou identifique AMIs que incluam a versão B do Slurm e o agente PCS mais recente AWS .
-
Você pode usar os PCS-ready DLAMis mais recentes. Essas AMIs são fornecidas com as três versões mais recentes do Slurm suportadas. Para obter mais informações, consulte Usando o PCS-ready DLAMI com AWS PCS.
-
Você pode criar uma AMI personalizada seguindo as etapas de instalação dos pacotes Slurm e do agente AWS PCS. Para obter mais informações, consulte Imagens personalizadas da Amazon Machine (AMIs) para AWS PCS.
-
Não é recomendável usar o AMI de amostra do AWS PCS. Essas AMIs não foram projetadas para produção.
Etapa 2 — Reduza a escala de toda a frota
Registre o atual minNodeCount e maxNodeCount para cada grupo de nós de computação — você os restaurará na Etapa 4.
for cng in $(aws pcs list-compute-node-groups --cluster-identifiercluster-id--query "computeNodeGroups[].id" --output text); do aws pcs get-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifier "$cng" \ --query "computeNodeGroup.{Id:id,AmiId:amiId,Min:scalingConfiguration.minInstanceCount,Max:scalingConfiguration.maxInstanceCount}" \ --output table done
Atenção
A operação a seguir encerra todos os nós em execução e os trabalhos neles.
maxNodeCountDefina minNodeCount e para 0 em cada grupo de nós de computação:
aws pcs update-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifiercng-id\ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}'
Verifique se nenhuma instância com a tag aws:pcs:cluster-id correspondente ao seu cluster está em execução antes de continuar:
aws ec2 describe-instances \ --filters "Name=tag:aws:pcs:cluster-id,Values=cluster-id" \ --query "Reservations[].Instances[].[InstanceId,ImageId,State.Name]" \ --output table
Etapa 3 — Atualizar o controlador de cluster
Etapa 4 — Atualizar grupos de nós de computação e restaurar a capacidade
Para cada grupo de nós de computação, defina a nova AMI e restaure os limites originais de capacidade mínima e máxima:
aws pcs update-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifiercng-id\ --ami-idnew-ami-id\ --scaling-configuration '{"minNodeCount":previous-min, "maxNodeCount":previous-max}'
O cluster volta a crescer. Todos os novos nós executam o Slurm versão B com o agente AWS PCS mais recente.
Exemplo: atualização em várias versões
Se a versão de destino estiver fora da janela de compatibilidade da sua versão atual, você deverá mover o controlador por uma ou mais versões intermediárias, atualizando-o um salto por vez. Cada salto deve ter como alvo uma versão compatível dentro da janela de compatibilidade da versão atual do controlador.
Como Opção 2: Full-fleet reciclar dimensiona a frota para zero antes de atualizar o controlador, nenhum nó de computação está em execução enquanto o controlador se move entre as versões. Como resultado, suas AMIs podem usar diretamente a versão final de destino — somente a atualização do controlador (Etapa 3) é repetida em cada salto.
O exemplo a seguir atualiza um cluster de 23.11 para 25.11 usando o procedimento da Opção 2. 23.11 está fora da janela de compatibilidade de 25.11, portanto, o controlador é atualizado em dois saltos (23.11 a 25.05 e, em seguida, 25.05 a 25.11). Siga as etapas da Opção 2, com a Etapa 3 dividida em uma atualização por salto:
-
Etapa 1 — Prepare as AMIs de destino. Crie ou identifique AMIs com a versão final (25.11) e o agente AWS PCS mais recente. Consulte Etapa 1 — Preparar as AMIs de destino.
-
Etapa 2 — Reduza a escala de toda a frota. Registre a capacidade atual (consulteEtapa 2 — Reduza a escala de toda a frota) e defina cada grupo de nós de computação como zero.
aws pcs update-compute-node-group \ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}' -
Etapa 3a — Atualize o controlador de 23.11 para 25.05. Aguarde o retorno do cluster
ACTIVE.aws pcs update-cluster --cluster-identifiermy-cluster\ --scheduler version=25.05 -
Etapa 3b — Atualize o controlador de 25.05 para 25.11. Aguarde o retorno do cluster
ACTIVE.aws pcs update-cluster --cluster-identifiermy-cluster\ --scheduler version=25.11 -
Etapa 4 — Atualize os grupos de nós de computação e restaure a capacidade. Defina a AMI 25.11 em cada grupo de nós de computação e restaure os limites de capacidade originais (consulteEtapa 4 — Atualizar grupos de nós de computação e restaurar a capacidade).
aws pcs update-compute-node-group \ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --ami-idami-0123456789abcdef0\ --scaling-configuration '{"minNodeCount":previous-min, "maxNodeCount":previous-max}'
nota
Cada salto do controlador deve chegar a uma versão dentro da janela de compatibilidade da anterior. Para encontrar versões intermediárias válidas, consulteCompatibilidade da versão. A frota permanece em zero nas etapas 3a e 3b, portanto, nenhuma atualização intermediária da AMI é necessária.