RocksDB提供了一个存储插件架构,允许使用不同的存储后端。具体来说,ZenFS实现了对分区块设备(Zoned block device)的支持,并被集成到RocksDB中,使得RocksDB可以在ZNS设备上得到应用。
ZenFS
需要使用libzbd
库,而libzbd
库依赖于以下几个包:
- autoconf
- autoconf-archive
- automake
- libtool
- m4
- GTK3 and GTK3 development headers (when building the gzbd and gzbd-viewer graphical applications) 此项不装也可以,但是gzbd和gzbd-viewer的图形化程序会自动不编译
因此我们跑RocksDB+ZenFS的顺序是:先安装依赖包,再安装编译libzbd,最后ZenFS+RocksDB
首先确保内核按照该教程设置Kernel Configuration
然后开始正文
//安装依赖包
sudo apt-get install autoconf
sudo apt-get install autoconf-archive
sudo apt-get install automake
sudo apt-get install libtool
sudo apt-get m4
//下载libzbd库
$ git clone https://github.com/westerndigitalcorporation/libzbd.git
//编译库和示例程序
$ sh ./autogen.sh
$ ./configure
$ make
//安装库和所有示例程序
sudo make install
如果依赖包没有安装好,那么./configure会报错,make会报找不到makefile(因为./configure没成功)。
接下来就可以直接参考官方教程了zenfs/README.md