Existe uma maneira de executar scripts de kickstart em um servidor pré-existente?

4

Normalmente, fornecemos servidores usando scripts de kickstart (servidos pelo Cobbler) ao instalar o sistema operacional.

Mas nós receberemos um novo servidor de um ISP que já tenha o sistema operacional instalado e possivelmente sem acesso remoto ao console.

Existe uma maneira de reiniciar um servidor linux (mesmo sistema operacional que normalmente usamos) e forçá-lo a reinstalar usando um script kickstart?

    
por Rob 30.05.2013 / 16:10

5 respostas

4

Você pode tentar usar um servidor de cobras .

Uma vez configurado, tanto o servidor quanto a máquina cliente, ele fornecerá uma interface de curses para selecionar um arquivo de kickstart entre outras opções.

    
por 30.05.2013 / 18:52
4

Se você tiver uma partição física separada para a qual copiar sua mídia de instalação, poderá fazer isso e modificar o Grub para o Kickstart na inicialização.

install harddrive --partition=sdb2 --dir=/path/to/installation-media

Adicione a /etc/grub.conf :

title Reinstall CentOS 6
    root(hd0,0)
    kernel /vmlinuz-kickstart ks=kickstart.cfg
    initrd /initrd-kickstart.img

Você precisará modificar os valores acima (quando apropriado) para o seu ambiente. O Kernel e o ramdisk inicial podem ser copiados da mídia de instalação (geralmente no ./ isolinux diretório.) Nota: Eu adicionei -kickstart aos nomes dos arquivos para que eles se destacassem em uma lista de diretórios.

Por último, defina a entrada padrão do Grub para esta e reinicie. (Conte as instâncias de title , começando em 0.)

Eu não posso enfatizar o suficiente para que você teste isso localmente em uma VM do VirtualBox ou algo semelhante antes de tentar em um sistema colocado.

Para mais informações: Opções do Kickstart
Iniciando uma instalação do Kickstart

    
por 30.05.2013 / 18:52
1

Você mesmo pode fazer a instalação se o provedor lhe der acesso remoto ao hardware de gerenciamento fora de banda do servidor (por exemplo, IPMI, iLO, DRAC). Se você não obtiver tal acesso, ou se o servidor não tiver esse hardware, provavelmente você não deve fazer negócios com eles e encontrar outro provedor.

    
por 30.05.2013 / 17:32
1

Não tenho como fazer um kickstart em um servidor já instalado (embora eu não seja um cara do CentOS / Redhat, então é totalmente possível que eu não saiba do que falo).

A solução de Michael Hampton funciona se você tiver o KVM remoto (com mídia remota e largura de banda decente), mas na sua situação Eu sugeriria analisar o gerenciamento de implantação / configuração por meio do Puppet , Chef ou uma das muitas outras ferramentas disponíveis.
As ferramentas de Gerenciamento de Configuração / Implantação permitem garantir que todos os seus servidores correspondam a uma configuração padrão independente de seu estado inicial (portanto, se seu ISP fornecer a você um sistema praticamente inutilizável, você poderá instalá-lo rapidamente) e obterá o benefício de gerenciamento contínuo para instalar atualizações e afins.

É um pouco mais de uma solução de longo prazo e há definitivamente uma curva de aprendizado envolvida, mas provavelmente vale a pena se você estiver gerenciando um monte de máquinas daqui para frente.

    
por 30.05.2013 / 18:04
1

Recentemente, pediram que eu fizesse exatamente isso e, como parte da busca por uma solução, encontrei este Q & A.

Como Michael diz que o out-of-band é o preferido, mas nem sempre está disponível.

Eu olhei para o servidor da cobra que Dawud sugere. Ele funciona, mas não é amado e há erros em sua documentação. Eu não recomendaria usá-lo.

Eu perguntei no IRC #centos e eles me apontaram para instalar do grub . Isso é semelhante à solução de Aaron, mas usa recursos de rede em vez de uma partição separada. Isto é o que acabei implementando. A essência é

  • Faça o download da instalação vmlinuz e initrd.img para / boot
    • wget -N http://mirror.centos.org/centos/6.5/os/x86_64/isolinux/vmlinuz
    • wget -N http://mirror.centos.org/centos/6.5/os/x86_64/isolinux/initrd.img
  • Edite o /boot/grub/grub.conf e crie uma entrada para o novo kernel

    • title Reinstall CentOS kernel /vmlinuz ro upgradeany ip=192.168.254.44 netmask=255.255.255.0 hostname=somehost.tld ks=http://server.tld/ks/kickstart.ks gateway=192.168.254.220 dns=8.8.8.8 headless vnc vncpassword=SomePassword initrd /initrd.img
  • No server.tld você precisará ter o httpd servindo um arquivo de kickstart adequadamente configurado, o importante aqui é a diretiva de url

  • url --url http://mirror.centos.com/centos/6.5/os/x86_64

Isso faz com que os arquivos de instalação sejam copiados do sistema remoto chamado.

Isso obviamente só funciona se você puder instalar seu próprio kernel, por exemplo, não funcionaria com um droplet Digital Ocean.

Você pode facilmente desconfigurar algo enquanto desenvolve a solução, então eu não recomendaria fazer isso em um sistema que não possui algum método de reinstalar a imagem dos provedores de serviços facilmente.

Desde que comecei a trabalhar, não encontrei nenhum problema.

    
por 09.10.2014 / 18:58