Kickstart

From Alessandro's Wiki
Jump to: navigation, search

Kickstart è un sistema di installazione che permette:

  • Installare una macchina remotamente
    • via rete
    • via cdrom
    • periferiche esterne

Creare un nuovo Profilo

i profili kickstart sono divisi in 3 parti

preparazione installazione

pre install

selezione pacchetti

post installazione

Installazione di una macchina con Kickstart

Installazione del Server

Servendosi del sistema PXE di boot attraverso ethernet, è possibile automatizzare per completo la messa a punto di un server o una workstation linux. In seguito si spiega come fare utilizzando scientific linux (RedHat).

  • PXE è la capacità del bios di una scheda madre e una scheda di rete di iniziare la fase di boot del sistema, procurandosi tutte le informazioni via ethernet.

Questo permette l'avvio di una installazione.

Attivare nel bios del computer (client), l'opzione "boot from LAN" o simili.
  • TFTP è il protocollo con cui il computer da installare riceverà i dati.
yum install tftp-server
vi /etc/xinetd.d/tftp

cambiare "disabled" da yes a no

service tftp
{
       socket_type             = dgram
       protocol                = udp
       wait                    = yes
       user                    = root
       server                  = /usr/sbin/in.tftpd
       server_args             = -s /tftpboot
       disable                 = no
       per_source              = 11
       cps                     = 100 2
       flags                   = IPv4
}
  • change the file /etc/xinetd.conf to allow network hosts, commenting the following line:
only_from       = localhost

Riavviare xinetd

chkconfig xinetd on
service xinetd restart

Aprire porte firewall (se attivo)

  • FTP
-A INPUT -p tcp -m tcp --dport 20:21    -j ACCEPT
  • HTTP
-A INPUT -p tcp -m tcp --dport 80    -j ACCEPT

Creare il file di avvio che leggerà il client nella direcotry

/tftpboot/pxelinux.cfg/

quando un pc richiede l'ip all'avvio, il server gli assegna un indirizzo e gli invia un boot loader, dopodiché cerca nella directory specificata un file con l'indirizzo ip in forma esadecimale. Di seguito riporto la lista dal primo all'ultimo file cercato:

C0A852C9 (192.168.82.201)
C0A852   (192.168.82.*)
C0A8     (192.168.*)
C0       (192.*)

Quindi se vogliamo installare un solo host scriveremo un file di avvio con l'indirizzo completo, come C0A852C9 , se invece il sistema deve essere + generico, riferiremo all'intero segmento di rete che forniamo NetBoot, quindi utilizzeremo C0A852

C0A852

[root@host pxelinux.cfg]# cat C0A852
default hd
prompt 1
timeout 100
display boot.msg
F1 boot.msg 
label install
kernel sl5/vmlinuz
append initrd=sl5/initrd.img ramdisk_size=8192 ksdevice=eth0 ks=http://192.168.82.1/storage.ks keymap=it noipv6
  • l'opzione ksdevice=eth0 può creare confusione nel caso in cui ci siano più di una interfaccie di rete, soluzione: (da fedora9 wiki)
 ksdevice=bootif
 append initrd=/SL/6/x86_64/initrd.img ip=dhcp ks=nfs:networkbootserver:/diskless/iso/SL/6/x86_64/os/ text rd_NO_LVM selinux=0 nomodetest
  • ks=nfs:<server>:/<path>
label hd
 localboot 0