1 Installazione centralizzata multidistribuzione

Transcript

1 Installazione centralizzata multidistribuzione
T2 referee
Pisa
30 Giugno 2006
1
Installazione centralizzata
multidistribuzione
Presentato d a Enrico Mazzoni, IN FN Pisa
p er il Servizio Calcolo e Reti
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
Introduzione
2
Premessa ....
➢
Non vi dirò di aver inventato l'acqua calda...
➢
...ma solo di averla usata spero meglio che non per lessare
una patata...
➢
...magari ne è venuto fuori un buon caffe!!
.... conseguenza ....
➢
Vi tedierò con un po' di shell scripting...
➢
...non me ne vogliate troppo, mi hanno allevato “a pane e
UNIX”!!!
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
➢
D a dove nasce il sistema
3
Nasce nel 2001 per una necessità:
a fronte di una infrastruttura UNIX/Linux definita (auth AFS,
syslog centralizzato, politiche di sicurezza definite) mancava
riproducibilità e standardizzazione dell'installazione
➢
Garantire flessibilità per compensare differenze hardware
e personalizzazioni specifiche dei gruppi
➢
Si usava: floppy bootnet + KS + script fatto in casa
eseguito dopo il primo boot
➢
Dal 2004 profonda rivoluzione dovuta a:
✔
✔
✔
diffusione capillare di PXE sulle NIC
consolidamento infrastruttura di rete
aumento delle distribuzioni da gestire
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
➢
Ingredienti attuali
4
Server DHCP deve:
1. fornire conf. di rete alla macchina
➢
2. dirgli che cosa caricare
(filename
"pxelinux.0";)
3. dirgli da dove caricarlo
(next-server
swsrv.pi.infn.it;)
Server TFTP deve:
fornisce al PXE della NIC il bootloader e la sua configurazione grazie
alle info ricevute via DHCP
➢
Repository delle distribuzioni:
macchina con copia delle distribuzioni accessibili tramite protocollo
anonimo (NFS, FTP, HTTP)
➢
Server DNS:
fornisce al sistema informazioni riguardanti la macchina (tipo di
installazione, utente/gruppo “proprietario”) queste informazioni prima
erano immesse a mano dall'operatore
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
Ingredienti all'opera
5
DHCP
TFTP
IP
swsrv.pi.infn.it
pxelinux.0
DNS
Nuova CPU
BootLoader+conf
MAC
hex(IP/32)
hex(IP/24)
hex(IP/16)
hex(IP/8)
default
informazioni per
postinstall
KS
distribuzione
Enrico Mazzoni, INFN Pisa
Repository
T2 referee
Pisa
30 Giugno 2006
Boot Loader conf. 1
6
➢
Diverse reti IP ciascuna dedicata a tipologie di macchine diverse
(server centrali e farm, desktop, portatili, ospiti, sistemi DAQ)
➢
Per ciascuna rete un file di configurazione del Boot Loader
diverso => diverse condizioni al contorno per l'installazione
➢
default = boot dal disco
➢
Per tutti disponibili utility generiche come memtest e rescue
system
➢
File specifici per nodi particolari, es. macchine grid
➢
Possibile “portare” (soft. link) i file di configurazioni fuori dal
TFTP server (AFS) per dare autonomia di installazione ai gruppi
Vediamo alcuni esempi
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
Boot Loader conf. 2 (server – farm D 4D B98)
7
default
localdisk
prompt
1
timeout
1200
display
pxelinux.cfg/server/boot.msg
F1
pxelinux.cfg/server/boot.msg
F2
pxelinux.cfg/server/general.msg
F3
pxelinux.cfg/server/param.msg
F4
pxelinux.cfg/server/rescue.msg
F7
pxelinux.cfg/server/snake.msg
[...]
# Scientific Linux 3.0.5 i386
label sl-305-i386
kernel sl/3.0.5/i386/vmlinuz
append ksdevice=eth0 ip=dhcp initrd=sl/3.0.5/i386/initrd.img network load_ramdisk=1
ks=http://swsrv.pi.infn.it/misc/ks/infnpi/server-sl305-i386.ks
[...]
# rescue i386
label rescue-i386
kernel suse/9.3/i386/linux
append initrd=suse/9.3/i386/initrd load_ramdisk=1 ramdisk_size=65536 rescue=1 textmode=1
showopts
[...]
# memtest
label memtest
kernel utils/memtest
# boot from local hard disk
label localdisk
localboot 0
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
Boot Loader conf. 3 (WN grid D 4BD 9972)
8
default slc-304-i386
timeout 10
# Installazione INFN-PISA Aprile 2006
label slc-304-i386
kernel slc/3.0.4/i386/vmlinuz
append ksdevice=eth0 ip=dhcp initrd=slc/3.0.4/i386/initrd.img network load_ramdisk=1
ks=http://swsrv.pi.infn.it/misc/ks/grid/ng-hda-slc304.ks
➢
Sia file di conf. che KS si trovano in area AFS
➢
CMS può installare la sua farm grid quando vuole senza accesso
ai server centrali
➢
CMS usa l'infrastruttura di Sezione per l'installazione della sua
farm grid
➢
Struttura analoga per altre farm di gruppo non grid (Atlas,
gruppo collegato SI)
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
D istribuzioni gestite
9
Welcome to INFN-Pisa Central Installation Service for server machines
The available distributions are (call <distr>-<ver>-<plat>):
distr
ver
plat
==============================================================
1 sles
80 90 100
i386 x86_64
2 suse
82 90 91 92 93 100
i386 x86_64
3 sl
305 410
i386 x86_64
4 slc
304 306 410
i386 x86_64
5 rh
30el 73 90
i386
rescue
i386 x86_64
memtest
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
KickStart 1
10
➢
Diversi KS a seconda della tipologia di nodo (server, desktop, grid,
ecc...)
➢
Postinstall comune a tutti i nodi:
1. spenti alcuni servizi inutili
2. configurato syslog centralizzato
3. riconfigurato PAM per autenticazione AFS
4. configurazione client AFS
5. configurazione APT
6. configurazione CERN-lib, root, sistema di stampa
➢
Postinstall specifico di gruppo:
1. modifiche /etc/fstab per filesystem remoti
2. aggiunta utenti abilitati al login sulla macchina
3. installazione e configurazione ganglia
4. configurazione chiavi pubbliche per login ssh (root)
5. esecuzione di ulteriore script specifico per tipo di nodo
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
KickStart 2
11
Info necessarie al Postinstall specifico di gruppo ricavate dal DNS
host -t HINFO atlfarm02.pi.infn.it
atlfarm02.pi.infn.it host information
"PC Pentium III 2x800, FARM-ATLAS | TDP | ATLAS_farmwn" "PC"
Responsabile
Gruppo
Tipo nodo
host -t HINFO cmsse1.pi.infn.it
cmsse1.pi.infn.it host information
"SUN V20z SE di CMS | F. Calzolari | grid_gridse_ig-SE-classic" "PC"
Ulteriore info di gruppo
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
➢
KickStart 3 (use case grid)
12
Grazie al postinstall specifico di gruppo si modifica rc.local in modo
che al primo boot:
1. si installa Java e tool di YAIM
2. si copiano site-info.def e wn-list.conf
3. si installano certificati (se necessario) prendendoli da AFS in formato p12 con password
4. si esegue installazione e configurazione middleware grid
➢
Dall'avvio dell'installazione il primo ed unico intervento umano è per
immettere la password di protezione dei certificati!
➢
Alla fine dell'operazione il nodo è pronto per calcolare!
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
KickStart 4 (use case grid cont.)
13
Postinstall KS
[...]
wget -q –output-document=tmp/post
http://swsrv.pi.infn.it/misc/post/$growner/post.$nodetype
[...]
tmp/post $growner $nodetype $nodeinfo $nodename
Postinstall specifico di gruppo
#!/bin/bash
#
# Creo il file firstboot con alcune info riguardanti il nodo
#
touch usr/local/lxmng/firstboot
echo "growner=$1" >> usr/local/lxmng/firstboot
echo "nodetype=$2" >> usr/local/lxmng/firstboot
echo "nodeinfo=$3" >> usr/local/lxmng/firstboot
echo "nodename="`echo $4 | cut -f1 -d"."` >> usr/local/lxmng/firstboot
#
# Modifico il rc.local in modo che vengano eseguite le operazioni
# necessarie al primo avvio
#
cp -a etc/rc.d/rc.local etc/rc.d/rc.local.orig
wget -q --output-document=- http://swsrv.pi.infn.it/misc/post/grid/rc.local >>
etc/rc.d/rc.local
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
KickStart 5 (use case grid cont.)
14
rc.local
if [ -f /usr/local/lxmng/firstboot ]; then
source /usr/local/lxmng/firstboot
gridnode=`echo $nodeinfo | cut -f3 -d"_" | tr - _`
rpm -i /afs/pi.infn.it/pisw/CIS/post/grid/rpms_270/*.rpm
mkdir /root/conf-files
cp /afs/pi.infn.it/project/grid/prod/site-info-$nodename.def /root/conf-files/site-info.def
cp /afs/pi.infn.it/project/grid/prod/wn-list.conf /root/conf-files/.
ln -sf /root/conf-files/wn-list.conf /opt/lcg/yaim/examples/wn-list.conf
case $nodetype in
gridce | gridse | gridhlr | gridvo | dpmfe | dpmdisk )
mkdir /etc/grid-security
clear
echo "Give the password to open the server certificate:"
read password
openssl pkcs12 -passin pass:$password -in /afs/pi.infn.it/project/grid/prod/cert/$nodename.p12 -out
/tmp/$nodename.pem -nodes
[...]
esac
cat > /tmp/install-MW.bash << EOF
#!/bin/bash
date >> /root/MW-install.log
echo "Installation of MW" >> /root/MW-install.log
/opt/lcg/bin/ig_install_node /root/conf-files/site-info.def $gridnode 2>&1>> /root/MW-install.log
echo "Configuration of MW" >> /root/MW-install.log
/opt/lcg/bin/ig_configure_node /root/conf-files/site-info.def $gridnode 2>&1>> /root/MW-install.log
echo "pi.infn.it" > /usr/vice/etc/ThisCell
rm -f /usr/local/lxmng/firstboot
reboot
EOF
chmod +x /tmp/install-MW.bash
screen -d -m -S install-MW /tmp/install-MW.bash
else
mv -f /etc/rc.d/rc.local.orig /etc/rc.d/rc.local
rm -f /tmp/install-MW.bash
fi
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
E gli altri ?!
15
➢
Meccanismo funzionante per tutte le distribuzioni con kickstart
=> alias RedHat ed i suoi fratelli
➢
Applicabile a qualsiasi distribuzione con file di configurazione
dell'installazione fornibile all'avvio
➢
SuSE ha un sistema analogo (AutoYast) leggermente più
complicato da gestire perchè file XML
➢
Attualmente SuSE usata solo per server centrali => ogni
macchina è diversa dalle altre
➢
Creiamo il file AY alla fine dell'installazione e lo usiamo per la
reinstallazione o clonazione del server
➢
E' in corso l'aggiunta al sistema di altre distribuzioni: Solaris,
OpenSolaris
Enrico Mazzoni, INFN Pisa
T2 referee
Pisa
30 Giugno 2006
N on è l'unico esempio di integrazione!!
16
➢
dic. 2003 primo sistema storage SAN (Chaparral RIO288) => si
passa dai BOX di dischi (ciascuno il suo) alla SAN con grosse
macchine e risorse condivise fra i gruppi
➢
dic. 2004 il sistema funziona si compra la seconda macchina
(Infortrend ER2510FS-6RH)
➢
situazione attuale:
➢
•
RIO288 6x4=24TB ==> espandibile a 32TB
•
ER2510 7x4=28TB ==> massima capacità
•
2 switch FC per permettere la ridondanza dei collegamenti
•
~10 server di discco collegati
la SAN è ormai una infrastruttura di sezione consolidata e “grid”
ne ha tratto beneficio
Enrico Mazzoni, INFN Pisa