Cobbler foi criado para isso.
Minha empresa precisa criar uma grande quantidade de máquinas até o final do ano. Cada uma das máquinas terá o hardware RAID 1 e o CentOS 6.
Quais opções eu tenho para automatizar a instalação do SO nesses sistemas?
Eu tenho um pequeno mini desktop que eu posso configurar como um servidor de instalação, e nós podemos ter um switch para criar uma rede de instalação, mas eu não tenho certeza sobre como fazer realmente executar as instalações automatizadas.
Cobbler foi criado para isso.
HowToForge tem um ótimo artigo para iniciar esse processo aqui
Basicamente, o seguinte é uma lista de alto nível de atividades que seriam necessárias:
O Foreman é uma ótima interface para gerenciar DNS, DHCP, PXE, Kickstart e Puppet.
Editar: É melhor você colocar qualquer software que você escolher para instalação, em um servidor dedicado. (Talvez o seu escritório possa poupar um dos 500+ que eles têm) Mesmo que você faça isso uma ou duas vezes por ano, essa infraestrutura de provisionamento pertence ao resto de sua infra-estrutura "importante", não em um desktop.
Aviso: Sou um desenvolvedor do Stacki; um usuário do Stacki apenas apontou essa questão para nós. No momento em que a pergunta foi escrita, Stacki ainda não era um projeto de código aberto, mas agora está , em desenvolvimento ativo com um comunidade crescente.
Portanto, mesmo que a questão já esteja antiga, eu gostaria de adicionar o Stacki como uma possibilidade para futuros Googlers.
Stacki tem alguma sobreposição com Foreman / Cobbler / et al. (Inicialização PXE com arquivos de kickstart com templates, etc), mas alguns recursos interessantes também. Por exemplo, temos um instalador peer-to-peer parecido com torrent, assim você não está martelando o nó de provisionamento. Ele faz configuração complexa de particionamento, rede e controlador de armazenamento por meio de planilhas que você define que são controladas por versão e armazenadas em um RDBMS. Há também um aspecto de gerenciamento de configuração de software que é totalmente capaz de configurar coisas tão complexas como o OpenStack ou o Hadoop, mas também é agnóstico o suficiente para apenas instalar algo como Ansible e iniciar seus playbooks já escritos.
Se você quiser experimentar, o site Stacki tem um ISO inicializável na primeira página, e também há instruções no GitHub para receba nossa caixa Vagrant pré-configurada (que - por nenhuma razão particular - não está hospedada no Atlas, mas provavelmente deveria estar).
Embora eu suporte totalmente o que @NickV está dizendo, não subestime o poder da abordagem simplista de imagens completas com, digamos, um armazenamento em USB / disco. Especialmente se você não está acostumado com o funcionamento do DHCP, servidores HTTP, kickstart, TFTP e o resto. O que eu descobri é que quando você pega tudo isso, você pode ter um sistema instalado para obter uma imagem completa do disco de boot (com um dos muitos softwares que podem fazer isso) copiar essa imagem para quantos dispositivos USB você quer e arrancar a partir dele em quantos sistemas você desejar e ficar meio pronto.
Agora, se você está configurando isso como uma distribuição permanente, o trabalho extra descrito por @NickV certamente irá beneficiá-lo a longo prazo.
Você pode não querer fazer a abordagem de imagem de pendrive com 500 máquinas, MAS, você pode muito bem usar a abordagem de imagem usando o CloneZilla, o multicast na rede a partir de um servidor. Veja
para detalhes.
O MAAS é uma ótima solução para isso. Projetado para implantar grandes nuvens usando automação. É muito mais do que uma inicialização pxe de um sapateiro ... Ele gerencia o estado de energia, os usuários, instala imagens, etc.