pynvme提供了一个易用、强大的NVMe设备测试脚本开发平台,我们帮助用户开发自己的测试脚本。除此之外,我们也开发了很多通用的测试脚本让客户直接使用,其中包括NVMe Conformance测试集。如有需要获取这个Conformance测试集的脚本,请发邮件至:cranechu@gmail.com。用户将脚本拷贝或者clone到pynvme/scripts目录下即可。目前我们提供如下测试文件:
1laptop:~/pynvme/scripts/conformance▶ tree
2.
3├── 01_admin_cmd
4│ ├── abort_test.py
5│ ├── aer_test.py
6│ ├── dst_test.py
7│ ├── features_test.py
8│ ├── firmware_test.py
9│ ├── format_test.py
10│ ├── identify_test.py
11│ ├── logpage_test.py
12│ ├── mi_test.py
13│ ├── queue_test.py
14│ └── sanitize_test.py
15├── 02_nvm_cmd
16│ ├── compare_test.py
17│ ├── deallocate_test.py
18│ ├── flush_test.py
19│ ├── read_test.py
20│ ├── verify_test.py
21│ ├── write_test.py
22│ ├── write_uncorrectable_test.py
23│ └── write_zeroes_test.py
24├── 03_features
25│ ├── power_management_test.py
26│ ├── reset_test.py
27│ └── write_protect_test.py
28├── 04_registers
29│ ├── controller_test.py
30│ ├── pcie_test.py
31│ └── power_test.py
32├── 05_controller
33│ ├── arbitration_test.py
34│ ├── interrupt_test.py
35│ ├── prp_test.py
36│ ├── sq_cq_test.py
37│ └── sqe_cqe_test.py
38└── 06_tcg
但是如果您还没有安装pynvme,并且想快速尝试一下我们的Conformance测试,那就请按照下面的步骤来创建一个USB盘上的pynvne测试环境吧。
制作Fedora启动盘
在Fedora Linux主页上下载并安装Windows版本的Fedora Media Writer。
https://getfedora.org/en/workstation/download/
启动Fedora
制作好Fedora启动盘后,我们把待测的NVMe盘接上测试主机(请移除其他硬盘和SSD),并从USB盘启动测试主机,进入Fedora 32的桌面环境。我们这里不用安装Fedora,点Try Fedora。
安装pynvme
确认连上互联网,可以选择WIFI热点。
按Window键,输入
terminal
,回车打开命令行终端。
切换到root用户,安装make和pynvme。
1sudo su
2dnf install make -y
3pip install pynvme
运行测试
安装pynvme完成之后,我们先切换到pynvme目录。依然需要使用root用户来运行测试。
1sudo su
2cd /usr/local/pynvme
准备pynvme运行时环境,并运行
identify_nvme
。
1make setup
2./identify_nvme
如果上面的
identify_nvme
能找到正确的NVMe待测设备,那我们就可以执行Conformance测试了。
1make test TESTS=./scripts/conformance
测试结束后,可以获取测试的log文件。
1less test_*.log
这样我们就完成了一次Conformance测试。由于Fedora启动盘无法保持任何用户数据,所以重新启动之后需要再次安装pynvme环境才能运行测试。这里我们直接从pip获取pynvme的二进制库文件,省去了编译源代码的时间。但如果您需要开发pynvme或者测试脚本,那还是需要找一块SATA盘来安装Fedora并从源代码编译pynvme。
欢迎加入我们的微信讨论群!