Virtual OCSSD 编译安装与运行
virtual ocssd是什么?
网址:lightnvm.io
这套模拟器一共包含三部分:
virtual ocssd, lightnvm(linux kernel), liblightnvm
virtual ocssd: 就是 虚拟的 open channel ssd。也就是一个虚拟ssd硬盘
lightnvm: 是一个linux内核(kernel),这个内核包含了对virtual ocssd的调用接口。并且把相关io接口提供给软件应用层。并且使应用层可以使用ssd的特有的特性,比如并行读写。
liblightnvm: 这个是一套软件应用层面上的sdk。它将lightnvm内核的相关接口提供给application。
virtual OCSSD 的安装,编译与运行
相关网址:https://openchannelssd.readthedocs.io/en/latest/qemu/#getting-started-with-a-virtual-open-channel-ssd
github网址:https://github.com/OpenChannelSSD/qemu-nvme
开始安装here we go
Pre-requirements 安装的前提条件:
UBuntu 16.04 (更高的版本也可以)
请先安装好git,gcc等工具。大部分可以通过 sudo apt-get install 安装得到
打开终端
输入
代码克隆完毕后输入
cd qemu-nvme
./configure --enable-kvm --target-list=x86_64-softmmu --enable-linux-aio --disable-werror --disable-xen --prefix=$HOME/qemu-nvme
这时可能会报错
Disabling libtool due to broken toolchain support
ERROR: pkg-config binary 'pkg-config' not found
source does not have file "pkg-config"
解决办法,输入
sudo apt install pkg-config
然后再次输入
./configure --enable-kvm --target-list=x86_64-softmmu --enable-linux-aio --disable-werror --disable-xen --prefix=$HOME/qemu-nvme
若再次报错:
ERROR: zlib check failed Make sure to have the zlib libs and headers installed.
输入:
sudo apt-get install zlib1g
sudo apt-get install zlib1g-dev
然后再次输入
./configure --enable-kvm --target-list=x86_64-softmmu --enable-linux-aio --disable-werror --disable-xen --prefix=$HOME/qemu-nvme
若再次报错:
glib-2.12 gthread-2.0 is required to compile QEMU
输入:
sudo apt-get install libglib2.0-dev
然后再次输入
./configure --enable-kvm --target-list=x86_64-softmmu --enable-linux-aio --disable-werror --disable-xen --prefix=$HOME/qemu-nvme
若再次报错:
pixman >= 0.21.8 not present. Your options:
输入
sudo apt-get install libpixman-1-dev
然后再次输入
./configure --enable-kvm --target-list=x86_64-softmmu --enable-linux-aio --disable-werror --disable-xen --prefix=$HOME/qemu-nvme
若再次报错:
User requested feature linux AIO
configure was not able to find it.
Install libaio devel
输入
sudo apt-get install libaio-dev
然后再次输入
./configure --enable-kvm --target-list=x86_64-softmmu --enable-linux-aio --disable-werror --disable-xen --prefix=$HOME/qemu-nvme
这时 如果显示:
就表示成功了
接下来输入:
make
make install
这样就编译完成了
接下来是做硬盘配置
需要创建一个大文件, 这个大文件建议4g,也可以大一些如8g
这个大文件是虚拟ssd用来存储文件的,虚拟ssd会把文件写入到这个单个大文件里。
我们需要创建两个,输入:
dd if=/dev/zero of=ocssd_backend.img bs=1M count=8096
dd if=/dev/zero of=vm.img bs=1M count=8096
这样子就创建了两个8g的文件。后面的“count=”为文件大小。可以改为4g(4096)
接下来就是运行了!
输入(全部复制):
sudo bin/qemu-system-x86_64 -m 4G -smp 4 -s \
-drive file=vm.img,id=diskdrive,format=raw,if=none \
-device virtio-blk-pci,drive=diskdrive,scsi=off,config-wce=off,x-data-plane=on \
-drive file=ocssd_backend.img,id=myocssd,format=raw,if=none \
-device nvme,drive=myocssd,serial=deadbeef,lnum_pu=4,lstrict=1,meta=16,mc=3
运行成功!
按ctrl+c停止运行