Virtual OCSSD 环境搭建

一、Virtual OpenChannel SSD 环境配置

1.下载Qemu-nvme的源码

1
git clone https://github.com/OpenChannelSSD/qemu-nvme

2.进入qemu-nvme目录下,运行配置脚本,make编译

1
2
3
4
cd qemu-nvme
./configure --target-list=x86_64-softmmu --prefix=$HOME/qemu-nvme
make
make install

3.在完成上述步骤后,开始正式配置环境。首先,在物理机上创建一个ocssd格式的文件,例如ocssd.img。

(若提示ocssd参数无效等报错,可能是因为实际使用的是物理机内置的qemu-img,而不是qemu-nvme make编译后生成的qemu-img。将下列命令的qemu-img更改为qemu-nvme/qemu-img代替即可。)

1
qemu-img create -f ocssd -o num_grp=2,num_pu=4,num_chk=60 ocssd.img

4.创建一个文件,作为模拟的磁盘,用来安装linux系统。

(在物理机上运行qemu虚拟机,虚拟机内加载模拟磁盘的文件与模拟ocssd的文件。最终的实验环境是在qemu虚拟机内部的linux子系统上运行。)

1
sudo qemu-img create -f raw /home/gasol/qemu-nvme/ubuntu40.raw 40G

5.下载ubuntu镜像,并在第4步建立的模拟磁盘的文件中,安装ubuntu系统。

(此时可能会提示qemu-system-x86_64: warning: host doesn’t support requested feature: CPUID.80000001H:ECX.svm [bit 2]。这是正常的,忽略即可。正常情况下,在输出提示信息后,会弹出新的安装窗口,点击安装即可)

1
sudo qemu-system-x86_64 -cdrom /home/polarsparc/ubuntu-18.04.1-desktop-amd64.iso -drive format=raw,file=/home/polarsparc/Downloads/VMs/vm-disk-1.raw -enable-kvm -m 2G -name vm-ubuntu-1

6.在物理机系统上,挂载ocssd,并启动虚拟机。

(注意:使用路径qemu-nvme/bin/下的qemu-system-x86_64运行,而不是采用系统内置的qemu-system-x86_64 )

1
sudo ./bin/qemu-system-x86_64 -m 8G -enable-kvm ubuntu40.raw -blockdev ocssd,node-name=nvme01,file.driver=file,file.filename=ocssd.img -device nvme,drive=nvme01,serial=deadbeef,id=lnvm -cpu host

7.在第6步虚拟机启动的情况下,利用VNC viewer连接,弹出窗口显示虚拟机运行情况。

(若提示无vncviewer,安装对应包即可)(命令中连接的IP和端口与第6步的提示IP和端口相同)

1
vncviewer 127.0.0.1:5900

8.在虚拟机启动后,可以通过运行以下命令,查看是否成功挂载ocssd设备。

1
sudo nvme lnvm list

二、SPDK安装配置

0.参考文档:https://spdk.io/doc/getting_started.html

1.按参考文档Getting started部分运行,即可编译安装SPDK,并可以通过运行build/examples/identify脚本列出系统上有效的NVME设备。

(通过该脚本可以验证SPDK是否成功识别挂载的虚拟OCSSD)

三、关于可能遇到的git clone与git submodule速度过慢问题的解决方案

0.参考文档:https://www.cnblogs.com/zhuchengchao/p/12076153.html

1.按照文档中的介绍,通过国内的gitee.com网站进行git clone,可以大幅度提升git clone的速率。

2.对于git submodule速度过慢的问题:

例如在git clone spdk的代码后,若需要git submodule,只需打开spdk/.gitmodules,将其中需要下载的库通过gitee.com下载到本地,并修改.gitmodules内部的路径即可。

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2021-2022 Xufei Pan
  • Visitors: | Views:

请我喝杯奶茶吧~

支付宝
微信