6 999
contributi
S3v (discussione | contributi) m (correzioni minori) |
|||
Riga 1: | Riga 1: | ||
{{Versioni compatibili}} | {{Versioni compatibili}} | ||
= Prefazione = | == Prefazione == | ||
Lo scopo di queste guida è quello di aiutare a configurare un sistema | Lo scopo di queste guida è quello di aiutare a configurare un sistema Debian (da installare o esistente) per un utilizzo adeguato con una [[SSD]]. La guida tratterà innanzitutto i passaggi obbligatori (nel senso quelli che sono fondamentali per una corretta durata della nostra [[SSD]]) ed infine quelli facoltativi (in quanto ci possono essere delle linee di pensiero molto differenti in una configurazione mista HDD/[[SSD]] su cosa debba essere di competenza della SSD e cosa dell'HDD). | ||
= Partizionamento e Over Provisioning = | == Partizionamento e Over Provisioning == | ||
Prima di tutto per poter utilizzare la nostra SSD è necessario partizionarla. Il consiglio, anche se state utilizzando un sistema non EFI, è quello di utilizzare un sistema di partizionamento GPT e non MBR in quanto immensamente superiore. | Prima di tutto per poter utilizzare la nostra SSD è necessario partizionarla. Il consiglio, anche se state utilizzando un sistema non EFI, è quello di utilizzare un sistema di partizionamento GPT e non [[MBR]] in quanto immensamente superiore. | ||
=== Sistema non-EFI === | |||
Quindi se state installando | Quindi se state installando Debian e siete nell'utility di installazione andate su una console virtuale (Ctrl+Alt+f2) e procedete come segue. Se invece non siete nell'utility di installazione di Debian la procedura è identica. | ||
Prima cosa individuiamo quale è il device dell'unità con il comando | Prima cosa individuiamo quale è il device dell'unità con il comando: | ||
<pre># fdisk -l</pre> | |||
per il partizionamento però dobbiamo usare cfdisk in quanto l'altro non supporta GPT. Quindi lanciamo | per il partizionamento però dobbiamo usare cfdisk in quanto l'altro non supporta GPT. Quindi lanciamo: | ||
<pre># cfdisk /dev/sdX</pre> | |||
dove /dev/sdX è il nome del nostro device. | dove /dev/sdX è il nome del nostro device. | ||
=== Sistema EFI === | |||
Se invece state installando su un sistema EFI l'installer provvederà automaticamente a partizionare il disco con il sistema GPT. | Se invece state installando su un sistema EFI l'installer provvederà automaticamente a partizionare il disco con il sistema GPT. | ||
=== Partizionamento === | |||
A questo punto bisogna pensare a come partizionare il nostro dispositivo. Ci sono molte teorie sul partizionamento. (Tutto in una partizione. Partizioni separate. Solo la /home su HDD, /home e /var su HDD. /home /var e /tmp su HDD. /home e /var su HDD e /tmp su RAMDISK e | A questo punto bisogna pensare a come partizionare il nostro dispositivo. Ci sono molte teorie sul partizionamento. (Tutto in una partizione. Partizioni separate. Solo la <code>/home</code> su HDD, <code>/home</code> e <code>/var</code> su HDD. <code>/home /var</code> e <code>/tmp</code> su HDD. <code>/home</code> e <code>/var</code> su HDD e <code>/tmp</code> su RAMDISK e soprattutto dove mettere la [[Swap]]. La scelta è molto personale ed è anche dettata dalla dimensione della vostra SSD, dalla quantità di RAM che avete e dai gusti. | ||
Personalmente sono amante della mono-partizione con | Personalmente sono amante della mono-partizione con Swap su SSD (permette una ibernazione e un risveglio quasi istantaneo) e una maggiore versatilità del sistema. <code>/var, /home</code> e <code>/tmp</code> le metto nella SSD in quanto per quanto riguarda <code>/var</code> voglio una lettura veloce dei file in essa presenti. Per quanto riguarda <code>/tmp</code> come <code>/var</code> e non voglio sprecare la RAM per creare un RAMDISK. Se però gradite fare ciò o volete creare un RAMDISK persistente troverete la guida sotto. | ||
Anche la /home la metto su SSD in quanto voglio che la lettura dei | Anche la <code>/home</code> la metto su SSD in quanto voglio che la lettura dei file di configurazione, della cache del browser ed altro siano letti il quanto più velocemente possibile. Voi mi direte, ma la SSD ha una durata in letture e scritture rispetto all'HDD. Vero, ma per quante scritture ci faccio sarà obsolete prima che la rompa. Per quanto riguarda invece i file più grandi ovvio montando l'HDD in <code>/mnt</code> e mettendo dei link simbolici nella home che puntano in una directory nell'HDD con i permessi del mio utente. | ||
Mentre si partiziona il disco bisogna tenere a mente una cosa importante: l'over provisioning. Esso consiste nel lasciare dello spazio non partizionato. Questo spazio libero viene usato dal controller della SSD sia come spazio di | Mentre si partiziona il disco bisogna tenere a mente una cosa importante: l'over provisioning. Esso consiste nel lasciare dello spazio non partizionato. Questo spazio libero viene usato dal controller della SSD sia come spazio di Swap durante il trim, sia come riserva nel caso dei settori siano danneggiati che per il garbage collection che lavora quando il disco non è in uso. Insomma questo spazio non partizionato serve per allungare la vita del vostro SSD. Kingston consiglia di lasciare almeno un 7% di spazio non allocato in utilizzo client e un 28% per un utilizzo enterprise. Poi sta all'utente scegliere quanto spazio lasciare in base all'utilizzo che intende fare del disco. | ||
= File System = | == File System == | ||
Il miglior file system da usare per la SSD è EXT4. Anche Btrfs supporta gli SSD con uno speciale comando di mount, ma io lo sconsiglio perché EXT4 è più stabile, meno soggetto a corruzione, insomma è meglio. | Il miglior file system da usare per la SSD è EXT4. Anche Btrfs supporta gli SSD con uno speciale comando di mount, ma io lo sconsiglio perché EXT4 è più stabile, meno soggetto a corruzione, insomma è meglio. | ||
Se volete risparmiare scritture non usate EXT2, se mai montate EXT4 senza il journal, ma comunque il journal tenetevelo. Perché rischiare di corrompere il file system a causa di un calo di tensione oppure un crash (ok che | Se volete risparmiare scritture non usate EXT2, se mai montate EXT4 senza il journal, ma comunque il journal tenetevelo. Perché rischiare di corrompere il file system a causa di un calo di tensione oppure un crash (ok che Linux è stabile, ma qualche crash può sempre succedere)? Il journal è cosa buona e giusta! | ||
= Mounting = | == Mounting == | ||
Montate la vostra SSD come segue: | Montate la vostra SSD come segue: | ||
<pre>UUID=vostro_uuid / ext4 noatime,errors=remount-ro 0 1</pre> | |||
Comunque l'installer | Comunque l'[[installer]] Debian riconoscerà automaticamente la SSD e la metterà con l'opzione <code>noatime</code>. Questa opzione è molto utile per evitare inutili scritture durante la lettura dei file in quanto di solito viene aggiornata la data e ora di ultimo accesso. In questo modo non viene più fatto. | ||
Non montate la vostra SSD con l'opzione discard in quanto genera solo problemi. Il trim lo facciamo fare ad anacron giornalmente. | Non montate la vostra SSD con l'opzione <code>discard</code> in quanto genera solo problemi. Il trim lo facciamo fare ad [[anacron]] giornalmente. | ||
= Trim = | == Trim == | ||
Per far eseguire automaticamente il trim al sistema (una volta al giorno va più che bene, poi dipende da quanti | Per far eseguire automaticamente il trim al sistema (una volta al giorno va più che bene, poi dipende da quanti file cancellate) basta scrivere nel file <code>/etc/cron.daily/99-fstrim</code> e renderlo eseguibile | ||
<pre> | |||
#!/bin/sh | |||
d="`date "+%Y-%m-%d %H:%M:%S"`" | |||
echo -n "$d " >> /var/log/fstrim.log | |||
fstrim -va >> /var/log/fstrim.log | |||
</pre> | |||
Questo basterà per far eseguire il trim una volta al giorno e, ogni volta che viene effettuato, il risultato del comando verrà salvato in un file di log in /var/log/fstrim.log con data ed ora di quando è stato eseguito. Assicurarsi che sia installato il pacchetto [[anacron]] nel sistema per essere certi che i comandi vengano eseguiti giornalmente. | Questo basterà per far eseguire il trim una volta al giorno e, ogni volta che viene effettuato, il risultato del comando verrà salvato in un file di log in <code>/var/log/fstrim.log</code> con data ed ora di quando è stato eseguito. Assicurarsi che sia installato il pacchetto [[anacron]] nel sistema per essere certi che i comandi vengano eseguiti giornalmente. | ||
= Ridurre l'uso della swap = | == Ridurre l'uso della swap == | ||
Se il vostro sistema è dotato di abbastanza RAM (almeno 2 GiB) potete ridurre l'utilizzo della | Se il vostro sistema è dotato di abbastanza RAM (almeno 2 GiB) potete ridurre l'utilizzo della RAM creando il file <code>/etc/sysctl.d/local.conf</code> contenente le seguenti righe: | ||
<pre> | |||
# Personal values for SSD | |||
vm.swappiness=1 | |||
</pre> | |||
{{Autori | {{Autori |
contributi