Eu uso apt-dater para gerenciar a atualização de todas as minhas caixas Debian. Parece fazer o truque bem o suficiente. Ainda não tentei escalar centenas de hosts.
Na sua opinião, quais são as melhores práticas para manter dúzias (se não centenas) de servidores Debian em dia? Tendo em mente que:
Atualmente, quando eu finalmente termino todas as atualizações, uma nova atualização de segurança é postada, e eu tenho que fazer tudo de novo.
Obrigado antecipadamente pela comunidade de servidores!
Eu uso apt-dater para gerenciar a atualização de todas as minhas caixas Debian. Parece fazer o truque bem o suficiente. Ainda não tentei escalar centenas de hosts.
Estávamos testando usando o fantoche para atualizar correções de segurança em pacotes não essenciais. Nós rodávamos a apticron para enviar por e-mail uma lista de atualizações para cada servidor, e diariamente executávamos um script que mesclava essas atualizações em um arquivo de manifesto de fantoches que dava o pacote e a versão para cada distribuição. Isso atualizaria um monte de arquivos nos servidores individuais e iniciaria um script de atualização quando um pacote precisasse de atualização. Isso funcionou razoavelmente bem, mas não testamos tanto quanto eu gostaria. Esse esquema contornou a limitação do Puppet de não ter o mesmo recurso definido em vários lugares.
Eu também não estava confortável em fazer atualizações automáticas de coisas como MySQL ou PostgreSQL, onde uma atualização aleatória encerraria um serviço, possivelmente no meio do dia. Estes ainda exigiriam atualizações manuais.
Caminhada no Espaço e Debmars parecem alternativas adequadas para o nosso esquema de marionetes.
Aparentemente, o Spacewalk agora tem suporte preliminar para o Debian. Que, juntos, talvez, com o Puppet, seria o meu ponto de partida. Tenho certeza que o cara que desenvolve o suporte Debian para o Spacewalk vai adorar você por trabalhar com ele para levar o suporte Debian a um nível mais alto.
No caminho dos sistemas de configuração baseados em pull, como Puppet, também existem bcfg2 e cfengine. Um ou outro daqueles pode atender bem às suas necessidades. Estou lançando o bcfg2 no meu laboratório agora mesmo.
Uma solução pode ser dada por func
Não tenho certeza do tipo de solução que você espera. Você provavelmente sabe sobre cron jobs, mas eu não atualizaria os sistemas nos blinds, pois há intervenções humanas necessárias (e é por isso que eles pagam para você fazer isso, certo?)
Se você tivesse sistemas completamente idênticos, você poderia considerar usar algo como o rsync para trazer as diferenças, mas descobrir quais arquivos não rsync poderiam ser difíceis, e eu não faria isso enquanto os serviços estivessem rodando. Pelo menos os scripts de atualização são configurados para gerenciar a reinicialização dos serviços e a mesclagem nas diferenças do arquivo de configuração.
Talvez, se você explicar qual é o problema ao executar os comandos do apt-get, possamos ver o que você deseja evitar.
Se o problema for largura de banda e tempo para download, talvez você deva configurar uma caixa para agir como seu repositório local da Debian. Existem guias Debian sobre como fazer isso.
Veja algumas dicas sobre como minimizar o número de itens que você precisa atualizar.
Quando você instala o Debian, não instale o Desktop, a menos que você realmente precise usar o X nesse console. A maioria dos servidores não precisa do X instalado. Isso pode diminuir significativamente o número de pacotes no sistema, e você não precisa atualizar tantos pacotes.
Verifique se o sources.list está incluindo apenas os repositórios que você realmente precisa. Se você já experimentou algum repositório e esqueceu sobre isso, você pode estar trazendo atualizações que você não precisa ou deseja.
Se você tiver problemas para fazer atualizações cegamente em um servidor de produção, tenha o cuidado de consultar os guias de atualização do Debian quando houver uma grande atualização (4.0 a 5.0). Estes vão passar muito bem se você seguir as instruções de atualização. Não é tão fácil quanto rodar o apt-get dist-upgrade e ir embora. Às vezes, nas instruções, há até mesmo indicações sobre quando executar o aptitude em vez do apt-get - há pequenas diferenças nelas.
Você agora esta ferramenta "concha de dançarina"? Eu gosto e eu uso. Mas eu não sei se você pode usá-lo para tantos hosts. Talvez você possa tentar ...
E ele está no repositório.
ClusterSSH. Você faz logon em todos os servidores e fornece exatamente os mesmos comandos, assim você também pode reagir aos diálogos. Se um servidor obtiver uma pergunta extra, basta clicar naquele e será o único que responderá.
Eu usei para atualizar 25 servidores da etch para lenny. Trabalhou como um encanto.
O cluster ssh é uma boa sugestão.
O debmarshal ainda não faz parte do debian - eu não tenho certeza se será um pacote - parece ser um sistema completamente diferente com um repositório especializado. Como o orador disse, isso é atualmente hostil ao usuário, não amigável ao usuário.
O Spacewalk parece ser um clone da Rede Redhat, pelo menos na interface web. Eu tive resultados ruins de usar o Redhat Network para atualizar sistemas. Uma vez pendurado, por nenhuma razão aparente, e causou interrupção do serviço. Fiz uma atualização do yum imediatamente depois e resolvi tudo bem, então só posso assumir que o problema era algo que surgiu no lado da RHN. A outra coisa que eu não gosto sobre as atualizações da RHN é que você não sabe quando a atualização vai acontecer, para observar os problemas.