====== Installation gnu-linux sur SSD ====== Quelques recommandations pour une installation adaptée/pérenne sur un disque SSD((**S**olid **S**tate **D**isk)). * Dans le BIOS s'assurer que le mode SATA détecté est bien AHCI et non pas IDE. * Lors de la création des partitions, laisser 10% de l'espace non alloué en fin de disque. Cet espace sera utilisé par les firmwares SSD pour l'overprovisioning (augmente perf. et durée de vie). * Utiliser le système de fichier EXT4 qui offre une journalisation nécessaire pour le système mais non excessive. * Dans /etc/fstab ajouter l'option **noatime** qui permet de désactiver l'écriture systématique du **timestamp** à chaque lecture d'un fichier par le système. * Éviter la fragmentation des fichiers sur la partition en gardant toujours 20% d'espace libre. Ne pas défragmenter (génère énormément d’écritures). ===== Utiliser fréquemment fstrim ===== S'assurer que le TRIM s'execute régulierement (lors du démarrage, lors de chaque arret) en ajoutant la commande fstrim dans le fichier /etc/rc.local ===== Minimiser l'utilisation du swap sur SSD ===== La variable **swappiness** permet d'influencer la manière dont le système va utiliser la zone de swap. Sa valeur peut être définie entre 1-100. Plus la valeur est faible, plus le système privilégiera la RAM même pour faire face à une forte charge avant d'utiliser la mémoire virtuelle sur SSD. Pour afficher la valeur **swappiness**: cat /proc/sys/vm/swappiness Pour baisser la valeur par défaut de swappiness, modifier sa valeur dans un fichier de conf sous **/etc/sysctl.d**. Ici on crée un nouveau fichier **/etc/sysctl.d/60-custom-vm.conf**: vm.swappiness = 1 On recharge les fichiers de conf via la commande: $ sudo procps start Sur les systèmes utilisant systemd, on invoque la commande "systemd-sysctl" : /usr/lib/systemd/systemd-sysctl ===== Désactiver l'hibernation ===== Le processus d'hibernation génère énormément d’écritures dans la zone de swap, il vaut mieux ne pas l'utiliser et s'assurer qu'elle est désactivée (c'est le cas par défaut sur Ubuntu). ===== Utiliser tmpfs ===== Pour réduire encore les écritures sur le SSD il est possible de déplacer les fichiers temporaires et les logs en mémoire RAM. Modifier le fichier /etc/fstab tmpfs /var/log tmpfs defaults,noatime 0 0 tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 Sur les distributions utilisant systemd pour que le système prenne en compte les modifications apportées au fichier ''/etc/fstab'' invoquer : systemctl daemon-reload mount -a Remarque: Comme toute l'arborescence sous /var/log disparaît après chaque redémarrage, certaines applications peuvent être perturbées. Dans ce cas, recréer l’arborescence nécessaire lors du démarrage via le script /etc/rc.local On liste les dossiers existant sous /var/log: $ cd /var/log $ find . -type d -print On recrée chaque dossier par appel d'un script lors du démarrage du système: # # Modification for SSD for dir in apparmor apt cups dist-upgrade fsck gdm installer samba unattended-upgrades ; do if [ ! -e /var/log/$dir ] ; then mkdir /var/log/$dir fi done ===== Références ===== * https://sites.google.com/site/easylinuxtipsproject/ssd * http://joao.machado-family.com/2014/04/01/linux-ssd-trim-setup/ * http://doc.ubuntu-fr.org/tmpfs