Como configurar o bcache?

8

Eu tentei configurar o bcache no Ubuntu 14.04 com uma nova instalação e uma partição /home vazia ( /dev/sdb2 ) como um dispositivo de apoio. Eu tenho um sistema em execução no meu SSD e gostaria de usar sua partição /dev/sda2 para armazenar em cache meu /home . Eu sempre consegui resolver meus problemas do Ubuntu a partir de fóruns, mas estou lutando para entender o básico aqui e precisar de ajuda:

  1. Em que conta eu preciso estar logado quando configuro o bcache em primeiro lugar? Obviamente, o usuário criado durante a instalação no /dev/sdb2 precisa efetuar logout para que /home seja desmontado, portanto, configuro uma conta de usuário temporária em uma partição separada para fazê-lo. Isso parece muito desajeitado já.
  2. make-bcache -B e -C me dizem que há superblocos não-bcache no dispositivo, por isso fiz sudo wipefs -a em ambos os dispositivos. As partições aparecem como não formatadas sem um UUID no GParted. Isso é normal?
  3. Se sim, o que acontece com fstab e /home na inicialização? Preciso usar o UUID do bcache no fstab? Eu fiz, mas o sistema não encontrou a partição /home na próxima inicialização.

  4. As mensagens echo /dev/sdb2 > /sys/fs/bcache/register e echo /dev/sda2 > /sys/fs/bcache/register retornam mensagens 'Permissão negada'; Pelo que entendi, /sys não pode ser gravado.

    Portanto, echo /dev/sdb2 | sudo tee /sys/fs/bcache/register parece ter funcionado.

Alguém pode verificar se esta é a maneira correta de fazer isso no Ubuntu?

Parece que consegui criar, registrar e anexar a unidade de suporte, mas, de acordo com o tail /sys/block/bcache0/bcache/stats_total/* , só tenho dados ignorados. Toda a minha configuração é uma bagunça agora, então qualquer esclarecimento seria muito apreciado.

    
por Laszlo Almasi 14.09.2014 / 11:05

3 respostas

2

Após algumas tentativas e erros, chegamos à seguinte solução para uma instalação limpa:

  • Particione o disco rígido da maneira que preferir (supondo que /dev/sdb2 seja o espaço que você deseja para seu /home ).
  • # apt-get install bcache-tools
  • # make-bcache -B /dev/sdb2 -C /dev/sda2 (Isso cria /dev/bcache0 , mas o instalador da interface do usuário ainda não pode usá-lo).
  • # mkfs.ext4 /dev/bcache0 (Isso faz com que o instalador veja uma "partição / dev / bcache0" sob "device / dev / bcache0" e permite que você a use como "/ home" durante a instalação).
  • Execute o instalador como de costume, certifique-se de selecionar opções avançadas de partição de disco.
  • O instalador cria initrd image com o módulo do kernel bcache incluído e carregado porque instalamos bcache-tools antes, portanto, após a reinicialização, ele simplesmente funciona.
  • Após inicializar o sistema instalado, instale bcache-tools novamente, para que as atualizações posteriores não comprometam o processo de inicialização, omitindo o módulo do kernel bcache necessário da imagem initrd.
por alex 03.11.2014 / 10:12
2

Com o Ubuntu 15.10, a resposta de alex não está mais correta. A imagem initramfs está bloqueada no instalador e não será automaticamente gerada novamente quando o sistema for instalado. Assim, um terá uma instalação bcache , mas não será capaz de inicializar. Escrevi mais uma descrição detalhada do seguinte processo em outro ; no entanto, aqui estão as noções básicas:

1. Particionamento

Inicialize no live-cd do Ubuntu e crie o seguinte esquema de partição com fdisk ou gparted . Assumindo que /dev/sda é seu SSD e /dev/sdb é seu disco rígido:

/dev/sda1 - 1024 MB, EXT4, used for /boot (grub/grub2 doesn't support bcache)
/dev/sda2 - any format, for cache
/dev/sdb1 - EFI partition (if your machine needs it)
/dev/sdb2 - swap
/dev/sdb3 - any format, backing partition

2. Crie o dispositivo bcache

Abra o terminal, limpe os sistemas de arquivos no dispositivo de backup e armazenamento em cache:

sudo wipefs -a /dev/sda2
sudo wifefs -a /dev/sdb3

Instale bcache-tools e crie o bcache device:

sudo apt-get update
sudo apt-get install bcache-tools
sudo make-bcache -B /dev/sdb3 -C /dev/sda2
sudo mkfs.ext4 /dev/bcache0

3. Instalar o Ubuntu

Instale o sistema operacional usando o particionador personalizado da seguinte forma:

/dev/bcache0 - format EXT4, use as /
/dev/sda1    - format EXT4, use as /boot
/dev/sdb1    - EFI partition (if your machine needs it)
/dev/sdb2    - swap

NÃO REINICIE após a conclusão do instalador!

4. Instale o bcache na nova instalação

Usando um chroot , instalamos bcache-tools na nova instalação. Configure o ambiente e ative a resolução de DNS

sudo mount /dev/bcache0 /mnt
sudo mount /dev/sda1 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

Entre no chroot e faça a instalação

sudo chroot /mnt
sudo apt-get update
sudo apt-get install bcache-tools

Durante a instalação, você deve observar que initramfs é gerado novamente e instalado na partição ( chroot -ed) /boot .

5. Limpeza

Limpe o sistema de arquivos e reinicie.

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt
sudo reboot
    
por bkloppenborg 18.02.2016 / 04:59
0

Eu também tentei e falhei muitas vezes até encontrar estas instruções: link

Eles soam um pouco peludos, mas esta é provavelmente a única maneira possível de fazer o bcache funcionar, pelo menos até que o bcache se torne parte do instalador do ubuntu.

A única omissão curiosa nas instruções é o último estágio.

Depois de ter feito tudo, procure o UUID do conjunto de cache em / sys / fs / bcache e faça o seguinte:

echo <UUID> > /sys/block/bcache0/bcache/attach

Se você quiser ativar o modo de writeback (que eu recomendo vivamente):

echo writeback > /sys/block/bcache0/bcache/cache_mode

catting vários arquivos em /sys/block/bcache0/bcache/ irá dizer-lhe tudo sobre como o cache está sendo executado. Eu configurei meu sistema usando essas instruções em 26 de julho deste ano e tudo está funcionando perfeitamente desde então. cat /sys/block/bcache0/bcache/stats_total/cache_hit_ratio mostra um percentual altamente satisfatório de 88% e, subjetivamente, a máquina parece uma configuração totalmente SSD.

    
por Vivek 05.10.2014 / 09:31