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