Como manter 40 cópias da mesma instalação do computador?

0

Eu sirvo 40 terminais instalados fixos (com tela sensível ao toque, sem mouse ou teclado conectados) em um ambiente. Todos esses 40 PCs têm uma versão simplificada do Ubuntu e do Chromium instalados, já que sua única finalidade é atender a um aplicativo da web em modo de tela cheia.

Agora, aqui está o problema: há alguns dias, tivemos uma falha de energia, todos os terminais foram desligados. Quando eu os reiniciei novamente, nem a tela sensível ao toque de uma única pessoa funcionou, não tenho ideia do motivo. No entanto, reinstalar o sistema com uma unidade flash CloneZilla resolveu o problema. O que foi muito trabalho - conectar teclado & flash drive, altere as configurações do BIOS para inicializar a partir da unidade flash, reinstale todos os 40 terminais.

Como isso pode ser feito de uma maneira melhor? Meu cenário de sonho seria deplicar uma mudança (digamos que eu gostaria de ter um pequeno servidor NodeJs em cada terminal também, ou configurar o acesso SSH). Eu olhei para a execução de servidores PXE, mas isso aparentemente leva muito tempo (800 MB de imagem x 40 leva algum tempo para baixar).

Alguém tem uma solução melhor sobre como essa configuração pode ser mantida de uma maneira melhor?

    
por chr_lt_ney 02.03.2018 / 18:41

2 respostas

4

Bem, o PXE não precisa ser um caso em que você faz o download da imagem para cada servidor quando eles são inicializados. Na verdade, o uso mais tradicional para ele (pelo menos quando lidando com sistemas UNIX) era fornecer inicialização sem disco para sistemas que tinham seu sistema de arquivos raiz no NFS (ou atualmente possivelmente algum outro sistema de arquivos de rede). Eu não tenho certeza de quão bem isso pode funcionar para você (ele negocia os problemas de tempo do PXE para um único ponto de falha no servidor NFS), mas pode valer a pena olhar. Você também pode fazer coisas parecidas com o iSCSI ou o NBD, embora isso seja um pouco mais complicado de configurar.

Você também pode olhar para a possibilidade de fazer o carregamento de uma cadeia de modo similar ao SystemRescueCD . Quando se está inicializando, ele só precisa carregar o syslinux, o kernel e o disco RAM inicial através do TFTP, e pode então carregar a imagem real do sistema através de outro protocolo (por exemplo, onde eu trabalho, nós o fazemos através do HTTP). O TFTP é um protocolo terrivelmente ineficiente (requer que cada bloco seja reconhecido separadamente antes que o próximo bloco possa ser enviado e use um tamanho de bloco muito pequeno por padrão), portanto, isso pode acelerar significativamente o processo (temos a rede onde trabalho configure para o netboot SystemRescueCD e faça com que ele carregue a imagem do sistema por HTTP em vez de TFTP, o que reduz o tempo de inicialização de quase 15 minutos para cerca de 3 nos sistemas em que eu testei quando o configurei.

Dado que você está executando algo baseado no Ubuntu, você pode usar uma combinação de MAAS e Juju , como essa é a pilha padrão para fazer esse tipo de coisa com o Ubuntu.

Além de tudo isso, se você puder presumir com segurança que as interrupções em massa, como as que você viu, são raras (e, portanto, você provavelmente não precisará reinstalar todos os 40 sistemas de uma só vez), talvez veja um gerenciamento automatizado ferramenta. Não ajudaria na instalação de sistemas, mas simplificaria muito a implementação de alterações na configuração ou pacotes nos sistemas. Eu particularmente gosto de Ansible para esse tipo de coisa, em grande parte por causa de como é simples de montar (você literalmente só precisa login SSH sem senha e um único pacote python específico instalado nos sistemas que você pretende gerenciar) e o fato de que ele usa uma linguagem stateful (principalmente) declarativa para lidar com tarefas que são realmente fáceis de aprender. Marionete , Chef e Salt são as outras três opções populares para esse tipo de coisa, mas eu nunca tive nenhuma experiência pessoal com elas além da avaliação superficial, então eu não posso realmente dê qualquer conselho sobre qual pode ser melhor para o seu uso.

    
por 02.03.2018 / 19:11
0

Eu também recomendo o boot PXE sem disco, mas como alternativa, você poderia facilmente fazer backup de um sistema e depois restaurá-lo para todos os 40 nesta situação. Isso seria mais rápido do que reinstalar 40 vezes.

    
por 02.03.2018 / 21:15