Comment installer et utiliser flashcache / bcache pour mettre en cache le disque dur sur un disque SSD?

51

Je veux savoir si quelqu'un a déjà essayé d'installer et d'exécuter son noyau avec flashcache ou bcache pour la mise en cache SSD?

Comment avez-vous réussi à le faire?

    
posée kapad 06.02.2013 - 21:56
la source

4 réponses

10

Eh bien, nous avons une réponse bcache mais pas de réponse flashcache. J'ai choisi flashcache car j'avais déjà une installation existante, donc bcache était hors de question. Pour moi, cela semblait plus facile à mettre en place. J'ai choisi la méthode DKMS pour ne pas être bloqué lors de la reconstruction du module / des outils chaque fois que j'ai eu une mise à niveau du noyau.

Ces étapes sont décrites dans README-DKMS sur Github.

Création du module

  1. La première chose à faire est d’installer les prérequis du bâtiment:

    sudo apt-get install dkms build-essential linux-headers-$(uname -r) git
    
  2. Ensuite, accrochez la source:

    git clone git://github.com/facebook/flashcache; cd flashcache
    
  3. Construisez et installez les modules:

    make -f Makefile.dkms
    

Création d’un périphérique flashcache

(Dans cet exemple, j'utilise la mise en cache d'écriture différée - la valeur par défaut - mais Flashcache peut également faire de l'écriture et de l'écriture)

Mettre en cache un périphérique non root (non monté sur /)

sudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX Où fcache est le périphérique créé (/ dev / mapper / fcache), / dev / sdaX est le partition SSD (ou le disque entier) et / dev / sdbX est la partition du disque dur.

Mise en cache de votre périphérique racine

Il y a encore quelques étapes si vous mettez votre périphérique racine en cache. Vous aurez besoin d'un LiveCD / USB Ubuntu pour cette section.

  1. cd /path/to/flashcache/source

  2. make -f Makefile.dkms boot_conf

  3. Éditez /boot/grub/grub.cnf et / etc / fstab pour démarrer depuis / dev / mapper / fcache (je ne pense pas que cette étape soit vraiment nécessaire, mais elle le dit). Veillez à noter l'UUID de votre périphérique racine d'origine.

  4. Redémarrez avec le LiveCD / LiveUSB.

  5. Montez votre périphérique racine: mount /dev/sda4 /mnt (/ dev / sda4 est ma partition racine Linux)

  6. cd /mnt/path/to/flashcache/source

  7. sudo apt-get install dkms build-essential linux-headers-$(uname -r)

  8. make; sudo make install Pas besoin de faire toute la configuration DKMS dans l'environnement en direct

  9. Démontez le périphérique racine sudo umount /mnt

  10. sudo flashcache_create -p back fcache /dev/sdbX /dev/disk/by-uuid/[UUID] Où fcache est le périphérique créé (il devrait être le même que celui que vous avez placé dans / etc / fstab et /boot/grub/grub.cnf, dans mon cas c'était fcache), / dev / sdbX est la partition SSD (ou disque entier) et [UUID] est l'UUID de votre partition racine.

  11. Redémarrer!

Avertissements lors de l’utilisation du périphérique racine

Un petit désagrément lorsque FlashCache est utilisé pour le périphérique racine est que grub-probe ne parvient pas à détecter le périphérique racine et peut perturber votre menu de démarrage pour que vous ayez deux entrées Ubuntu. Mais peu importe ce que vous utilisez dans la réalité, l'étape make -f Makefile.dkms boot_conf ci-dessus installe des scripts dans votre initrd qui détecteront et utiliseront le périphérique flashcache.

    
réponse donnée Chuck R 29.06.2013 - 23:36
la source
12

Il existe un outil de conversion pour activer bcache sur un périphérique existant (divulgation: je l'ai écrit). C'est aussi la voie à suivre pour les nouvelles installations, car les installateurs de distribution actuels ne savent pas comment créer des périphériques bcache (auquel cas: commencez par installer sur le disque dur).

Voir convertir votre système de fichiers racine en bcache dans blocks LISEZ-MOI pour les instructions.

bcache nécessite Linux 3.10 ou plus récent, qui est en bon état et peut être installé manuellement à partir de lien (recherchez la dernière version balisée, actuellement v3.11.5-saucy , et installez les debs correspondant à votre architecture).

bcache-tools et blocks peuvent être installés depuis mon ppa de stockage .

    
réponse donnée Gabriel 01.09.2013 - 16:05
la source
5

Avertissement: bcache ne peut pas être utilisé pour votre installation Ubuntu existante. Si vous avez besoin de la mise en cache SSD pour votre système d'exploitation, vous devriez attendre une version future ou spéciale du programme d'installation d'Ubuntu qui pourrait configurer votre cache SSD. Voir cette réponse par Oli ici: Est-ce que bcache nécessite une nouvelle installation?

Pour tous ceux qui souhaitent un lecteur bcache pour les données non-OS:

La première chose à faire est de mettre à jour votre noyau si vous utilisez 13.04 ou une version antérieure en utilisant le noyau PPA de la ligne principale. Les instructions d'utilisation peuvent être trouvées ici:

lien

Assurez-vous de sélectionner le noyau 3.9 ou supérieur lors du démarrage ou cela ne fonctionnera pas et votre disque disparaîtra.

Installez bcache-tools, pour le moment vous devrez installer depuis le dépôt git:

git clone http://evilpiepirate.org/git/bcache-tools.git

Si vous parvenez à empaqueter bcache-tools pour debian, faites-le nous savoir et cette question sera mise à jour pour vous. (Les dépendances de construction de bcache-tools sont uuid-dev et libblkid-dev . Elles doivent être installées pour générer bcache-tools .)

Une fois que vous avez tous les outils en place, vous êtes prêt à essayer de suivre le guide ici:

lien

Ce guide montre comment formater les disques (disque dur SSD AND ), puis les joindre pour créer un nouveau bloc de périphérique à l’aide de bcache. Postez un commentaire si vous trouvez les instructions déroutantes et que je mettrai à jour cette réponse avec des simplifications.

    
réponse donnée Martin Owens -doctormo- 07.05.2013 - 05:43
la source
2

Je pensais que je viendrais ici et commenterais ce qui m’est arrivé lorsque j’ai installé un nouveau noyau. J'utilisais flashcache uniquement pour ma partition / home / dossier. J'ai installé un nouveau noyau, démarré dans celui-ci et s'est arrêté pendant le démarrage. essayer de le réparer. J'ai d'abord essayé de charger le module flashcache et il a dit qu'il ne pouvait pas le trouver. J'ai donc pensé que je devais le compiler et l'installer pour ce nouveau noyau que je viens d'installer. J'avais toujours le dossier / flashcache / situé dans / root / donc je me suis connecté et j'ai couru

make -f Makefile.dkms boot_conf

alors j'ai couru

make install

puis j'ai chargé le module flashcache avec

modprobe flashcache

alors je devais juste charger mon périphérique flashcache existant qui était

flashcache_load /dev/sdb1

puis montez juste ma partition avec

mount /home

alors quittez la session en tant que root avec exit sur la ligne de commande et il devrait continuer à démarrer normalement. tout est fait!

    
réponse donnée Ubu the Tech Guru 11.01.2014 - 06:30
la source

Lire d'autres questions sur les étiquettes