命令行接口

盘信息查询命令

命令格式

libstorage-list [<commands>] [<device>]

参数说明

  • commands: 只有“help”可选,“libstorage-list help”用于显示帮助内容。

  • device: 指定PCI地址,格式如:0000:09:00.0,允许同时多个,中间用空格隔离,如果不设置具体的PCI地址,则命令行列出所有枚举到的设备信息。

注意事项

  • 故障注入功能仅限于开发、调试以及测试场景使用,禁止在用户现网使用,否则会引起业务及安全风险。

  • 在执行本命令时,管理组件(ublock)服务端必须已经启动,用户态IO组件(uio)未启动或已正确启动均可。

  • 对于未被ublock组件和用户态IO组件占用的盘,在本命令执行过程中会被占用,此时如果ublock组件或用户态IO组件尝试获取盘控制权,可能存储设备访问冲突,导致失败。

盘切换驱动命令

命令格式

libstorage-shutdown reset <device> [<device2> ...]

参数说明

  • reset: 用于对指定盘从uio驱动切换到内核态驱动;

  • device: 指定PCI地址,格式如:0000:09:00.0,允许同时多个,中间用空格隔离。

注意事项

  • libstorage-shutdown reset命令用于将盘从用户态uio驱动切换到内核态nvme驱动。

  • 在执行本命令时,管理组件(ublock)服务端必须已经启动,用户态IO组件未启动或已正确启动均可。

  • libstoage-shutdown reset命令为危险动作,请确认在切换nvme设备驱动之前,用户态实例已经停止对nvme设备下发IO,nvme设备上的fd已全部关闭,且访问nvme设备的实例已退出。

获取IO统计数据命令

命令格式

libstorage-iostat [-t <interval>] [-i <count>] [-d <device1,device2,...>]

参数说明

  • -t: 时间间隔,以秒为单位,最小1秒,最大为3600秒。该参数为int型,如果入参值超过int型上限,将被截断成负数或者正数。

  • -i: 收集次数,最小为1,最大为MAX_INT次,如果不设置,默认以时间间隔持续收集。该参数为int型,如果入参超过int型上限,将被截断成负数或者正数。

  • -d:指定块设备名称(eg:nvme0n1,其依赖于/etc/spdk/nvme.conf.in中配置的控制器名称),可以通过本参数收集指定一个或多个设备性能数据,如果不设置本参数,则收集所有识别到的设备性能数据。

注意事项

  • IO统计配置项已使能。

  • 进程已经通过用户态IO组件对所需要查询性能信息的盘下发IO操作。

  • 如果当前环境上没有任何设备被业务进程占用下发IO,则该命令将在提示:You cannot get iostat info for nvme device no deliver io后退出。

  • 在磁盘打开多队列情况下,IO统计工具将该磁盘上多队列的性能数据汇总后统一输出。

  • IO统计工具最多支持8192个磁盘队列的数据记录。

  • IO统计数据输出结果如下:

    Devicer/sw/srKB/swKB/savgrq-szavgqu-szr_awaitw_awaitawaitsvctmutil%poll-n
    设备名称每秒读IO个数每秒写IO个数每秒读IO字节每秒写IO字节平均下发IO大小(字节)磁盘排队的IO深度IO读时延(us)IO写时延(us)读写平均时延(us)单个IO处理时延(us)设备利用率轮询超时次数

盘读写命令

命令格式

libstorage-rw <COMMAND> <device> [OPTIONS...]

参数说明

  1. COMMAND参数
  • read,从设备读取指定的逻辑块到数据缓存区(默认是标准输出)。

  • write,将数据缓存区(默认是标准输入)的数据写入到NVMe设备的指定逻辑块。

  • help,显示该命令行的帮助信息。

  1. device: 指定PCI地址,格式如:0000:09:00.0。

  2. OPTIONS参数

  • –start-block,-s:读写逻辑块的64位首地址(默认值为0)。

  • –block-count,-c:读写逻辑块的数量(从0开始计数)。

  • –data-size,-z:读写数据的字节数。

  • –namespae-id,-n:设备的namespace id(默认id值是1)。

  • –data,-d:读写用的数据文件(读时保存读出的数据,写时提供写入数据)。

  • –limited-retry,-l:设备控制器进行有限次数的重启来完成设备读写。

  • –force-unit-access,-f:确保指令完成之前从非易失介质中完成读写。

  • –show-command,-v:发送读写命令之前显示指令相关信息。

  • –dry-run,-w:仅显示读写指令相关信息,不进行实际读写操作。

  • –latency,-t:统计命令行端到端读写的时延。

  • –help,-h:显示相关命令的帮助信息。

文档捉虫

“有虫”文档片段

问题描述

提交类型 issue
有点复杂...
找人问问吧。
PR
小问题,全程线上修改...
一键搞定!
问题类型
规范和低错类

● 错别字或拼写错误;标点符号使用错误;

● 链接错误、空单元格、格式错误;

● 英文中包含中文字符;

● 界面和描述不一致,但不影响操作;

● 表述不通顺,但不影响理解;

● 版本号不匹配:如软件包名称、界面版本号;

易用性

● 关键步骤错误或缺失,无法指导用户完成任务;

● 缺少必要的前提条件、注意事项等;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

正确性

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 命令、命令参数等错误;

● 代码片段错误;

● 命令无法完成对应功能;

● 界面错误,无法指导操作;

风险提示

● 对重要数据或系统存在风险的操作,缺少安全提示;

内容合规

● 违反法律法规,涉及政治、领土主权等敏感词;

● 内容侵权;

您对文档的总体满意度

非常不满意
非常满意
提交
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。