Je veux savoir s'il y a des personnes qui ont essayé d'installer et d'exécuter leur noyau construit avec flashcache ou bcache pour la mise en cache SSD?
Comment avez-vous réussi à le faire?
Je veux savoir s'il y a des personnes qui ont essayé d'installer et d'exécuter leur noyau construit avec flashcache ou bcache pour la mise en cache SSD?
Comment avez-vous réussi à le faire?
Réponses:
Eh bien, nous avons eu une réponse bcache mais pas de réponse flashcache. J'ai choisi flashcache parce que j'avais déjà une installation existante, donc bcache était hors de question. Cela me semblait plus facile à mettre en place. J'ai choisi la méthode DKMS pour ne pas être obligé de reconstruire le module / les outils à chaque fois que je reçois une mise à niveau du noyau.
Ces étapes sont décrites dans le fichier README-DKMS sur Github.
Construire le module
La première chose à faire est d’installer les conditions préalables à la construction:
sudo apt-get install dkms build-essential linux-headers-$(uname -r) git
Puis accrochez la source:
git clone git://github.com/facebook/flashcache; cd flashcache
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 en écriture différée - la valeur par défaut - mais flashcache peut également effectuer des écritures différées et des écritures)
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 la partition SSD (ou le disque entier) et / dev / sdbX est la partition HDD.
Mettre en cache votre périphérique racine
Si vous mettez en cache votre périphérique racine, vous devez suivre quelques étapes supplémentaires. Vous aurez besoin d’un LiveCD / USB Ubuntu pour cette section.
cd /path/to/flashcache/source
make -f Makefile.dkms boot_conf
Éditez /boot/grub/grub.cnf et / etc / fstab pour démarrer à partir de / dev / mapper / fcache (je ne crois pas que cette étape soit vraiment nécessaire, mais elle le dit). Assurez-vous d'écrire l'UUID de votre périphérique racine d'origine.
Redémarrez avec le LiveCD / LiveUSB.
Montez votre périphérique racine: mount /dev/sda4 /mnt
(/ dev / sda4 est ma partition racine Linux)
cd /mnt/path/to/flashcache/source
sudo apt-get install dkms build-essential linux-headers-$(uname -r)
make; sudo make install
Pas besoin de faire toute la configuration DKMS dans l'environnement live
Démonter le périphérique racine sudo umount /mnt
sudo flashcache_create -p back fcache /dev/sdbX /dev/disk/by-uuid/[UUID]
Où fcache est le périphérique créé (il devrait être identique à celui que vous avez mis dans / etc / fstab et /boot/grub/grub.cnf, dans mon cas c’était fcache), / dev / sdbX est la partition SSD (ou le disque entier ) et [UUID] est l’UUID de votre partition racine.
Redémarrez!
Mises en garde lors de l'utilisation du périphérique racine
Un inconvénient mineur lorsque flashcache est utilisé pour le périphérique racine est que grub-sonde ne parvient pas à détecter le périphérique racine et peut gâcher votre menu de démarrage de sorte que vous ayez deux entrées Ubuntu. Cependant, peu importe ce que vous utilisez dans la réalité, l’ make -f Makefile.dkms boot_conf
étape ci-dessus installe dans votre initrd des scripts qui détecteront et utiliseront le périphérique flashcache.
linux /boot/vmlinuz-3.19.0-51-lowlatency root=UUID=0a540b91-5990-4df0-bc99-5d6e2cd3fed6 ro recovery nomodeset
to linux /boot/vmlinuz-3.19.0-51-lowlatency root=/dev/mapper/fcache ro recovery nomodeset
(c.- à -d. Changez le paramètre root =)
Il existe un outil de conversion permettant d'activer bcache sur un périphérique existant (divulgation: je l'ai écrit). C'est également la voie à suivre pour les nouvelles installations, car les installateurs de distribution actuels ne savent pas comment créer des périphériques bcache (dans ce cas: commencez par installer sur le disque dur).
Reportez- vous à la section conversion de votre système de fichiers racine en bcache dans le blocks
fichier README pour obtenir des instructions.
bcache nécessite Linux 3.10 ou une version ultérieure, ce qui est douteux et peut être installé manuellement à partir de
http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D (recherchez la dernière version étiquetée , actuellement v3.11.5-saucy
, et installez les debs qui correspondent à votre architecture).
bcache-tools
et blocks
peut être installé à partir de mon ppa de stockage .
/
, /home
, /usr/
, ...) alors que le système est en cours d' exécution (comme maintboot est cassé). Au lieu de cela, vous pouvez utiliser une clé USB connectée, l’installer blocks
et l’utiliser pour convertir vos disques. Attention, cet outil ne fonctionne que sur les tables de partitions principales MBR et GPT et nécessite 1 Mo d'espace supplémentaire avant chaque partition.
Avertissement préalable: 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 devez attendre une version future ou spéciale du programme d'installation Ubuntu qui pourrait configurer votre cache SSD. Voir la réponse d’Oli ici: bcache nécessite-t-il une nouvelle installation?
Pour tous ceux qui veulent un lecteur bcache pour des données autres que celles du système d'exploitation:
La première chose à faire est de mettre à niveau votre noyau si vous utilisez la version 13.04 ou antérieure à l'aide du PPA principal du noyau. Les instructions d'utilisation peuvent être trouvées ici:
https://wiki.ubuntu.com/Kernel/MainlineBuilds
Assurez-vous de sélectionner le noyau 3.9 ou supérieur lors du démarrage, sinon cela ne fonctionnera pas et votre lecteur disparaîtra.
Installez bcache-tools, pour le moment, vous devrez l’installer à partir du référentiel git:
git clone http://evilpiepirate.org/git/bcache-tools.git
Si vous parvenez à compiler bcache-tools
Debian, faites-le nous savoir et cette question sera mise à jour pour vous. ( bcache-tools
Les dépendances de construction sont uuid-dev
et libblkid-dev
. Elles doivent être installées pour pouvoir être construites bcache-tools
.)
Une fois que vous avez tous les outils en place, vous êtes prêt à essayer de suivre le guide ici:
http://atlas.evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt
Ce guide explique comment formater les lecteurs (SSD ET disque dur), puis les associer pour créer un nouveau bloc de périphérique à l'aide de bcache. Postez un commentaire si vous trouvez que les instructions sont confuses et je mettrai à jour cette réponse avec des simplifications.
Je pensais venir ici et commenter ce qui m’était arrivé lorsque j’installais un nouveau noyau. J'utilisais flashcache pour ma partition / home / folder uniquement. J'ai installé un nouveau noyau, je l'ai démarré et il s'est arrêté pendant le démarrage et a déclaré qu'il ne pouvait pas trouver / dev / mapper / home_cached, il y a 3 choix à votre disposition lorsque vous recevez ce message et j'ai choisi l'option de connexion en tant que root et essayer de le réparer. J'ai d'abord essayé de charger le module flashcache et il a été dit qu'il ne pouvait pas le trouver. J'ai donc pensé que je devrais 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 l'ai gravé dessus 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 à la maison avec
mount /home
puis quittez la connexion en tant que root avec exit dans la ligne de commande et le démarrage devrait se poursuivre normalement. terminé!