====== FlashCache s SSD ======
flashcache je zastarala. primo v kernelu je nyni "bcache".
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í [[man>dmsetup]]u...
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:
{{ :howto:hosting:flashcache-utilization.png }}
===== 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