Sincronizando configurações do servidor

1

Eu tenho vários servidores Solaris e Linux que nossa equipe gostaria de criar um layout comum para instalações e locais de nossas instalações personalizadas. Essencialmente, não recebemos root de acesso para instalar cegamente em qualquer lugar, mas temos acesso suficiente para instalar vários aplicativos localmente ou na nossa pasta /opt/ , mas precisaria fazer isso na maioria dos nossos servidores.

O que eu quero ser capaz de fazer é configurar uma solução comum para sincronizar um conjunto comum de ferramentas para instalar em nossos servidores, com possíveis personalizações que servidores selecionados não instalarão x-1.3.0 no servidor y-prod , para exemplo.

Além disso, seria útil incluir a configuração e / ou sincronização de chaves .ssh nos servidores para que eles possam se comunicar sem senhas. O mesmo vale para vários arquivos .profile, .bashrc e quaisquer arquivos .dot adicionais necessários para uma configuração comum.

Nossa equipe não tem acesso cego root a esses servidores, mas podemos instalá-los em nossas pastas /home/ ou /opt/ locais, portanto, teoricamente, poderíamos criar scripts para a grande maioria da configuração do servidor. Eu não acho que seria difícil fazer isso manualmente, ou mesmo escrever algo em Ruby ou Python, mas se há uma ferramenta lá fora que já faz isso, seria excelente ficar de pé sobre os ombros dos gigantes. para esta tarefa em particular.

    
por Nick Klauer 13.07.2009 / 22:31

3 respostas

3

Acho que qualquer um desses aplicativos Ruby irá atendê-lo:

  • puppet a solução de gerenciamento de configuração.
  • chef um sistema quadro de integração, construído para trazer os benefícios do gerenciamento de configuração para toda a sua infraestrutura.
  • polvilhe uma nova ferramenta protótipo que você pode usar para provisionar seus servidores / fatias .

Escolha o que melhor lhe convier.

    
por 13.07.2009 / 22:43
3

Eu vou fazer o marionete dançar em você, com a ressalva de que, sem acesso ao root, você não vai para poder fazer muito com a instalação de pacotes do sistema (mas você pode não estar falando sobre isso).

Apesar do que muita gente pensa, você pode executar Puppet a partir de uma conta de usuário sem muita dor - certamente muito menos dor do que você vai ter que tentar crescer em qualquer coisa. Você provavelmente será melhor escrever um provedor de pacote personalizado para lidar com qualquer formato que você distribuir seus pacotes /opt -installing, que será mais limpo do que tentar exec coisas aqui e agora.

    
por 13.07.2009 / 22:38
0

Bem fora do topo da minha cabeça, existem duas opções:

1) Use uma máquina de "referência" para fazer a instalação inicial, depois rsync a árvore inteira / opt ao redor; ou

2) convença seu grupo de TI a configurar um compartilhamento nfs em algum lugar para instalar o software e, em seguida, nfs montá-lo nas máquinas de destino.

Eu prefiro a segunda opção, se você assumir que pode obter espaço em um servidor NFS adequado em algum lugar.

    
por 13.07.2009 / 22:43