长期支持版本

    社区创新版本

      命令行接口

      盘信息查询命令

      命令格式

      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即可。
      文档捉虫
      编组 3备份