Anexa à mesma sessão tmux a partir de nós diferentes de um cluster

5

Estou trabalhando em um cluster de computação que possui várias centenas de nós. Um esquema de balanceamento de carga seleciona um nó ocioso para efetuar login quando estiver realizando ssh no cluster. Como resultado, é muito improvável que faça login novamente em uma máquina anterior em chamadas subsequentes para o ssh.

No entanto, gostaria de usar tmux no controle remoto para configurar uma sessão que persiste entre diferentes logins.

Estou procurando opções diferentes que podem ser usadas para alcançar o comportamento desejado. Eu criei a seguinte opção, que, no entanto, não é realmente uma "boa" solução:

  • Escolha um nó e siga-o.
    Ou seja depois de ser logado na máquina node-XXXX pelo load-balancer abra uma nova conexão ssh para node-0042 e execute tmux lá.

    Usando ssh ' ProxyCommand , isso pode ser conseguido de maneira perfeita, ou seja, o usuário digita ssh node-0042 , que abre uma conexão com o login do cluster e usa essa conexão como proxy para uma conexão. node-0042 .

    Isso tem a desvantagem óbvia de que o usuário não ganha nada com o mecanismo de balanceamento de carga.

Você tem algum conselho sobre como lidar com essa situação? Alguma idéia de uma abordagem diferente para resolvê-lo (é possível "mover" um servidor tmux em execução para uma máquina diferente [que é uma cópia carbono da máquina atual]?).

    
por elemakil 21.11.2014 / 13:17

1 resposta

0

Você pode configurar um endereço de serviço para a sua máquina shell, para que uma entrada DNS possa apontar para onde quer que esteja. Com algum tipo de serviço DNS dinâmico ou software de alta disponibilidade, você pode usar o mesmo nome de host todas as vezes.

Se você conseguir executar VMs além desses recursos, poderá inicializar o seu SO favorito apenas para executar o shell e anexar ao tmux (executando sessões ssh ou qualquer outra coisa). O endereço estático seria para essa VM de shell. Se você tiver a capacidade de migrar ao vivo, ela poderá continuar em execução quando alguns nós tiverem que ser removidos para manutenção.

    
por 29.12.2014 / 06:23