PrettyPrint JavaScript

lunedì 20 settembre 2010

Ubuntu Tuning: Modificare la variabile Swappiness

Il kernel Linux da la possibilità di controllare quando usare lo swap file. Lo swap file è appunto un file che viene utilizzato dal sistema come se fosse RAM nel caso in cui questa sta per esaurirsi. Ovviamente è bene evitare questa situazione in quanto l'accesso al disco rigido è diverse volte più lento dell'accesso alla RAM.
La variabile che controlla quando usare il file di swap si chiama swappiness ed esprime con un numero da 0 a 100. Dando alla swappiness un valore zero significa che la scrittura sul disco rigido sarà evitata a meno che non sia assolutamente necessaria (si esaurisce la memoria RAM), mentre un swappiness impostata a 100 significa che i dati saranno scritti quasi interamente sul disco rigido.
Di default un sistema Ubuntu ha come valore predefinito di swappiness 60.
È possibile controllare il valore della swappiness dando il comando:

    cat /proc/sys/vm/swappiness

Se ad esempio si possiede una memoria RAM di 2GB un valore di swappiness impostato a 60 è abbastanza alto, lo si può benissimo impostare a 15, cosi da utilizzare la swap solo nel caso in cui l’utilizzo della RAM sia circa dell’80 o 90%.
Per modificare questo valore bisogna, aprire il file /etc/sysctl.conf:

    sudo gedit  /etc/sysctl.conf 
aggiungere o modificare la linea:

    vm.swappiness = 15

 riavviare affinché le modifiche abbiano effetto.

Fonte: http://fosswire.com/post/2009/02/sysctl-swappiness/

Avvio del Sistema (Ubuntu 10.04 Server) in modalità testuale

In questo articolo vedremo come configurare il nostro server in modo che parta di default senza un ambiente grafico, con la possibilità di richiamarlo quando lo riteniamo necessario.

Per avviare il sistema in modalità console ho dovuto sbattere più di quanto pensavo fosse necessario. Alla fine la soluzione che ho adottato è la seguente. Ho modificato Grub2. Prima di tutto bisogna aggiungere una nuova riga alla nuova versione del bootloader. Per fare questo, mentre prima bastava modificare ed aggiungere la riga al file menu.lst adesso con Grub2 è un pò più complesso.
Apriamo con gedit il file grub.cfg;

gedit /boot/grub/grub.cfg

Eccone un esempio:

# Timeout for menu
set timeout=10

# Set default boot entry as Entry 0
set default=0

# Entry 0 - Load Linux kernel

menuentry "My Linux Kernel on (hd0,1)" {
set root=(hd0,1)
linux /vmlinuz root=/dev/hda1
initrd /initrd
}

# Entry 1 - Chainload another bootloader

menuentry "Chainload my OS" {
set root=(hd0,3)
chainloader +1
}

Questo file non va modificato, e d'altronde per la sua modifica occorre modificare i permessi. Copiamo da questo file una entry, io ho copiato la prima che è quella che permette di avviare il S.O. Normalmente.
Questo codice va poi copiato (appeso) nel file /etc/grub.d/40_custom.
A queso punto basterà aggiungere nella riga che inizia con la direttiva linux la dicitura text dopodichè va aggiornato grub2 in modo che aggiunga in maniera opportuna questa nuova entry nel file grub.cfg. Il comando per fare questo è:

sudo update-grub

Questa entry verrà però aggiunta alla fine del menù di grub, che tra l'altro non vedremo in quanto nel nostro caso Ubuntu Server è l'unico sistema operativo installato sulla macchina virtuale. Poco male. Editiamo il file grub:

sudo gedit /etc/default/grub

ed editiamo l'opzione che stabilisce quale voce far partire di default, nel mio caso la quarta.

GRUB_DEFAULT=4

Nota bene che le entry del menù di Grub sono numerate a partire da zero, e per capire quante entry sono presenti basterà guardare il file grub.cfg dove saranno presenti

Fatto tutto ciò il nostro sistema si avvierà in modalità solo testo, quando vorremo far partire il server x bastera digitare startx, che però farà partire il desktop di gnome. Dato che noi abbiamo scelto xfce4 il comando da dare sarà

startxfce4

Installazione di Ubuntu Server 10.04 LTS

In questo post descriverò brevemente la fase di installazione del sistema operativo sulla macchina virtuale. Non mi dilungherò molto e non entrerò nel dettaglio in quanto ritengo che sull'argomento vi siano tutorial ben dettagliati!


La procedura di installazione procede via molto liscia, anche perchè, trattandosi di un sistema virtuale ho usato quanto più possibile le impostazioni automatiche specie per il partizionamento del disco. Quasi alla fine dell'installazione il wizard chiede quali software installare tra server DNS, Apache, tomcat, OpenSSH, mail server, ecc... ho deciso di non installare niente e di rimandare ad un secondo tempo la scelta di quali software installare per sperimentare il mio nuovo server.
Una volta terminata l'installazione e riavviato il sistema ci appare la nostra shell. Poichè ho intenzione di installare un ambiente grafico la scelta è ricaduta su xfce, dato che lo trovo il giusto compromesso tra leggerezza e completezza. Quindi da terminale digito:

sudo apt-get install xubuntu-desktop

In funzione della velocità della nostra connessione e del nostro sistema dopo un certo tempo ci troviamo di fronte il desktop del nostro server.




A questo punto occorre porsi degli obiettivi:
  • Configurare i run level in modo da crearne uno senza ambiente grafico;
  • Creare una rete tra il sistema host e il sistema reale;
  • Installare e configurare OpenSSH;

    Vedremo nei prossimi post la descrizione di come realizzarli.


domenica 19 settembre 2010

Creazione dell'ambiente di lavoro

Tutorial sull'installazione di VirtualBox e di una macchina virtuale che sarà il server sul quale andremo ad operare.

Prima di tutto occorre un sistema da amministrare. Poichè non ho i fondi necessari per mettere in funzione un vecchio pc che andrebbe benissimo allo scopo, ho deciso di virtualizzare un sistema usando virtual box (http://www.virtualbox.org/). Una volta installato (e non mi dilungherò su come scaricare il file e fare doppio click su di esso!), è necessario prima di creare una macchina guardare le opzioni ed impostazioni di tale software in modo da assegnare le directory che conterranno i file XML che descrivono i sistemi virtuali e le directory che invece contengono i dischi. Per quel che mi riguarda ho creato una cartella nella mia partizione riservata ai dati che ho chiamato VirtualSpace all'interno della quale vi sono le sottodirectory dei sistemi e i vari file VDI che rappresentano i dischi fissi. Cominciamo con il creare un nuovo disco, poichè odio gli sprechi, il disco fisso del mio sistema sarà di 5Gb il che dovrebbe bastare a contenere il S.O ed i servizi che installeremo.
Creazione del Sistema Virtuale
Apriamo Virtual Box e clicchiamo su Gestore Supporti Virtuali, e clicchiamo su "Crea Nuovo", si aprirà una procedura guidata, che ci permette di scegliere:



  • Nome del volume: Consiglio di inserire nel nome anche le dimensioni del disco virtuale;


  • Dimensioni del volume: Ho scelto 5Gb data la mia avversione allo spreco informatico! Inoltre ho scelto di non usare il dimensionamento dinamico in quanto penso sia uno spreco di risorse (per altro già esigue!).
Adesso che abbiamo il disco fisso virtuale dobbiamo aggiungerlo alla lista dei dischi visti da VirtualBox. Tramite il tasto aggiungi è possibile fare ciò!

Adesso siamo pronti a creare la nostra macchina virtuale. Di seguito riporto i dati principali:

Nome: Ubuntu_Server_win;
RAM: 256 MB
Processore: 1
Memoria Video: 16 MB
Accellerazione 3D: disabilitata
Accellerazione 2D: disabilitata
SATA: 5Gb_srv.vdi (ma è il nome del disco creato in precedenza!)
Rete: Driver Intel Pro 1000 MT NAT

Ovviamente tale macchina è inutile senza installare il sistema operativo. La scelta cade ovviamente su un sistema Linux. Non voglio qui discutere sul perchè di tale scelta, ma il mio scopo è di accumulare una piccola esperienza sistemistica con sistemi simili a Unix. Ho scelto la distribuzione Ubuntu perchè possiede una comunità molto attiva, conosco tale distribuzione e mi sono trovato sempre abbastanza bene. Detto questo ho scelto la versione LTS 10.04 server. La versione server a differenza di quella desktop non ha un ambiente grafico (ma che installerò successivamente) e possiede già installati tutti i principali pacchetti che penso mi saranno utili successivamente. Quindi, scarichiamo dal sito ubuntu la iso di tale sistema. Scaricata la iso, la copio nella directory VirtualSpace che uso per Vbox. Quindi riapro Vbox, seleziono la macchina Ubuntu_Server_win clicco su Impostazioni e nella scheda Archiviazione seleziono il canale IDE dedicato al lettore CD-ROM. Sulla sinistra compare la dicitura vuoto. Seleziono tale pulsante e carico nel CD-ROM virtuale l'immagine iso che abbiamo scaricato. Dopodichè nella scheda Sistema cambio l'ordine dei dispositivi dai quali il sistema fa il boot, dando la precedenza proprio al lettore CD-ROM in modo da far partire la procedura di installazione di Ubuntu.
Nel prossimo post vedremo i particolari dell'installazione del SistemaOperativo.


Manifesto di B-Admin

Ho aperto questo blog perchè spero possa essere utile a tutti quelli che hanno intenzione di cimentarsi (per passione o professione) nel fantastico mondo dei SysAdmin. Non che io lo sia, ma con questo strumento forse posso mettere un pò d'ordine nella svariata quantità di informazioni necessarie ad amministare un sistema. 

Il titolo di questo blog è significativamente ambivalente  per essere dei valenti sistemisti (be admin) bisogna (credo!) prima passare per la fase Bad Admin ossia cattivi sistemisti!! Una rivisitazione del vecchio detto sbagliando s'impara!

In questo blog descriverò con una serie di articoli i problemi e le soluzioni trovate per risolvere i principali problemi derivanti dalla configurazione e manutenzione di un piccolo server virtuale che realizzerò allo scopo. Non so ancora bene cosa farò di preciso, ma mi sforzerò quanto meno di descrivere i problemi e le soluzioni, con la speranza che possano essere d'aiuto a qualche lettore.