FlashCache s SSD

FlashCahe je system vyvinuty Facebookem k urychleni diskoveho IO pomoci cache na SSD. Například na agregovaných virtualizačních serverech s OpenVZ jsme pozorovali 2-3násobné zvýšení kapacity hostitelského stroje co se týká počtu hostovaných virtuálních serverů. Zajímavé bude jistě i využití u větších databázových strojů, atd…

Instalace

apt-get install git-core build-essential dkms coreutils

Install your linux headers

find them with "aptitude search headers"

to see what kernel you run use "uname -a"

ln -s /usr/src/linux-headers-$(uname -r)/ /lib/modules/$(uname -r)/build #novy balicky od openvz jsou rozbity, timhle se to fixne. idealne v /etc/rc.local

git clone https://github.com/facebook/flashcache.git

cd flashcache

make -f Makefile.dkms

Manuál https://github.com/facebook/flashcache/blob/master/doc/flashcache-sa-guide.txt

* make * make install * modprobe flashcache

Vytvoření cache

flashcache_create -p back flashcache-zarizeni /dev/ssd-zarizeni /dev/pomaly-zarizeni

Vytvori /dev/mapper/flashcache-zarizeni

Typy flashcachi

back

Cachuje i zapisy = rychlost & riziko

Autodetekce cache pri bootu = neni potreba pri kazdym bootu znova vytvaret

Nacachovany data vydrzi napric rebootama

Pri shutdownu/rebootu se flushuje, ale to se da vypnout pres sysctl

thru

Data zapisuje na obe zarizeni najednou (= zapisy nezrychli)

around

Data zapisuje jen na disk, na SSD se nacachujou az pri cteni

Uvolnění cache

Cache uvolníme pomocí dmsetupu…

dmsetup remove cachedev

Ovladani

zrychleny vypnuti systemu echo 1 > /proc/sys/dev/flashcache/sdc1+vservers/fast_remove

Sledování efektivity pomocí muninu

Munin plugin v ruby (ukazuje naplnění cache a její využití)

https://github.com/pkhamre/flashcache-munin/

https://raw2.github.com/pkhamre/flashcache-munin/master/flashcache_stats

Běžné pluginy na sledování zátěže systému a disku…

Takhle se projevila instalace flashcache na vytížení disku s virtuálními servery OpenVZ:

Když se něco rozbije

Někdy se stane, že je potřeba flashcache zakázat, např. když se rozbije SSD disk. V takovém případě je nutné zákazat modul flashcache v grubu. V debianu použijeme konfigurační soubor /etc/default/grub a tam přidáme do řádku GRUB_CMDLINE_LINUX následující

GRUB_CMDLINE_LINUX="flashcache.blacklist=yes"

A provedeme update-grub

V centosu pak použijeme přímo /boot/grub/menu.lst a pridame volbu flashcache.blacklist=yes na konec cmdline kernelu, ktery bootujeme.

Pro jistotu muzeme jeste modul flashcache pridat do /etc/modprobe.d/blacklist.conf

blacklist flashcache

Nezapomente potom v /etc/fstab opravit mountovani cachovaneho disku na skutecny fyzicky disk! Take je vyhodne flashcache disky pripojovat s parametrem nofail, aby se predeslo zaseku pri bootu, kdyz modul nenabehne.

Odkazy

Zdroje

http://nomaddeleeuw.nl/blog/1-ict/6-flashcache