mercoledì 24 agosto 2011

Come partizionare l' hard disk per Linux (parte 2)

Nello scorso articolo abbiamo visto quali sono i vantaggi e gli svantaggi del partizionamento ed abbiamo capito che dietro ad ogni buon partizionamento c'è sempre un buono schema progettuale.

Prima di parlare di schemi e startegie progettuali, vediamo che tipo di partizioni possiamo creare. Ci sono 3 tipologie di partizioni:
1) partizione primaria
2) partizione estesa
3) partizione logica

Una partizione primaria è una partizione le cui informazioni risiedono nel MBR (Master Boot Record). Poichè il MBR è molto piccolo (512 byte), è possibile creare solo 4 partizioni primarie. Questo limite ovviamente è molto vincolante e quindi con il passare del tempo si è deciso di introdurre un altro tipo di partizione: lapartizione estesa. La partizione estesa è una partizione primaria che però può essere a sua volta suddivisa in altre partizioni che si chiameranno partizioni logiche. Non è difficile, vero?
Facciamo un paio di semplici esempi: se abbiamo deciso di suddividere il nostro hard disk in 4 partizioni, non abbiamo bisogno di creare partizioni estese perchè rientriamo nel limite massimo di 4 partizioni primarie. Se invece vogliamo suddividere il nostro hard disk in 6 partizioni, non possiamo creare 6 partizioni primarie ma possiamo creare 3 partizioni primarie + una partizione estesa che contiene 3 partizioni logiche.

Ora che abbiamo capito (spero!) quali tipi di partizioni possiamo creare, cerchiamo di capire come possiamo organizzare il nostro schema di partizionamento. Prima di tutto voglio dire che per un "utente alle prime armi" che si sta avvicinando da poco al mondo Linux è consigliabile adottare anche uno schema base come il seguente: 1 partizione primaria / + 1 partizione di swap. Vedremo prossimamente quanto deve essere grande la partizione di swap.
Per chi invece ha già una certa esperienza con Linux il mio primo consiglio è chiedersi: quale utilizzo devo fare con il mio computer? Lo schema di partizionamento può cambiare notevolmente in base all' utilizzo (server o desktop). Se utilizziamo il nostro computer solo ed esclusivamente come postazione desktop per uso casalingo, potremo adottare uno schema simile al seguente: 1 partizione primaria /boot + 1 partizione primaria /home + 1 partizione primaria / + 1 partizione di swap. In questo modo abbiamo creato una piccola partizione (50 MB circa) dedicata a contenere l' immagine del kernel ed altri file necessari per eseguire il boot. Poi abbiamo dedicato una partizione più grande (anche alcuni Gigabyte) per la directory /home che solitamente su un computer desktop contiene una grande quantità di file e può tornare utile se volessimo fare il backup dei nostri dati. Per finire c'è sempre la partizione root e la partizione swap.
Questo ovviamente vuole essere solo un esempio di schema di partizionamento che non deve essere adottato automaticamente senza un' attenta riflessione.
Per un computer dedicato ad un utilizzo server, le directory /var, /tmp, /homeed /usr sono delle ottime candidate ad avere una partizione dedicata. In questo modo avremo a disposizione una partizione che conterrà i file temporanei, una partizione per i file di log ed altri file dinamici, una partizione per le directory degli utenti ed una partizione per gli eseguibili degli utenti (e non solo). Così possiamo avere un controllo maggiore sui dati contenuti nell' hard disk.

Un consiglio molto utile che posso darvi per capire quante partizioni creare e soprattutto la grandezza delle partizioni, è il seguente: proviamo uno schema di partizionamento anche semplice, facciamo passare qualche mese durante il quale utilizziamo normalmente la nostra macchina, infine utilizziamo uno strumento che permette di analizzare lo spazio occupato da ogni singola directory. Un' ottimo strumento è Baobab che può essere utilizzato con Gnome e che si trova già nella distribuzione Ubuntu (Applicazioni, Accessori, Analizzatore di utilizzo del disco). In questo modo possiamo vedere come è ripartito lo spazio del disco tra le varie directory e possiamo avere una idea più chiara sull' utilizzo che facciamo del nostro computer. Qui sotto potete osservare la schermata di Baobab su Ubuntu relativa al mio computer:


clicca per ingrandire l' immagine


Si può facilmente notare come è ripartito lo spazio del disco sulla mia macchina che viene utilizzata quotidianamente per uso personale. Le directory che occupano più spazio sono /home che contiene una miriade di file personali (audio, video, immagini, ecc...) e la directory /usr che contiene un gran numero di eseguibili e file vari. Adesso, dopo aver effettuato questo controllo, so che se volessi installare un' altra distribuzione sul mio computer (dopo aver formattato completamente l' hard disk) potrei adottare il seguente schema di partizionamento: 1 partizione primaria /boot + 1 partizione estesa che contiene la partizione logica /home e la partizione logica /usr + 1 partizione primaria / + 1 partizione swap.
La partizione /boot sarà grande al massimo 50MB, la partizione logica /home potrei farla di 7GB per avere sempre un certo margine visto che è una directory che si ingrandisce costantemente, la partizione logica /usr la farei di 3.5GB visto che la dimensione di questa directory solitamente si stabilizza, la partizione swap la farei di una dimensione pari a quella della RAM di cui dispongo ed infine la partizione primaria / potrebbe occupare il rimanente spazio.
In questo schema ho dovuto adottare la partizione estesa perchè se non l' avessi fatto avrei superato il limite di 4 partizioni primarie.

Questo schema sarà sicuramente più adatto rispetto ad uno schema base che prevede solo un' unica partizione in cui risiederanno tutti i file, vero?

Due parole infine devono essere spese sulla partizione di swap. Prima di tutto non siamo obbligati a creare una partizione di swap, in teoria possiamo benissimo farne a meno. In pratica può essere molto utile e qualche volta può salvarci da situazioni critiche. La partizione di swap infatti serve come supporto alla memoria principale (RAM) e viene utilizzata quando il sistema ha bisogno di ulteriore memoria. Se non avessimo una partizione di swap e se il nostro sistema richiedesse una quantità di memoria superiore alla nostra RAM, molto probabilmente il nostro computer andrebbe in crash.
Quanto deve essere grande la partizione di swap? Inizialmente era buona norma creare sempre una partizione di swap che fosse il doppio della memoria RAM del nostro computer. Attualmente con i computer che facilmente hanno qualche gigabyte di RAM, conviene avere una partizione che sia uguale alla RAM e non il doppio. Questa regola però non è fissa perchè se per esempio dobbiamo utilizzare il nostro computer per eseguire calcoli computazionali molto pesanti allora conviene avere una partizione che sia il doppio della RAM.

Vorrei concludere l' articolo con un concetto molto importante: progettare il giusto schema per la nostra macchina è un qualcosa che non è semplice e richiede esperienza. Questo articolo non vuole avere la presunzione di spiegarvi il metodo sicuro che vi permette di progettare degli schemi perfetti per la vostra macchina. Anche io devo imparare ancora molte cose sul partizionamento e sto accrescendo la mia esperienza a riguardo giorno dopo giorno.

La guida su come partizionare l' hard disk ovviamente non finisce qui! Dopo aver terminato la parte teorica ora arriva la parte pratica. Nel prossimo articolo impareremo ad utilizzare un tool a riga di comando molto potente che si chiamafdisk e che potremmo dover usare durante la fase di installazione di molte distribuzioni.

Nessun commento:

Posta un commento