Complice anche il naturale abbassamento dei costi, le unità SSD divengono sempre più diffuse, tuttavia a fronte di un sostanziale incremento prestazionale, ci sono alcune accortezze da considerare prima e dopo l'installazione.
INTRODUZIONE
Le unità a stato solido SSD sono
basate su memoria flash solitamente di tipo NAND per la memorizzazione dei dati, non richiedono
parti meccaniche o magnetiche (dischi, motori e testine) apportano di
conseguenza vantaggi in termini di sicurezza e prestazioni.
I principali vantaggi delle unità a
stato solido rispetto ai tradizionali dischi meccanici sono:
- Rumorosità assente grazie alla totale assenza di parti in movimento
- Minore probabilità di rottura, dunque affidabilità maggiore
- Minore consumo di energia
- Minore produzione di calore
- Tempo di accesso ai dati drasticamente ridotto
- Velocità di lettura costante in tutti i settori dell'unità
- Leggerezza, importante soprattutto nei notebook
Le unità SSD non sono prive di svantaggi alcuni dei quali sono:
- Minore durata dell'unità stessa a causa del limite di riscritture delle memorie flash
- Maggior costo per Gigabyte
- Prestazioni che degradano con l'aumentare dello spazio occupato
- Partizioni del filesystem che necessitano di opportune ottimizzazioni
- Capacità di memorizzazione inferiore rispetto agli HDD classici sul mercato
La presente guida si basa su test effettuati installando Chakra Linux Fritz su un'unità SSD Samsung 840 da 250 GB.
Le procedure per l'installazione su altri tipi di unità dovrebbero essere sostanzialmente le medesime.
PREPARAZIONE DISCO
Prima di esporre la procedura un breve
accenno ad alcuni aspetti basilari che possono essere utili per la
comprensione dei metodi descritti.
Tabella di partizionamento
Tabella di partizionamento
GPT (GUID Partition Table) è un nuovo
standard per la tabella delle partizioni, si tratta sostanzialmente
dell'evoluzione del sistema MBR (Master Boot Record) ormai deprecato.
GPT risulta essere più flessibile
nelle operazioni di ripartizionamento, consente ad esempio la
creazione di un numero di partizioni virtualmente illimitato.
GPT conserva inoltre informazioni
relativamente l'organizzazione del disco dall'inizio alla fine del
dispositivo, tale peculiarità consente di ripristinare il
caricamento del sistema operativo nel caso di corruzione dei dati
archiviati nel blocco di intestazione iniziale.
Questi sono alcuni dei motivi per i
quali è caldamente consigliato il partizionamento GPT in particolare
per installazione su SSD.
E' da tenere conto che se si intende
avere dual boot con Windows (XP, Vista, 7) non sarà possibile
utilizzare il partizionamento GPT poiché tali sistemi non lo
supportano, optare in tal caso per il tradizionale MBR.
Nella presente guida vedremo
esclusivamente il partizionamento secondo tabella GPT.
Allineamento partizioni
I tradizionali dischi meccanici sono
suddivisi in settori fisici, il sistema operativo segue esattamente
tale logica di funzionamento. Un disco SSD ha una struttura fisica
diversa tuttavia permane la logica del funzionamento a settori.
L'allineamento è una procedura necessaria per essere certi che un settore logico cominci esattamente all'inizio di una settore fisico dell'SSD, diversamente la velocità di scrittura può ridursi anche del 50%.
Per essere ragionevolmente certi di un
corretto allineamento, è opportuno partizionare alla dimensione
dell'EBS (Erase Block Size) dell'SSD.
Per allineare le partizioni si
utilizzerà il pacchetto Gdisk, esso è in grado di effettuare
automaticamente l'allineamento su un blocco base di 2048 settori
(1024 KiB), soluzione compatibile con praticamente ogni SSD sul
mercato.
PARTIZIONAMENTO ED ALLINEAMENTO CON
GDISK
Gparted e KDE Partition Manager
supportano le partizioni GPT, tuttavia per evitare possibili anomalie
grafiche è consigliabile utilizzare Gdisk. Gparted e KDE Partition
Manager restano validi strumenti che possono restituire una visuale
grafica chiara di quanto fatto precedentemente tramite Gdisk.
Nella seguente guida immaginiamo di
partizionare un SSD vergine da 250 GB, saranno create 3 partizioni:
Partizione 01 [Avvio Bios]
Tipo: Bios boot
Dimensione: 200 MB
Scopo: avvio di sistemi basati su BIOS
Partizione 02 [Sistema]
Tipo: ext4
Dimensione: 100 GB
Scopo: file di sistema (punto di mount
/)
Partizione 03 [Home]
Tipo: ext4
Dimensione: circa 150 GB
Scopo: archivio file di configurazione
e documenti (punto di mount /home)
Eseguire gdisk sul proprio SSD
(supponiamo sda):
sudo gdisk /dev/sda
Si otterrà un responso del tipo
GPT fdisk (gdisk) version 0.6.13
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
La creazione di una nuova partizione
tramite Gdisk si avvia con il comando n, successivamente premere
<Enter> per dare alla partizione il numero progressivo libero e
nuovamente <Enter> per accettare il settore iniziale di default
(un settore sono 512B) per la prossima partizione prima di impostare
la dimensione di cui si ha bisogno per l'ultimo settore.
Creazione di una nuova tabella di
partizioni (in rosso i comandi da imputare a mano):
Command (? for help): o
This option deletes all partitions and
creates a new protective MBR.
Proceed? (Y/N): y
Sarà ora creata la Partizione 01 [Avvio Bios], scrivere n per aggiungere una nuova partizione e +200M
per dare una dimensione al bootloader.
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-524288000, default =
34) or {+-}size{KMGTP}:
Information: Moved requested sector
from 34 to 2048 in
order to align on 2048-sector
boundaries.
Use 'l' on the experts' menu to adjust
alignment
Last sector (2048-524288000, default =
524288000) or {+-}size{KMGTP}: +200M
Current type is 'Linux filesystem'
Scrivendo L verrà restituita una lista
di codici, scrivere ef02 per ottenere una partizione di avvio BIOS:
Hex code or GUID (L to show codes,
Enter = 8300): ef02
Changed system type of partition to
'BIOS boot'
La partizione di avvio BIOS non deve
essere formattata.
Si proceda a creare la Partizione 02 [Sistema], dare nuovamente n per avviare il processo:
Command (? for help): n
Partition number (2-128, default 2): 2
First sector (34-409600, default =
409600) or {+-}size{KMGTP}:
Last sector (409600-524288000, default
= 524288000) or {+-}size{KMGTP}: +100G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes,
Enter = 8300): 8300
Current type is 'Linux filesystem'
Successivamente sarà creata la
Partizione 03 [Home], dare sempre n per avviare il processo:
Command (? for help): n
Partition number (3-128, default 3): 3
First sector (34-210124800, default =
210124800) or {+-}size{KMGTP}:
Last sector (210124800-524288000,
default = 524288000) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes,
Enter = 8300): 8300
Current type is 'Linux filesystem'
Non dando alcuna indicazione in
relazione allo spazio da allocare, sarà utilizzato tutto quello
disponibile portando la partizione sino all'ultimo settore del disco.
Per esaminare le partizioni create dare
il comando p:
Command (? for help): p
Disk /dev/sda: 524288000 sectors, 250
GiB
Logical sector size: 512 bytes
Disk identifier (GUID):
F409CFD3-6DDC-4551-BBC5-85DC218C1352
Partition table holds up to 128 entries
First usable sector is 34, last usable
sector is 524288000
Partitions will be aligned on
2048-sector boundaries
Total free space is 73661 sectors (36.0
MiB)
Number Start (sector) End (sector)
Size Code Name
1 2048
409600 200.0 MiB EF00 Boot
2 409600
210124800 100 GiB 8300 Linux File System
3 210124800 524288000
149 GiB 8300 Linux File System
Per aggiungere una descrizione ad
ognuna delle partizioni utilizzare il comando c per descrivere lo
scopo di ogni partizione ad esempio:
Command (? for help): c
Partition number (1-3): 3
Enter name: Nome descrittivo a scelta
Il comando w scrive i cambiamenti su
disco mentre il comando q esce dal programma senza salvare i
cambiamenti:
Command (? for help): w
Final checks complete. About to write
GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table
(GPT).
The operation has completed
successfully.
Gdisk crea le partizioni ma non il
filesystem, si dovrà quindi formattare ogni partizione creata
tramite la console testo, la partizione sda1 (in questo esempio) di avvio bios non deve
essere formattata.
Per la Partizione 02 [Sistema]
mkfs -t ext4 /dev/sda2
Per la Partizione 03 [Home]
mkfs -t ext4 /dev/sda3
Dopo la formattazione è necessario
riavviare il sistema perchè il nuovo schema di partizionamento possa
essere letto dal kernel.
Con l'ausilio di Gparted o KDE
Partition Manager sarà possibile avere un responso grafico dello
stato del disco. L'installazione potrà a questo punto essere
effettuata come su disco meccanico, saranno però necessari alcuni
accorgimenti post-installazione per limitare le scritture su disco ed
allungarne quindi la vita utile.
IMPOSTAZIONI POST-INSTALLAZIONE
Dopo la tradizionale installazione, alcuni accorgimenti aiuteranno a mantenere nel tempo le prestazioni dell'unità SSD.
Opzioni di mount
E' bene modificare le opzioni di mount
per limitare le scritture su disco e mantenere invariate nel tempo le
prestazioni del dispositivo, a tale scopo modificare fstab
aggiungendo le opzioni noatime e discard.
noatime: abilitandola le informazioni
inerenti l'ora dell'ultimo accesso ai file non saranno aggiornate ad
ogni accesso in lettura al filesystem, limitando l'aggiornamento
della data di accesso solo ai file effettivamente modificati.
Tale opzione oltre a ridurre
drasticamente i cicli di scrittura, migliora le prestazioni in
termini di velocità, va applicato ad ogni partizione presente su SSD
eccetto un eventuale partizione di swap.
discard: abilitandola si otterranno i
benefici derivanti dal comando TRIM purchè il proprio SSD sia
compatibile con tale funzione.
In breve il comando TRIM permette al
sistema operativo di indicare i blocchi che non sono più in uso
nell'unità SSD, come ad esempio i blocchi liberati dopo
l'eliminazione di uno o più file.
Generalmente, nell'operazione di
cancellazione, i blocchi data
vengono contrassegnati come non in uso. L'istruzione TRIM consente al
Sistema Operativo di fornire l' informazione al controller dell'SSD,
il quale diversamente non sarebbe in grado di sapere quali blocchi
eliminare. Lo scopo dell'istruzione è di mantenere la velocità
dell'SSD per tutto il suo ciclo di vita.
Il comando TRIM non funziona con ext3,
l'utilizzo dell'opzione discard con una partizione di root con
filesystem ext3 ne determinerà l'accesso in sola lettura.
Per modificare le opzioni di mount
aggiungendo noatime e discard, editare fstab dando da terminale
sudo nano /etc/fstab
Modificare le stringhe corrispondenti
al caricamento delle partizioni dell'SSD come segue
/dev/sda1 / ext4
defaults,noatime,discard 0 1
/dev/sda2 /home ext4
defaults,noatime,discard 0 1
La cartella /tmp è utilizzata dal
sistema per archiviare file temporanei ad esempio durante le
operazioni di compilazione, tale cartella è svuotata automaticamente
al riavvio.
Per sistemi con almeno 2 GB di memoria,
è possibile posizionare /tmp direttamente in RAM, tale procedura
renderà il sistema più scattante ed eviterà scritture superflue su
SSD.
L'operazione è molto semplice, prima
di tutto cancellare il contenuto della partizione fisica per /tmp ,
successivamente montarla su tmpfs (RAM) in /etc/fstab.
Editare fstab dando da terminale
Editare fstab dando da terminale
sudo nano /etc/fstab
Aggiungere quindi la stringa
none /tmp tmpfs nodev,nosuid,noatime,size=1000M,mode=1777 0 0
Ulteriori approfondimenti su quanto
trattato nella presente guida e su altre strategie attuabili per
migliorare le prestazioni dell'unità SSD sono disponibili nel wiki
di Arch Linux.
Per la guida in formato .odt e .pdf date uno sguardo alla sezione Download!
§ exit
Per la guida in formato .odt e .pdf date uno sguardo alla sezione Download!
§ exit
Bella questa guida! Ho solo dato una lettura veloce alla prima parte ma appena ho un attimo di tempo me la leggo bene. Per natale pensavo proprio di regalarmi un Samsung 840 EVO da 250 GB =). Avevo già letto la pagina relativa agli SSD sulla wiki di Arch che come sempre è ricca di informazioni, però avere qualche riscontro di prove sul campo fa sempre bene.
RispondiEliminaSiccome ho inenzione di passare da Kubuntu a Chakra utilizzando un HDD SSD partizionato GPT ho dato un'occhiata a questa guida e ne sono rimasto davvero soddisfatto! Ottimo lavoro! Una notizia: se si fa il dual boot con windows 10 è possibile utilizzare tranquillamente il partizionamento GPT. Nel mio caso ho kubuntu su SDA0 e windows su SDA1. Quando avvio posso scegliere se avviare linux o windows10 senza problemi.
RispondiElimina