Bem, recebemos uma resposta do bcache, mas sem resposta do flashcache. Eu escolhi flashcache porque eu já tinha uma instalação existente, então o bcache estava fora de questão. Para mim, parecia mais fácil de configurar também. Eu escolhi o método DKMS para não ficar preso reconstruindo o módulo / ferramentas toda vez que recebo uma atualização do kernel.
Essas etapas estão descritas em README-DKMS no Github.
Criando o módulo
-
A primeira coisa que você faz é instalar os pré-requisitos de construção:
sudo apt-get install dkms build-essential linux-headers-$(uname -r) git
-
Então pegue a fonte:
git clone git://github.com/facebook/flashcache; cd flashcache
-
Crie e instale os módulos:
make -f Makefile.dkms
Criando um dispositivo flashcache
(Neste exemplo eu uso cache writeback - o padrão - mas flashcache pode fazer writearound e writethrough também)
Armazenando em cache um dispositivo não-raiz (não montado em /)
sudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX
Onde fcache é o dispositivo criado (/ dev / mapper / fcache), / dev / sdaX é a partição SSD (ou disco inteiro) e / dev / sdbX é a partição HDD.
Colocando em cache o seu dispositivo raiz
Há mais algumas etapas se você estiver armazenando em cache o seu dispositivo raiz. Você precisará de um Ubuntu LiveCD / USB para esta seção.
-
cd /path/to/flashcache/source
-
make -f Makefile.dkms boot_conf
-
Edite o /boot/grub/grub.cnf e o / etc / fstab para inicializar a partir do / dev / mapper / fcache (não acredito que este passo seja realmente necessário, mas diz). Certifique-se de anotar o UUID do seu dispositivo raiz original.
-
Reinicie com o LiveCD / LiveUSB.
-
Monte seu dispositivo root:
mount /dev/sda4 /mnt
(/ dev / sda4 é minha partição raiz do Linux) -
cd /mnt/path/to/flashcache/source
-
sudo apt-get install dkms build-essential linux-headers-$(uname -r)
-
make; sudo make install
Não é necessário fazer toda a configuração do DKMS no ambiente ao vivo -
Desmonte o dispositivo root
sudo umount /mnt
-
sudo flashcache_create -p back fcache /dev/sdbX /dev/disk/by-uuid/[UUID]
Onde fcache é o dispositivo criado (deve ser o mesmo que você coloca em / etc / fstab e /boot/grub/grub.cnf, no meu caso era fcache), / dev / sdbX é a partição SSD (ou disco inteiro) e [UUID] é o UUID da sua partição raiz. -
Reinicialize!
Advertências ao usar o dispositivo raiz
Um pequeno incômodo quando o flashcache é usado para o dispositivo raiz é que o grub-probe não consegue detectar o dispositivo raiz e pode atrapalhar o seu menu de inicialização para que você tenha dois recursos do Ubuntu. Mas, não importa qual você use em toda a realidade, pois a etapa make -f Makefile.dkms boot_conf
acima instala alguns scripts em seu initrd que detectarão e usarão o dispositivo flashcache.