Flashcache no Xubuntu 13.04

3

Primeiro de tudo, eu sou noob usando flashcache, e tudo o que eu vou postar aqui é estudar sobre isso.

Tenho um Asus K56CM, i5 com 500GB de HD e 24GB de SSD para cache. No Windows 8, o sistema operacional padrão usa o Expresscache para armazenar em cache o HD no SSD.

Eu quero fazer o mesmo no Xubuntu, e eu vi o Flashcache como a melhor maneira de fazer isso.

Eu segui vários manuais, mas estou perdendo alguma coisa.

A tabela de partições é:

sda      8:0    0 465,8G  0 disk 

├─sda1   8:1    0   5,9G  0 part [SWAP]
├─sda2   8:2    0 117,2G  0 part /
└─sda3   8:3    0 342,7G  0 part /home

sdb      8:16   0  22,4G  0 disk 

├─sdb1   8:17   0   250M  0 part /boot/efi
├─sdb2   8:18   0   5,9G  0 part 
└─sdb3   8:19   0  16,3G  0 part 

SDA é disco rígido e SDB é SSD

No SDB2, estou usando o gdisk para o Intel Rapid Boot e quero armazenar em cache / home no SDB3.

O passo a passo que eu sigo é ( link :

 - apt-get install git-core
 - mkdir -p ~/Build/ ; cd ~/Build/
 - git clone https://github.com/facebook/flashcache.git
 - sudo apt-get install git build-essential dkms linux-headers-'uname -r' uuid-dev
 - cd flashcache
 - sudo make -f Makefile.dkms all boot_conf
 - sudo make install
 - sudo modprobe flashcache
 - sudo echo "flashcache" >> /etc/modules
 - dmesg | tail

E o Flashcache agora está instalado. Mas meu problema é quando eu crio o link flashcache.

Eu pego o UUID de SDA3 e faço o flashcache_Create no SDB3:

- umount /home
- flashcache_create -p back home_cached /dev/sdb3 /dev/disk/by-uuid/XXX-XXX (the ID)

E então, eu edito o FSTAB, comentando a montagem / home e adicionando:

- /dev/mapper/home_cached /home     reiserfs defaults        0       2

Tudo ok, mas agora, quando eu reiniciar o sistema, / home não está sendo montado ... e eu não sei porque ...

Alguma ajuda?

Obrigações!

PD: desculpe pelo meu inglês, eu sou espanhol: S

EDIT: Ok, eu tenho a solução. Flashcache deve ser criado a cada reinicialização, então criei um script para executar na inicialização. Eu descrevi aqui: link

    
por EirisDG 06.10.2013 / 16:40

2 respostas

2

Eu tive o mesmo problema; Eu criei este arquivo conf upstart que irá encontrar todas as unidades flashcache e carregá-las, em seguida, defina as configurações de sysctl para as unidades e monte-as. Se você adicionar mais unidades, tudo o que você precisa fazer é adicioná-las ao / etc / fstab e garantir que elas tenham a opção nobootwait no quarto campo, por exemplo,

/dev/mapper/export /export ext4 nobootwait 0 1

Aqui está o arquivo, que deve entrar em /etc/init/flashcache.conf :

# flashcache - Set up flashcache devices and mount them

description "Set up flashcache devices and mount them on boot"

start on mounted

task

console output

script
    # Load any flashcache devices and get them ready to mount, then set sysctl settings.

    PATH=/sbin:/bin:/usr/bin

    # Load up any flashcache devices
    for P in /dev/disk/by-id/*; do
        if flashcache_load $P 2>/dev/null; then
        echo "Loaded flashcache device from $P"
        fi
    done

    # Now look through all WRITE_BACK devices and set the sysctl settings
    for d in $(dmsetup table | grep 'cache mode(WRITE_BACK)' | perl -pe 's@.*ssd dev \(/dev/disk/by-id/(.*?)\), disk dev \(/dev/disk/.*?/(.*?)\).*@$1+$2@'); do
        # disable writing dirty cache data at shutdown
        sysctl -w dev.flashcache.$d.fast_remove=1
        # change reclaim policy from FIFO to LRU
        sysctl -w dev.flashcache.$d.reclaim_policy=1
        # do not write "stale" data to disk until evicted due to lack of space
        sysctl -w dev.flashcache.$d.fallow_delay=0
    done

end script
    
por user3324033 19.02.2014 / 18:26
0

Veja:
Como faço para instalar e usar o flashcache / bcache para armazenar em cache o HDD para SSD?

Existem 2 casos para criar / configurar o seu flashcache:

  1. Fazendo cache do seu dispositivo raiz ou
  2. Armazenando em cache um dispositivo não-raiz (não montado em / )
por jemin 07.04.2015 / 22:13