Operazione Server - Di kernel ed altre storie 6 Gennaio 2008 - 18:35
Postato da Moh in : Informatica, Software, La Vita , trackbackIl kernel è il vero cuore di una distribuzione Linux, esso è sicuramente la parte più importante del sistema, la sua ottimizzazione permette di raggiungere prestazioni migliori.
Anche per questo nuovo server il kernel Linux ha avuto la sua giusta dose d’attenzioni.
Per prima cosa installo il sistema operativo sulla nuova macchina. Poiché come descritto nel primo post dedicato all’hardware il nuovo server non è dotato di lettore CD-ROM, ne collego uno tramite adattatore USB che avevo comprato più di un anno fa su Ebay e mai usato prima. In meno di un’oretta ho già installato Debian in versione base minimale.
Tenete presente che Debian si installa di default con un kernel linux 2.6.18 ottimizzato per 486, cosa voluta per poter fare il boot su tutte le macchine con architettura x86, anche le più vecchie (ehm, evidentemente i 386 e precedenti non vengono più considerati…
).
Aggiornare il kernel è banale, è sufficiente dare un apt-get con la versione dei binari già compilati del kernel che si vuole installare (per l’architettura x86 l’unica alternativa disponibile alla 486 è la 2.6.18-5-686).
La cosa bella dell’operazione è che il bootloader GRUB viene aggiornato automaticamente ed il nuovo e vecchio kernel sono selezionabili prima del boot. Quindi il risultato è a prova d’errore, se il kernel nuovo non va è un attimo riavviare con quello vecchio.
Un po’ per pigrizia provo ad aggiornare direttamente con il kernel 2.6.18-5-686 messomi a disposizione da Debian.
Faccio come da manuale. Avvio con il nuovo kernel 686 e… il sistema si riavvia da solo poco dopo l’inizio dell’esecuzione del kernel… Perché???
Il motivo è semplice, il processore VIA C3 fa sì parte della categoria dei 686 ma ha delle particolarità tutte sue per cui il kernel deve essere compilato appositamente per quella CPU.
Dubbio amletico, me ne frego e faccio andare tutto con il kernel 486 o scarico i pacchetti con i sorgenti e mi compilo il kernel ottimizzato per Via C3???
Ovviamente il geek che vive in me ha optato per lo scaricamento dei sorgenti e la compilazione del kernel personalizzata.
Bisogna dire che anche per questa operazione Debian fornisce strumenti con i fiocchi che permettono di compilare il kernel e trasformarlo in un pacchetto .deb che può essere installato e rimosso con la stessa facilità e sicurezza degli altri pacchetti del sistema.
Per esperienza diretta, su macchine poco potenti, vi consiglio di compilare il kernel per supportare solo l’hardware effettivamente presente ed attivare solo il supporto delle funzioni che ritenete indispensabili per l’uso che farete di quella macchina. I benefici più evidenti sono un tempo di caricamento più basso ed una minore occupazione di memoria.
Anche i tempi di compilazione del kernel su macchine datate sono da valutare attentamente. Ad esempio compilare un kernel uguale a quello di default di Debian con in più la sola ottimizzazione per un processore Via C3 Samuel 2, che gira a 400 MHz e con 512 MB di RAM, richiede oltre 8 ore di tempo!!!
Con una scelta oculata delle funzioni da attivare, dopo essermi documentato sul loro significato, ed abilitando solo l’hardware installato ho ottenuto in meno di 2 ore un kernel compilato, funzionante e specifico per il mio server.
Una decisione delicata da prendere durante la configurazione del kernel è scegliere se compilare alcuni componenti, ad esempio i driver per l’hardware, come moduli esterni o staticamente.
A mio modo di vedere, la vera differenza tra compilare come modulo oppure staticamente è questa: come modulo si può all’occorrenza caricare e scaricare un componente dalla memoria del kernel dinamicamente, inoltre se va in crash un modulo non si porta dietro l’intero kernel. Staticamente invece viene tutto caricato nel kernel che, se possibile, diventa ancor più monolitico di quanto già non sia. Compilare i componenti di un kernel staticamente porta a delle prestazioni leggermente migliori a discapito della stabilità del sistema, infatti se va in crash un componente compilato staticamente, si rischia il kernel panic.
Dopo aver risolto la questione kernel ed aver installato, configurato e messo in opera il nuovo server comincio ad assaporare il gusto di un lavoro ben fatto, anche se amatoriale.
Proprio perché la cosa è amatoriale e l’ho fatta per il piacere di farla e non per lavoro, in un primo momento non sono stato tanto a pensare a sistemi di backup o system rescue in caso di guasti hardware, ho pensato che come l’ho fatto una volta in caso di necessità lo rifarò ancora, sempre se non mi passa la voglia…
Fortunatamente ho dato retta ad un amico che mi ha consigliato di fare comunque un backup del sistema così da non dover rifare tutto da zero!!!
Nel mio caso ho risolto con l’ottimo Clonezilla, software open source con licenza GPL che consente di clonare partizioni o interi dischi.
In passato ho già parlato di programmi di clonazione per Linux ma non avevo citato Clonezilla, questo programma prende il meglio dei software Partimage, ntfsclone e dd ma è l’unico che supporta il gestore logico di volumi LVM.
Si possono clonare hard disk interi su file o su un altro disco di uguale capacità o superiore. Clonare e ripristinare singole partizioni: ext2, ext3, reiserfs, xfs, jfs, fat, ntfs.
Le operazioni di clonazione e ripristino possono essere eseguite da una stessa macchina o da PC collegati in rete, quest’ultima caratteristica lo rende molto interessante per l’utilizzo a livello aziendale.
Clonezilla per l’utilizzo immediato su PC singolo è disponibile come Live CD (basato su Debian).
Prima di utilizzarlo per clonare il disco fisso del nuovo server ho fatto diverse prove con Clonezilla. Ho clonato interi dischi LVM e singole partizioni in modalità RAW (settore per settore), oppure su file compressi bzip2. Ho clonato e ripristinato su dischi collegati tramite USB o direttamente ai controller ATA. Tutte le prove hanno dato esito positivo con tempi d’esecuzione di tutto rispetto.
Questo software non ha nulla da invidiare a prodotti commerciali come Symantec Ghost Corporate Edition ed entra a far parte di quegli strumenti indispensabili che ogni buon amministratore di sistema deve possedere.
Altri post consigliati:
- Clonazioni per il Pinguino
- Operazione Server - Software
- VMware Server senza sforzo - Parte terza
- Prossimamente…
- Portage non solo per Gentoo

Commenti»
>Ovviamente il geek che vive in me ha optato per lo scaricamento
> dei sorgenti e la compilazione del kernel personalizzata.
eh eh, mitico!!!
Perchè non ci posti una bella video guida su clonezilla, sia utilizzandolo come live, che in versione server?
Ma nella versione server se ho in una rete 4 pc diversi, da un unico pc posso fare le immagini dei vari sistemi che sono tra loro diversi e poi quando c’è necessità farli ricaricare?
thanks
Ciao!
Con Clonezilla Server Edition puoi fare tranquillamente quello che hai descritto.
Per quanto riguarda la video guida, sarebbe bello ma purtroppo non ho abbastanza tempo libero e mezzi a disposizione per realizzarla.
Comunque puoi trovare qualche video tutorial qui: http://video.google.it/videosearch?q=clonezilla&hl=it&sitesearch=#