Facebook Flashcache

Arra gondoltam lehetne itt egy topicot szentelni a Facebook Flashcache kernel modullal kapcsolatos kérdéseknek, ötleteknek, praktikáknak. Viszonylag új dolog még, mégis ahogy látom, elég sokan használjuk már innen a HUP-ról is.

A projekt weboldala:
https://github.com/facebook/flashcache/

Nálam is hadrendbe van állítva egy szerverben, ezzel kapcsolatban szívesen megosztok stat-okat, vagy bármit amire kíváncsiak vagytok.

Hozzászólások

Az első kérdés ami bennem felmerült, és amiért ezt topicot nyitottam, a szabad terület kérdése. Köztudott, hogy az SSD-k nehezen viselik, ha teljesen tele vannak írva: a teljesítménynek és az élettartamnak is rosszat tesz. Viszont nem tudom, hogy most a Flashcache-re használt SSD-n mennyi szabad kapacitás van éppen. A doksikban leírt helyfoglalási módszer első olvasásra elég bonyolultnak tűnik, ha valaki ezzel kapcsolatban tud felvilágosítást adni az jó lenne.

Most a teljes SSD-t használom a Flashcache-ben, partíciók nélkül. Azon gondolkodom, nem lenne-e értelme létrehozni egy partíciót a teljes méret 80%-ával és csak azt használni. Egyébként 2x1TB winyó van RAID1-ben, ez elé tettem be egy 128GB-os Samsung 830-at.

De akkor azt nem tudod, hogy mennyire vannak kihasználva az SSD-k kapacitás tekintetében? Azért is érdekes ez a kérdés, mert nulla infó van a neten arról, hogyan érdemes méretezni az SSD-t, így azt sem tudom, hogy pl. egy nagyobbal gyorsabb lenne-e, vagy esetleg még egy kisebb is elég lenne-e.

Én a 20/80-ban "hiszek". Magyarán az adataid 20%-a okozza az IO 80%-át. Vagyis 1TB mellé kb 200GB SSD-t teszek. Persze ha sok adat folyamatosan mozog, akkor billen az arány is, de ez be szokott jönni. De sajnos ez egyén és szerver függő erősen, így mellé lehet lőni azért. Nálam van olyan, ahol 5/95 az arány, de láttam már 40/60-at is, bár ezek ritkák.
(A fenti olvasásra igaz. Ha írásra is méretezel, akkor erre mehet rá, amennyit érzésre gondolsz.)

A nagyobb SSD-k rendre gyorsabbak, mert több csatorna van bekötve. A 128-ashoz képest a 256-os általában dupla annyit tud és néha az 512-es is gyorsabb valamivel, mint a 256-os. A 256-os már egy jó méret és árban is elfogadható egy nagyobb tömb gyorsításához. Sok SSD-nél még a gyári szoftverrel is állíthatod a tartalék helyet, ami inkább élettartam szempont, de ettől függetlenül nem árt szabadon hagyni valamennyit. A Samsung 840 Pro biztosan ilyen állítható.

Első kérdésedre a válasz a utils/flashstat ha jól emlékszem. Meg lehet adni a dev nevét és szépen kiír egy rakás okosságot.

Második bekezdésedre: Miért szórakozol a partíciókkal, amikor a flashcache maga is tud adott méretet használni? Létrehozáskor "-s".
https://github.com/facebook/flashcache/blob/master/doc/flashcache-sa-gu…

[kicsit off?]

Erdemes meg megnezni a tier (ujabban btier) modult is, ebbol hamarosan erkezni fog az elso stabil verzio.

Vmint van meg bcache es dm-cache(?) is.

tompos

Sziasztok

Most találtam rá. Próbálom, de nem sikerül.
Letöltöttem, make, make install. Hiba nélkül lefutott.


# modprobe flashcache
# lsmod | grep flashcache
2:flashcache             76007  0
3:dm_mod                 53818  1 flashcache

# flashcache_create -p thru cachedev /dev/sdf /dev/sde
cachedev cachedev, ssd_devname /dev/sdf, disk_devname /dev/sde cache mode WRITE_THROUGH
block_size 8, cache_size 0
Flashcache metadata will use 409MB of your 7999MB main memory
device-mapper: reload ioctl failed: Az eszköz vagy erőforrás foglalt
Command failed
echo 0 143638992 flashcache /dev/sde /dev/sdf cachedev 2 2 8 0 512 4294967296 0 8 | dmsetup create cachedev failed

dmesg:
device-mapper: table: 253:0: flashcache: flashcache: Disk device is busy, cannot create cache
device-mapper: ioctl: error adding target to table

sde egy több lemezes 3ware kártyán lévő RAID tömb. sdf egy SSD alaplapi SATA porton.

# uname -a
Linux 2.6.32-5-amd64 #1 SMP Sun Dec 21 18:01:12 UTC 2014 x86_64 GNU/Linux

Netes fórumok alapján próbáltam lecsatolt sde-vel, felcsatolt sde-vel. Lecsatolt sdf-el, felcsatolt sdf-el.
A hiba ugyanaz.
Mit hagyítam ki?