17/11/2006
Swappare che passione
Oggi mi è capitata una cosa che nessun amministratore di sistemi informatici vorrebbe (e a logica dovrebbe…) mai vedere, ovvero una macchina di produzione che si "bomba" per mancanza di risorse, memoria fisica esaurita e swap pure…
Purtroppo quando succedono queste cose tutti i soliti benpensanti puntano l'indice contro il povero amministratore/sistemista, accusato di non fare "una fava" tutto il giorno, quando invece faticosamente deve farsi strada tra le solite richieste esagerate del management, le esigenze degli sviluppatori, la mancanza cronica di risorse (leggasi dindini, moneta, soldi, dinero…) e tanti altri ostacoli; insomma deve farsi carico di tante di quelle responsabilità che gli altri non si sognano nemmeno, il tutto ovviamente senza il benchè minimo riconoscimento di tali responsabilità e senza una adeguata retribuzione, ma di questo parleremo un'altra volta, questa sera non voglio inacidirmi il sangue…
Oggi è toccato a me, server di produzione con installata una gloriosa distribuzione linux Red Hat 7.2, sul quale girano alcune applicazioni "mission critical" che si ciucciano tutta la ram (1.5 GB), partizione di swap insufficiente (256MB… sigh….) e impossibilità di creare ulteriori partizioni di swap.
Soluzione: aumentare lo swap a disposizione del sistema attraverso uno swapfile anzichè attraverso una partizione di swap.
Come procedere:
1) Individuate una partizione sul server che abbia abbastanza spazio libero
2) Creare un file di swap della dimensione desiderata usando la seguente sintassi:
dd if=/dev/zero of=[PERCORSO FILE DI SWAP] bs=1024 count=[DIMENSIONE SWAP]
Per la rimensione dello swap moltiplicate il n° di MB x il block size (ovvero 1024), ad esempio per creare un file di swap in /data/swapfile da 1GB di deve usare:
dd if=/dev/zero of=/data/swapfile bs=1024 count=1024000
3) al termine della creazione del file impostare tale file come swap con il comando
mkswap /data/swapfile
4) abilitare lo swap con il comando
swapon /data/swapfile
5) assicurarsi di montare lo swapfile all'avvio modificando il file /etc/fstab aggiungendo la riga seguente:
/data/swapfile swap swap defaults 0 0
Già fatto? Eh sì, ora verificate con un bel free che nella sezione dedicata allo swap sia stata sommato lo swap appena creato, avete risolto anche questa rogna :)