Create a new flashcache volume
flashcache_create initializes a new flashcache volume from unformated block devices. It creates flashcache meta data and provides new volumes though their volume mappings.
flashcache_create -p back|around|thru [-s cache size] [-b block size] [-v] cachedevname cache_devname disk_devname
cache mode. Required argument. Specify any supported option: (write-)back, (write-)thru or (write-)around. Their respective implications are denoted below.
cache size. Optional argument. By default, flashcache will use the auto-detected full cache device size. When present, the given cache size is used instead. The expected units are sectors, however any value can be suffixed by "k", "m" or "g" to interpret the argument in kilo-, mega- or gigabytes respectively.
block size. Optional argument. Defaults to 4KB. Must be a power of 2. The default units is sectors. However, k can be specified as unit type as well. (A 4KB blocksize is the correct choice for the vast majority of applications.
force create. Bypass all sanity checks (for example for the sector size).
Use with care.
The following caching modes are supported:
Writethrough (thru) - safest mode, all writes are cached to the cache device but are also being written to disk immediately. If the used cache device has a lower write performance than the backend disk (many early generation SSD drives manufactured between 2008-2010 are known for such a poor write performance) enabling the writethrough mode may decrease the system write performance. All disk reads are cached (tunable through flashcache\[aq]s /proc interface).
Writearound (ardound) - again, very safe, writes are not written to the cache device, but directly to the backend disk instead. Disk blocks will only be cached after they are read. All disk reads are cached (tunable through flashcache\[aq]s /proc interface).
Writeback (back) - fastest mode but less safe. Writes only go to the cache device initially, and are being written to the backend disk later, depending on configured system policie. All disk reads are cached (tunable through flashcache\[aq]s /proc interface).
Writethru and Writearound caches are not persistent across a device removal or a reboot. Only Writeback caches are persistent across device removals and reboots. This reinforces \[aq]writeback is fastest\[aq], \[aq]writethrough is safest\[aq].
flashcache_create -p back -s 1g -b 4k cachedev /dev/sdc /dev/sdb
Creates a 1GB writeback cache volume with a 4KB block size on the cache device /dev/sdc to cache the disk volume /dev/sdb. The name of the device created is "cachedev".
flashcache_create -p thru -s 2097152 -b 8 cachedev /dev/sdc /dev/sdb
Same as above but creates a write through cache with units specified in sectors instead. The name of the device created is "cachedev".
README and other documents in /usr/share/doc/flashcache-utils. In particular, see flashcache-sa-guide.txt for configuring the flashcache kernel module through its /proc interface.
The flashcache source code and all documentation may be downloaded from <https://github.com/facebook/flashcache/>.