Linux na Web

InstalaĆ§Ć£o automatizada do CentOS 7

Tempo de leitura: 6 minutos
Kickstart

Como administrador de sistemas, as vezes temos muitas tarefas para realizar e precisamos organizar melhor nossas atividades para que dĆŖ tempo de fazer tudo e com qualidade. Mas mesmo assim temos aquelas tarefas que consomem nosso tempo, por exemplo, fazer aquela instalaĆ§Ć£o do CentOS 7 num servidor novo ou subir uma mĆ”quina virtual zerada para testes. :/

Mas mesmo assim temos aquelas tarefas que consomem nosso tempo, por exemplo, fazer aquela instalaĆ§Ć£o do CentOS 7 num servidor novo ou subir uma mĆ”quina virtual zerada para testes. :/

E lĆ” vamos nĆ³s, iniciar uma nova instalaĆ§Ć£o do CentOS, e ficar respondendo as perguntas do instalador, particionar o disco, escolher os pacotes que queremos, enfim, vamos perder um tempinho. Que tal automatizar esse processo!?

Vamos utilizar o Kickstart para agilizar isso, criando um script para automatizar a instalaĆ§Ć£o do CentOS.

Utilizando Kickstart

O Kickstart Ć© uma forma utilizada para automatizar a instalaĆ§Ć£o de sistemas com Red Hat e CentOS. Criamos um arquivo Kickstart contendo respostas para perguntas que sĆ£o solicitadas pelo instalador quando fazemos uma instalaĆ§Ć£o manual.

No momento de iniciar a instalaĆ§Ć£o, informamos o arquivo que criamos e o instalador irĆ” se encarregar de executar a instalaĆ§Ć£o automaticamente, sem precisar da nossa intervenĆ§Ć£o.

OpƧƵes do Kickstart

Entre as respostas e configuraƧƵes que podemos acrescentar no arquivo Kickstart estĆ£o:

  • Definir o local dos pacotes de instalaĆ§Ć£o;
  • Layout de teclado e linguagem;
  • Fuso horĆ”rio;
  • ConfiguraĆ§Ć£o da placa de rede;
  • Habilitar e desabilitar serviƧos;
  • Definir esquema de particionamento do disco;
  • Escolher pacotes que devem ser instalados;
  • Executar scripts de pĆ³s instalaĆ§Ć£o;

Processo de instalaĆ§Ć£o pelo Kickstart

Podemos realizar instalaƧƵes pelo Kickstart utilizando DVDs, HDs, Pendrives ou da nossa rede local (FTP, HTTP). Para iniciar o uso do script precisamos seguir alguns passos:

  • Criar um arquivo de Kickstart com nossas configuraƧƵes;
  • Disponibilizar o arquivo criado numa mĆ­dia ou pela rede;
  • Iniciar a instalaĆ§Ć£o passando o arquivo como parĆ¢metro;

Arquivo Kickstart no CentOS

Para este artigo vou utilizar o CentOS 7, mas tambƩm funciona em versƵes anteriores com algumas modificaƧƵes.

Quando fazemos uma instalaĆ§Ć£o do CentOS, ele sempre cria um arquivo na pasta /root chamada anaconda-ks.cfg. Esse arquivo contĆ©m todas as suas escolhas feitas durante o processo de instalaĆ§Ć£o manual, se vocĆŖ quiser pode iniciar seu script a partir desse arquivo.

Anaconda ks

Para este artigo, vamos criar um arquivo simples para demonstrar a utilizaĆ§Ć£o do Kickstart. Vamos chamar nosso arquivo de centos-ks.cfg, e o conteĆŗdo serĆ”:

Detalhes do arquivo de kickstart

Dentro do arquivo  tudo que for precedido por cerquilha (#) serĆ” considerado como comentĆ”rio.

auth –enableshadow –passalgo=sha512

Configura as opƧƵes de autenticaĆ§Ć£o do sistemas. O parĆ¢metro –enableshadow indica que vamos utilizar senhas shadow (senhas criptografadas). JĆ” a opĆ§Ć£o –passalgo=sha512, indica qual tipo de algoritmo hash iremos utilizar.

– cdrom

Origem da instalaĆ§Ć£o, ou seja, onde serĆ£o buscados os pacotes para a instalar o CentOS. No nosso caso informamos: cdrom. Outras opƧƵes sĆ£o harddrive, url(pode apontar para seu repositĆ³rio interno), nfs.

Alternativas:

– text

Executa a instalaĆ§Ć£o em modo texto, por padrĆ£o a instalaĆ§Ć£o kickstart Ć© de forma grĆ”fica (graphical)

– keyboard –vckeymap=br –xlayouts=’br’

Define o layout do teclado para o sistema, no caso, escolhemos a opĆ§Ć£o br para teclados abnt. PoderĆ­amos escolher us para teclados americanos.

– lang pt_BR.UTF-8

Define idioma do sistema e a codificaĆ§Ć£o.

– network –bootproto=dhcp –device=eth0 –activate

Definimos como a placa de rede irĆ” receber o IP. O parĆ¢metro –bootproto define o tipo para definiĆ§Ć£o do IP. O parĆ¢metro –device define o nome da interface que irĆ” receber o IP e o parĆ¢metro –activate habilita a interface no boot.

Para definir IP estƔtica usarƭamos:

– network –hostname=centos

Definimos o nome do host que estamos instalando.

– timezone America/Sao_Paulo

Define o fuso horƔrio do sistema.

– rootpw –iscrypted $6$$….

Define a senha do usuĆ”rio root na instalaĆ§Ć£o. O parĆ¢metro –iscrypted indica que a senha serĆ” criptografada. Para gerar a senha no hash sha512 use o comando abaixo:

– ignoredisk –only-use=sda

Caso vocĆŖ tenha diversos discos no servidor e queira usar somente 1, vocĆŖ pode ignorar todos os discos na instalaĆ§Ć£o, exceto os que forem especificados em –only.

– bootloader –location=mbr –boot-drive=sda

Definimos onde o gerenciador de boot (grub) serĆ” instalado. Definimos a instalaĆ§Ć£o para mbr do disco /dev/sda.

– zerombr

Esse parĆ¢metro permite que faƧamos o particionamento de disco que jĆ” foi particionado anteriormente. Caso nĆ£o coloque esse comando, o instalador sĆ³ irĆ” fazer  se o disco estiver zerado (nĆ£o usado anteriormente).

– clearpart –all –drives=sda

Remove todas as partiƧƵes do drive especificado, antes de fazer o particionamento.

– part /boot –fstype=”xfs” –ondisk=sda –size=512

Cria a partiĆ§Ć£o /boot, com o tipo de sistemas de arquivo como xfs, no disco /dev/sda com o tamanho de 512MB.

– part / –fstype=”ext4″ –ondisk=sda –size=100 –grow

Cria a partiĆ§Ć£o / (raiz), com o tipo de sistemas de arquivo como ext4, no disco /dev/sda com o tamanho iniciando com 100MB atĆ© completar todo disco. O parĆ¢metro –grow faz com que ocupe todo o espaƧo de disco restante.

– part swap –fstype=”swap” –ondisk=sda –size=1024

Cria a partiĆ§Ć£o swap no disco /dev/sda de tamanho de 1GB.

– reboot –eject

Reinicia o servidor apĆ³s a instalaĆ§Ć£o do CentOS. O parĆ¢metro –eject irĆ” tentar ejetar o DVD de instalaĆ§Ć£o.

– %packages … %end

Define a seĆ§Ć£o onde escolhemos os pacotes ou grupo de pacotes para serem instalados no nosso sistema. VocĆŖ pode digitar o nome do pacote ou um grupo que inicia com o caracter @. Alguns exemplos sĆ£o:

@core: Grupo de pacotes que representam os pacotes de uma instalaĆ§Ć£o bĆ”sica.
@Desktop: Grupo de pacotes para instalaĆ§Ć£o da interface grĆ”fica.

– %post –log=/root/post.log … %end

Podemos adicionar comandos para serem executados apĆ³s a instalaĆ§Ć£o do CentOS. No caso do script acima, fazemos a atualizaĆ§Ć£o dos pacotes do CentOS. O parĆ¢metro –log define um arquivo de log com a saĆ­da de todos os comando executados dentro do seĆ§Ć£o de pĆ³s instalaĆ§Ć£o.

Iniciando o processo de instalaĆ§Ć£o automatizada do CentOs

Podemos usar como mĆ­dia para dar boot no instalador tanto DVD como pendrives, neste artigo vou utilizar um DVD.

O script centos-ks.cfg poderia estar dentro de um DVD, de um HD, de um pendrive, mas para nosso exemplo, vou deixar numa pasta dentro de um servidor web:

centos-ks.cfg

Iniciamos o DVD de instalaĆ§Ć£o do CentOS e com as setas do teclados escolhemos a opĆ§Ć£o: Install CentOS 7:

inicio instalaĆ§Ć£o

Com a opĆ§Ć£o selecionada, teclamos TAB e serĆ” habilitado para ediĆ§Ć£o a linha que define os parĆ¢metros para o boot de instalaĆ§Ć£o. Ao final da linha adicionamos o parĆ¢metro inst.ks e o caminho do nosso script:

inst.ks

ApĆ³s digitado o parĆ¢metro, teclamos ENTER e pronto, todo o processo de instalaĆ§Ć£o irĆ” transcorrer sem precisar da sua intervenĆ§Ć£o:

inicio instalaĆ§Ć£o

VocĆŖ pode acompanhar os passos que o script segue:

processo instalaĆ§Ć£o

Ao termino da instalaĆ§Ć£o o sistema irĆ” reiniciar sozinho. Ao logar como root, podemos verificar que na pasta do root foram criados alguns arquivos. Entre eles o arquivo com os logs do pĆ³s instalaĆ§Ć£o:

arquivos gerados pelo kickstart

Pronto! Nada mais de perder tempo com instalaƧƵes do CentOS, vocĆŖ pode criar diversos scripts personalizados para cada situaĆ§Ć£o.

Caso queira se aprofundar mais sobre a instalaĆ§Ć£o personalizada, abaixo deixo um link para a documentaĆ§Ć£o do Red Hat:

Red Hat – InstalaƧƵes pelo kickstart

Sobre: 
Graduado em Sistemas de InformacĢ§aĢƒo com mais de 15 anos de atuacĢ§aĢƒo na aĢrea de TI. Entusiasta de tecnologia e software livre principalmente Linux em servidores.

0 ComentƔrios

Deixe uma resposta

O seu endereƧo de e-mail nĆ£o serĆ” publicado. Campos obrigatĆ³rios sĆ£o marcados com *

%d blogueiros gostam disto: