RapidDisk 7.0.0 now available, marking a landmark release.

RapidDisk is an advanced Linux RAM Disk which consists of a collection of modules and an administration tool. Features include: Dynamically allocate RAM as block device. Use them as stand alone disk drives or even map them as caching nodes to slower local disk drives.

I just tagged release version 7.0.0 on GitHub. The changelog notes the following:

  • module: Updated for 5.8 kernels and later
  • module: fixed cache status format typo
  • daemon: Implement http-driven API to monitor/manage rapiddisk/cache functions
  • utility: Removing support for RHEL / CentOS 6.x
  • utility: Restructured userspace CLI
  • test: Restructured and improved test framework
  • misc: Code / documentation cleanup

At first glance, the changelog may not indicate much but the userspace component of this suite saw quite a bit of an overhaul. The management binary is now relying on getopt instead of age old strcmp() or strncmp() functions to determine user argument input. Also, there is now an API daemon that listens for REST commands to manage RapidDisk volumes over the network. Think Composable Desegregated Infrastructures (CDI). The daemon or rapiddiskd replies heavily on libmicrohttpd and everything is returned as a JSON blob (via libjansson). You can manage execution of the daemon via systemd (scroll down to the bottom of the README.md).

If you prefer to rely on the original command execution formats, I created the rapiddisk-legacy.sh bash script which can be found here. Instructions on how to use it can be found here.

A good example of how the daemon works can be found below:

Full API (with curl command execution examples) can be found here and over at the Wiki here.

The man pages and the project Wiki have been updated to reflect the changes made to this version.

Oh, I also changed the version numbering convention to a 3 digit instead of 2. I figure that this would make minor and more cosmetic updates easier to track.