使用QEMU配置虚拟OCSSD(中文版安装)

使用QEMU配置虚拟OCSSD(中文版安装)

    • 安装环境
    • qemu-nvme安装
      • 从[OCSSD项目中下载qemu-nvme](https://github.com/OpenChannelSSD)
      • qemu-nvme配置
      • qemu-nvme编译
    • 配置Open-Channel 2.0 SSD设备
    • 为虚拟机qemu安装系统
      • 从[Ubuntu](https://ubuntu.com/)官网下载系统镜像文件
      • 安装VNC虚拟网络控制台
      • 安装虚拟机的操作系统
    • 配置内核
      • 安装编译内核所需的包
        • 方法一:下载最新版本的内核
        • 方法二:从[OCSSD项目中下载linux](https://github.com/OpenChannelSSD)
      • 配置内核
      • 编译内核
    • 在虚拟机中设置LightNVM
      • 安装`nvme-cli`
      • 开始使用`nvme lnvm`
    • 利用fio进行初步简单的性测试
      • fio安装
      • job 脚本编写
      • 运行fio

安装环境

  • Ubuntu系统版本18.04
kathy@kathy:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.5 LTS
Release:	18.04
Codename:	bionic
  • 内核版本
kathy@kathy:~$ uname -a
Linux kathy 5.4.0-42-generic #46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
kathy@kathy:~$ 

qemu-nvme安装

从OCSSD项目中下载qemu-nvme

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

qemu-nvme配置

  • 进入刚才下载的qemu-nvme目录下
kathy@kathy:~$ cd qemu-nvme
kathy@kathy:~/qemu-nvme$ ./configure --target-list=x86_64-softmmu --prefix=$HOME/qemu-nvme
  • 以下是遇到的一些问题和解决办法
ERROR: Python not found. Use --python=/path/to/python
###解决
sudo apt-get install python

ERROR: pkg-config binary 'pkg-config' not found
###解决
sudo apt-get install -y pkg-config

ERROR: glib-2.40 gthread-2.0 is required to compile QEMU
###解决
sudo apt-get install libglib2.0-dev

ERROR: pixman >= 0.21.8 not present.
       Please install the pixman devel package.
###解决
sudo apt-get install libpixman-1-dev

qemu-nvme编译

make -j '# of core'
make install

配置Open-Channel 2.0 SSD设备

  • 首先,如果之前系统没有安装qemu,通过ln命令给qemu-imgqemu-system-x86_64文件创建硬链接,以便在主机的bash中直接使用。
kathy@kathy:~/qemu-nvme$ cd bin
kathy@kathy:~/qemu-nvme/bin$ sudo ln qemu-img /usr/bin
kathy@kathy:~/qemu-nvme/bin$ sudo ln qemu-system-x86_64 /usr/bin
  • 创建OCSSD和系统镜像文件,我们把这两个文件创建在一个新的文件路径下,方便管理。
##创建ocssd.img
kathy@kathy:~/Documents/nvme$ qemu-img create -f ocssd -o num_grp=2,num_pu=4,num_chk=60 ocssd.img

##创建40G 的ubuntu.img文件
kathy@kathy:~/Documents/nvme$ qemu-img create -f qcow2 -o preallocation=full ubuntu.img 40G

为虚拟机qemu安装系统

从Ubuntu官网下载系统镜像文件

我下载了两个版本Ubuntu 18.04.5 LTS (Bionic Beaver) 和Ubuntu 16.04.6 LTS (Xenial Xerus)
因为之前使用的都是Ubuntu16.04.6版本,之前的主机也是这个系统,在虚拟机下使用Ubuntu 18.04.5版本有一些问题,这次主机的系统是Ubuntu 18.04.5版本,所以打算在这个版本日后做一些测试。

把下载好的移动到上述的~/Documents/nvme路径下

安装VNC虚拟网络控制台

kathy@kathy:~$ sudo apt-get install xvnc4viewer

安装虚拟机的操作系统

##从boot启动并安装系统
kathy@kathy:~/Documents/nvme$ sudo qemu-system-x86_64 -hda ubuntu.img -boot d -cdrom ubuntu-18.04.5-desktop-amd64.iso -m 8G -smp 4 -cpu host --enable-kvm -vnc :2

##通过VNC操作
##打开新的终端,就能开到安装画面,按步骤安装即可
kathy@kathy:~$  vncviewer localhost:5902

安装成功后再次开启虚拟机,执行以下命令:

##启动虚拟机
kathy@kathy:~/Documents/nvme$ sudo qemu-system-x86_64 -hda ubuntu.img -m 8G -smp 4 -cpu host --enable-kvm -vnc :2
##挂载OCSSD启动虚拟机
kathy@kathy:~/Documents/nvme$ sudo qemu-system-x86_64 -hda ubuntu.img -m 8G -smp 4 -cpu host --enable-kvm -vnc :4 -blockdev ocssd,node-name=nvme01,file.driver=file,file.filename=ocssd.img -device nvme,drive=nvme01,serial=deadbeef,id=lnvm
##打开VNC控制台
kathy@kathy:~$ vncviewer localhost:5902
  • 因为在4.19+版本的内核中已经有了LightNVM驱动
    在虚拟机中检查内核版本 uname -r
5.4.0-42-generic

因此可以直接跳转到 方法一:下载最新版本的内核部分:

in qemu
sudo dmesg -c
[    0.910463] nvme nvme0: pci 

你可能感兴趣的:(SSD闪存存储系统,Openchannel,SSD,lightnvm,pblk,qemu-nvme,内核)