More

    [Ubuntu 18.04] Créer une partition sur un HDD avec un cache SSD

    L’idée est de créer une partition sur un disque dur mécanique, en le melant à un disque SSD comme cache.

    L’installation va se dérouler comme suit :

    • Installation des outils
    • Remise à zéro des disques durs concernés
    • Création de la partition et formatage
    • Montage, tests et finalisation

    Dans cet article, j’utiliserai deux disques : « /dev/sda » pour le disque dur mécanique, « /dev/sdb » pour le disque SSD.


    Pour générer la configuration, il faut auparavant installer le paquet « bcache-tools » – rien de plus simple :

    sudo apt install bcache-tools

    Les disques durs concernés devront être remis à zéro grâce à la commande « wipefs« , pas forcément quant aux partitions, mais plutôt sur la « signature » du disque (entendez par là les antécédents de RAID et autres configurations du genre).

    sudo wipefs -a /dev/sdb
    sudo wipefs -a /dev/sdc

    La génération du disque avec son cache est maintenant possible via cette commande :

    sudo make-bcache -B /dev/sdb -C /dev/sdc
    # -B (disque mécanique) -C (disque SSD cache)

    La commande ci-dessus génère en fait une sorte de disque dur virtuel. Nous pouvons donc créer une partition sur ce « nouveau » disque puis le monter pour tester. J’ai choisi l’EXT4 et non pas le BTRFS par soucis de compatibilité et simplicité.

    sudo mkfs.ext4 /dev/bcache0
    sudo mkdir /data
    sudo mount -o rw /dev/bcache0 /data
    sudo chown user:user /data

    J’ai créé un dossier « /data » pour y monter le disque avec son cache ; libre à vous de changer/choisir un autre emplacement.
    Avec la commande « mount », vous aurez accès pleinement à votre nouveau disque. Essayez de créer des dossiers/fichiers à l’intérieur pour être sûr. A cet instant, la partition est exploitable. L’outil « bcache » s’occupe tout seul quant à la mise en cache des données. Par défaut, le mode de cache sera en writethrough, permettant d’écrire/lire dans le cache en premier puis en synchronisant les données vers le disque dur mécanique une fois les inputs fermés. Deux autres modes sont disponibles (writeback – les données sont écrites dans le cache et seront ré-écrites dans le stockage mécanique une fois l’I/O complètement terminée ; et writearound – les données sont écrites directement sur le stockage mécanique avant d’être lues sur le SSD)

    Pour contrôler l’état du cache et le mode que vous avez sélectionné, voici les deux commandes :

    # Voir le mode de cache mis en place
    cat /sys/block/bcache0/bcache/cache_mode
    
    # Connaître l'état du cache (état bon ou mauvais)
    cat /sys/block/bcache0/bcache/state

    Au redémarrage du PC, le montage précédemment effectué ne sera plus là. Il faut modifier le fichier fstab pour monter définitivement le disque. Effectuez une sauvegarde du fichier auparavant.

    cp /etc/fstab /etc/fstab.backup
    sudo nano /etc/fstab
    
    --- partition HDD2Tb+SSD128G(cache)
    UUID=f3631f8d-fcbb-49a3-900b-a9e8f92feff7    /data   ext4    defaults    0 1

    L’UUID du disque « bcache0 » se récupère via la commande « sudo blkid » – recherchez alors la ligne avec « /dev/bcache0 » et récupérez l’UUID. Remplacez « /data » par votre configuration.

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here

    huit + 6 =

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.