Quero saber se alguém tentou instalar e executar o kernel construído com flashcache ou bcache para cache de SSD?
Como você conseguiu fazer isso?
Quero saber se alguém tentou instalar e executar o kernel construído com flashcache ou bcache para cache de SSD?
Como você conseguiu fazer isso?
Respostas:
Bem, nós temos uma resposta bcache, mas nenhuma resposta flashcache. Eu escolhi o flashcache porque já tinha uma instalação existente, portanto o bcache estava fora de questão. Para mim, parecia mais fácil configurar também. Eu escolhi o método DKMS para não ficar preso na reconstrução do módulo / ferramentas toda vez que recebi uma atualização do kernel.
Essas etapas estão descritas em README-DKMS no Github.
Construindo o módulo
A primeira coisa a fazer é instalar os pré-requisitos de construção:
Em seguida, pegue a fonte:
Crie e instale os módulos:
Criando um dispositivo flashcache
(Neste exemplo, eu uso o cache de write-back - o padrão -, mas o flashcache também pode gravar e gravar)
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.Armazenando em cache seu dispositivo raiz
Existem 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 /boot/grub/grub.cnf e / etc / fstab para inicializar a partir de / dev / mapper / fcache (não acredito que essa etapa seja realmente necessária, mas é o que diz). Certifique-se de anotar o UUID do seu dispositivo raiz original.
Reinicie com o LiveCD / LiveUSB.
Monte seu dispositivo raiz:
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 vivoDesmonte o dispositivo raiz
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ê colocou em / etc / fstab e /boot/grub/grub.cnf, no meu caso, era fcache), / dev / sdbX é a partição SSD (ou todo o disco ) e [UUID] é o UUID da sua partição raiz.Reinicie!
Advertências ao usar o dispositivo raiz
Um pequeno aborrecimento quando o flashcache é usado para o dispositivo raiz é que o grub-probe falha ao detectar o dispositivo raiz e pode atrapalhar o menu de inicialização para que você tenha duas entradas do Ubuntu. Porém, não importa qual você usará em toda a realidade, pois a
make -f Makefile.dkms boot_conf
etapa acima instala alguns scripts no initrd que detectarão e usarão o dispositivo flashcache.fonte
linux /boot/vmlinuz-3.19.0-51-lowlatency root=UUID=0a540b91-5990-4df0-bc99-5d6e2cd3fed6 ro recovery nomodeset
paralinux /boot/vmlinuz-3.19.0-51-lowlatency root=/dev/mapper/fcache ro recovery nomodeset
(ou seja, alterar o parâmetro root =) #Existe uma ferramenta de conversão para ativar o bcache em um dispositivo existente (divulgação: eu escrevi). Também é o caminho a seguir para novas instalações, já que os instaladores de distro atuais não sabem como criar dispositivos bcache (nesse caso: comece instalando no HDD).
Consulte a conversão de seu sistema de arquivos raiz para bcache no
blocks
README para obter instruções.O bcache requer Linux 3.10 ou mais recente, que é atrevido e pode ser instalado manualmente a partir de http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D (procure a versão mais recente marcada) , atualmente
v3.11.5-saucy
, e instale as debs que correspondem à sua arquitetura).bcache-tools
eblocks
pode ser instalado no meu ppa de armazenamento .fonte
/
,/home
,/usr/
, ...) enquanto o sistema está em execução (como maintboot está quebrado). Como alternativa, você pode usar um USB Stick ativo, instaláblocks
-lo e usá-lo para converter seus discos. Cuidado, porém, que esta ferramenta funciona apenas nas tabelas de partição MBR e GPT primária e requer 1MiB de espaço extra antes de cada partição.Aviso prévio: o bcache não pode ser usado para a instalação existente do Ubuntu. Se você precisar do armazenamento em cache do SSD para o seu sistema operacional, aguarde uma versão futura ou especial do instalador do Ubuntu, que possa configurar o cache do SSD. Veja esta resposta de Oli aqui: O bcache requer uma nova instalação?
Para todos os outros que desejam uma unidade bcache para dados que não sejam do sistema operacional:
A primeira coisa a fazer é atualizar o kernel se você estiver usando o 13.04 ou mais antigo usando o PPA da linha principal do kernel. Instruções para usar isso podem ser encontradas aqui:
https://wiki.ubuntu.com/Kernel/MainlineBuilds
Certifique-se de selecionar o kernel 3.9 ou superior ao inicializar, ou ele não funcionará e sua unidade desaparecerá.
Instale o bcache-tools, no momento você terá que instalar a partir do repositório git:
Se você conseguir empacotar o
bcache-tools
debian, informe-nos e esta pergunta será atualizada para você. (bcache-tools
as dependências de compilação de sãouuid-dev
elibblkid-dev
. Elas devem ser instaladas para serem construídasbcache-tools
.)Depois de ter todas as ferramentas no lugar, você está pronto para tentar seguir o guia aqui:
http://atlas.evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt
Este guia mostra como formatar as unidades (SSD E disco rígido) e, em seguida, conectá-las para criar um novo bloco de dispositivo usando o bcache. Poste um comentário se achar as instruções confusas e atualizarei esta resposta com simplificações.
fonte
Eu pensei em vir aqui e comentar sobre o que me ocorreu quando instalei um novo kernel. Eu estava usando o flashcache apenas para minha partição / home / folder. Eu instalei um novo kernel, inicializei nele e ele parou durante a inicialização e disse que não podia encontrar / dev / mapper / home_cached, existem 3 opções que você tem quando recebe essa mensagem e eu escolho a opção de fazer login como root e tente consertá-lo. Primeiro tentei carregar o módulo flashcache e ele disse que não o encontrava. Então imaginei que teria que compilar e instalar o novo kernel que acabei de instalar. eu ainda tinha a pasta / flashcache / localizada em / root /, então eu coloquei nele e executei
então eu corri
carreguei o módulo flashcache com
então eu só tinha que carregar meu dispositivo flashcache existente que era
então apenas monte minha partição inicial com
saia do logon como root com exit na linha de comando e deve continuar inicializando normalmente. tudo feito!
fonte