[Dr.Lib@ASTL]开始使用Open-Channel SSD

Open-Channel SSD文档翻译:

https://github.com/OpenChannelSSD/documentation/blob/master/docs/gettingstarted.md

 

要使用Open-Channel SSD,操作系统内核的支持是必要的。通过LightNVM 子系统的引入,Linux内核在4.4及以后的版本添加了Open-Channel SSD支持。OpenChannelSSD 这个项目仍在开发中,推荐使用最新的 release 版本或者RC版。最新的源码可以参见https://github.com/OpenChannelSSD/linux

启动一个受支持的内核后,需要满足下列条件:

  1. 一个兼容的设备,如QEMU NVMe或者一个Open-Channel SSD,如 CNEX Labs LightNVM SDK.
  2. 驱动之上的媒体管理器。媒体管理器负责管理设备的分区表。
  3. 块设备管理器之上暴露Open-Channel SSD。

安装4.4+内核

LightNVM 在 Linux kernel 4.4+有直接支持.如果你还没有安装,可以参考: http://linuxdaddy.com/blog/install-kernel-4-4-on-ubuntu/ .

安装nvme-cli工具

nvme-cli是用来管理 nvme 设备的工具。它可以通过以下命令安装。

或者从 https://github.com/linux-nvme/nvme-cli 安装。

如果你用的不是Ubuntu发行版,可以参见nvme-cli 的github 项目寻求指导。

使用Open-Channel SSD硬件

如果你有一个来自 CNEX Labs的LightNVM SDK, 或者其他的Open-Channel SSD, 你可以通过以下命令查看设备:

大概会有一个这样的输出:

如果Block manager为none,设备需要首先通过以下命令初始化

使用QEMU

使用Keith Busch的 QEMU 分支,可以通过文件暴露一个兼容LightNVM的设备。参见以下向导来安装他的版本。

配置QEMU

创建一个空文件来放置你的NVMe设备。

这个命令创建了1GB名为 "blknvme"的文件。你可以通过以下命令启动你最喜欢的Linux镜像。

这里替换$LINUXVMFILE 为你预先安装的 Linux 虚拟机。

QEMU支持以下的LightNVM参数:

QEMU中的LightNVM 参数可以在$QUEMU_DIR/hw/block/nvme.cAdvanced optional options 注释中找到。

实例化媒体管理器和目标设备

当安装完成启动内核后,可以通过以下枚举设备

并且通过以下初始化:

假设nvme0n1在 "nvme lnvm list"中列出了, 他会暴露块设备 /dev/mydevice 并作为后端。注意pblk只在 Linux kernel 的Github仓库可以获取到。

源码安装

编译最新内核

最新的内LightNVM核可以在以下URL找到

git clone https://github.com/OpenChannelSSD/linux.git

在for-next分支。

请确保.config 包括以下:

按照你的发行版的说明编译安装这个内核。

QEMU安装

QEMU对Open-Channel SSD的支持基于 Keith Busch的qemu-nvme分支,它实现了一个兼容NVMe的设备。

从以下克隆qemu源码

并如下配置

并通过make和install编译安装

常见问题

打开 LightNVM时失败 mgmt /dev/lightnvm/control. Error: -1

你可能需要使用root用户运行nvme或者你使用了低于4.4的内核。

NVMe启动时Kernel panic

  1. 清零 nvme 的文件 .dd if=/dev/zero of=backend_file bs=1M count=X
  2. 记得同时升级qemu-nvme分支。linux和qemu-nvme的仓库是互相跟进的

CC BY-SA 4.0 [Dr.Lib@ASTL]开始使用Open-Channel SSD by Librazy is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.