Como iniciar remotamente o netinstall do CentOS 7?

1

Tenho mais de 50 máquinas rodando o CentOS 6.4 ou o 6.8. Desejo reinstalar essas máquinas com o CentOS 7 usando um script de configuração (por exemplo, usando o modelo "basic server" e configurando hostname / static IP com base na ID de hardware), usando mídia de instalação em um compartilhamento NFS e / ou CIFS público na minha rede local. Mais tarde, pretendo controlar remotamente essas máquinas com o Ansible, por isso gostaria de executar um script de pós-instalação também.

Como posso remotamente (via SSH) acionar esta re-instalação?

Com base na resposta de Iain e fazendo algumas pesquisas, aqui está como executar esse tipo de instalação a partir do CentOS 7:

Faça o download de vmlinuz e initrd.img no boot:

sudo curl -o /boot/vmlinuz http://mirror.zetup.net/CentOS/7/os/x86_64/isolinux/vmlinuz
sudo curl -o /boot/initrd.img http://mirror.zetup.net/CentOS/7/os/x86_64/isolinux/initrd.img

Adicione uma entrada de menu personalizada em /etc/grub.d/40_custom :

menuentry "My custom boot entry" {
    set root=(hd0,1)
    linux /vmlinuz ks=http://my-server/ks.cfg
    initrd /initrd.img
}

Adicione opções adicionais na linha linux acima.

Torne a entrada personalizada a opção padrão em /etc/default/grub :

GRUB_DEFAULT="My custom boot entry"

Em seguida, execute:

grub2-mkconfig --output=/boot/grub2/grub.cfg

Pegue uma xícara de café e reinicie:

reboot
    
por fredrik 28.12.2015 / 10:17

1 resposta

6

Você pode reinstalar a partir do grub inicializando um kernel com parâmetros de linha de comando adequados. Eu delineei o processo para EL6 aqui mas há algumas mudanças que precisam ser feitas para o EL7. Este é apenas um esboço, mas você deve ir na direção certa.

Transfira /centos/7/os/x86_64/isolinux/vmlinuz para /boot de um repo à sua escolha
Transfira /centos/7/os/x86_64/isolinux/initrd.img para /boot

Configure uma entrada do grub - coloque isso primeiro.

title Install CentOS7
kernel /vmlinuz ro upgradeany biosdevname=0 net.ifnames=0 ip=192.168.254.44::192.168.254.220:255.255.255.0:somehost.tld:eth0:none ks=http://server.tld/ks/kickstart.ks  nameserver=8.8.8.8 headless vnc vncpassword=SomePassword
initrd /initrd.img

O item acima inicializaria o kernel de instalação e configuraria seu IPv4 conforme descrito, isso então puxa o script de kickstart e instala o sistema a partir daí.

Notas: Quando fiz isso, era um requisito que o sistema usasse nomes de interface ethN antigos. Se você quiser a nova nomenclatura consistente, então você pode ter que descobrir como fornecer interface para a estrofe ip

ip=address::gateway:netmask:hostname:interface:method

você pode se safar com

ip=dhcp

pode ser é possível omitir a interface, por exemplo

ip=address::gateway:metmask:hostname::none

Depois de conseguir este trabalho, funciona bem. Você provavelmente vai querer dar uma olhada nas opções em a documentação relevante .

Eu inicio um servidor VNC para ver o que está acontecendo se precisar ser omitido.

O parâmetro headless impede o sistema de procurar e inicializar o hardware de vídeo que você pode querer omitir e assistir no console IPMI.

    
por 28.12.2015 / 12:06