SPDK-RPC用法

  • framework_start_init - 开始初始化子系统
    示例用法: framework_start_init

  • framework_wait_init - 阻塞直到子系统初始化完成
    示例用法: framework_wait_init

  • rpc_get_methods - 获取支持的RPC方法列表
    示例用法: rpc_get_methods

  • spdk_get_version - 获取SPDK版本信息
    示例用法: spdk_get_version

  • save_config - 将当前SPDK子系统和目标的配置保存到stdout
    示例用法: save_config

  • load_config - 使用JSON RPC配置SPDK子系统和目标
    示例用法: load_config '{"subsystems": {"bdev": {"config": [{"method": "bdev_create", "params": {"name": "example_bdev", "driver": "Malloc", "size_mb": 100}}]}}}'

  • save_subsystem_config - 将当前SPDK子系统的配置保存到stdout
    示例用法: save_subsystem_config

  • load_subsystem_config - 使用JSON RPC配置SPDK子系统
    示例用法: load_subsystem_config '{"name": "bdev", "config": [{"method": "bdev_create", "params": {"name": "example_bdev", "driver": "Malloc", "size_mb": 100}}]}'

  • spdk_kill_instance - 发送信号给SPDK实例
    示例用法: spdk_kill_instance SIGTERM

  • framework_monitor_context_switch - 控制上下文切换监视器是否启用
    示例用法: framework_monitor_context_switch enable

  • framework_get_reactors - 显示所有反应器的列表
    示例用法: framework_get_reactors

  • framework_set_scheduler - 选择要激活的线程调度程序及其周期(实验性)
    示例用法: framework_set_scheduler "sched_type=spdk_scheduler_bess, period=1000"

  • framework_get_scheduler - 显示当前设置的调度程序及其属性
    示例用法: framework_get_scheduler

  • framework_disable_cpumask_locks - 禁用CPU核心锁定文件
    示例用法: framework_disable_cpumask_locks

  • framework_enable_cpumask_locks - 启用CPU核心锁定文件
    示例用法: framework_enable_cpumask_locks

  • bdev_set_options - 设置块设备子系统的选项
    示例用法: bdev_set_options '{"name": "bdev_opts", "options": {"bdev_io_pool_size": 512, "bdev_io_cache_size": 4096}}'

  • bdev_examine - 检查块设备是否存在,如果不存在则在创建后进行检查
    示例用法: bdev_examine "example_bdev"

  • bdev_wait_for_examine - 报告所有块设备都已经被检查
    示例用法: bdev_wait_for_examine

  • bdev_compress_create - 添加压缩虚拟块设备
    示例用法: bdev_compress_create "compress_bdev" "source_bdev"

  • bdev_compress_delete - 删除压缩磁盘
    示例用法: bdev_compress_delete "compress_bdev"

  • bdev_compress_get_orphans - 显示孤立的压缩块设备
    示例用法: bdev_compress_get_orphans

  • bdev_crypto_create - 添加加密虚拟块设备
    示例用法: bdev_crypto_create "crypto_bdev" "source_bdev" "crypto_aesni_mb"

  • bdev_crypto_delete - 删除加密磁盘
    示例用法: bdev_crypto_delete "crypto_bdev"

  • bdev_ocf_create - 添加OCF块设备
    示例用法: bdev_ocf_create "ocf_bdev" "cache_bdev" "core_bdev"

  • bdev_ocf_delete - 删除OCF块设备
    示例用法: bdev_ocf_delete "ocf_bdev"

  • bdev_ocf_get_stats - 获取选择的OCF块设备的统计信息
    示例用法: bdev_ocf_get_stats "ocf_bdev"

  • bdev_ocf_reset_stats - 重置选择的OCF块设备的统计信息
    示例用法: bdev_ocf_reset_stats "ocf_bdev"

  • bdev_ocf_get_bdevs - 获取包括未注册块设备的OCF设备列表
    示例用法: bdev_ocf_get_bdevs

  • bdev_ocf_set_cache_mode - 设置OCF块设备的缓存模式
    示例用法: bdev_ocf_set_cache_mode "ocf_bdev" "wb"

  • bdev_ocf_set_seqcutoff - 为给定的OCF缓存设备设置顺序截断参数
    示例用法: bdev_ocf_set_seqcutoff "ocf_bdev" "core0" "64"

  • bdev_ocf_flush_start - 开始刷新OCF缓存设备
    示例用法: bdev_ocf_flush_start "ocf_bdev"

  • bdev_ocf_flush_status - 获取OCF缓存设备的刷新状态
    示例用法: bdev_ocf_flush_status "ocf_bdev"

  • bdev_malloc_create - 使用malloc后端创建一个bdev
    示例用法: bdev_malloc_create "malloc_bdev" 1024

  • bdev_malloc_delete - 删除一个malloc磁盘
    示例用法: bdev_malloc_delete "malloc_bdev"

  • bdev_null_create - 添加一个具有null后端的bdev
    示例用法: bdev_null_create "null_bdev" 1024

  • bdev_null_delete - 删除一个null bdev
    示例用法: bdev_null_delete "null_bdev"

  • bdev_null_resize - 调整null bdev的大小
    示例用法: bdev_null_resize "null_bdev" 2048

  • bdev_aio_create - 使用aio后端添加一个bdev
    示例用法: bdev_aio_create "aio_bdev" "/dev/nvme0n1"

  • bdev_aio_rescan - 使用aio后端重新扫描bdev的大小
    示例用法: bdev_aio_rescan "aio_bdev"

  • bdev_aio_delete - 删除一个aio磁盘
    示例用法: bdev_aio_delete "aio_bdev"

  • bdev_uring_create - 使用io_uring后端创建一个bdev
    示例用法: bdev_uring_create "uring_bdev" "/dev/nvme0n1"

  • bdev_uring_delete - 删除一个uring bdev
    示例用法: bdev_uring_delete "uring_bdev"

  • bdev_xnvme_create - 使用xNVMe后端创建一个bdev
    示例用法: bdev_xnvme_create "xnvme_bdev" "/dev/nvme0n1"

  • bdev_xnvme_delete - 删除一个xNVMe bdev
    示例用法: bdev_xnvme_delete "xnvme_bdev"

  • bdev_nvme_set_options - 设置bdev nvme类型的选项(启动命令)
    示例用法: bdev_nvme_set_options '{"bdev_nvme_options": {"action_on_timeout": "none"}}'

  • bdev_nvme_set_hotplug - 设置bdev nvme类型的热插拔选项
    示例用法: bdev_nvme_set_hotplug '{"name": "Hotplug_NVMe0", "action": "rescan"}'

  • bdev_nvme_attach_controller - 添加具有nvme后端的bdev
    示例用法: bdev_nvme_attach_controller "nvme0" '{"name": "nvme_disk", "trtype": "PCIe", "traddr": "0000:01:00.0", "trsvcid": "4420", "action_on_timeout": "none"}'

  • bdev_nvme_get_controllers - 显示当前NVMe控制器列表或所需的NVMe控制器
    示例用法: bdev_nvme_get_controllers

  • bdev_nvme_detach_controller - 分离一个NVMe控制器并删除任何相关的bdev
    示例用法: bdev_nvme_detach_controller "nvme0"

  • bdev_nvme_reset_controller - 重置一个NVMe控制器或所有NVMe控制器
    示例用法: bdev_nvme_reset_controller "nvme0"

  • bdev_nvme_enable_controller - 启用一个NVMe控制器或所有NVMe控制器
    示例用法: bdev_nvme_enable_controller "nvme0"

  • bdev_nvme_disable_controller - 禁用一个NVMe控制器或所有NVMe控制器
    示例用法: bdev_nvme_disable_controller "nvme0"

  • bdev_nvme_start_discovery - 启动自动发现
    示例用法: bdev_nvme_start_discovery

  • bdev_nvme_stop_discovery - 停止自动发现
    示例用法: bdev_nvme_stop_discovery

  • bdev_nvme_get_discovery_info - 获取关于自动发现的信息
    示例用法: bdev_nvme_get_discovery_info

  • bdev_nvme_get_io_paths - 显示活动的I/O路径
    示例用法: bdev_nvme_get_io_paths

  • bdev_nvme_set_preferred_path - 在多路径模式下设置NVMe bdev的首选I/O路径
    示例用法: bdev_nvme_set_preferred_path "nvme_disk" "path1"

  • bdev_nvme_set_multipath_policy - 设置NVMe bdev的多路径策略
    示例用法: bdev_nvme_set_multipath_policy "nvme_disk" "NVME_MULTIPATH_ROUND_ROBIN"

  • bdev_nvme_get_path_iostat - 显示块设备的所有I/O路径的当前I/O统计信息。当io_path_stat为true时可以调用。
    示例用法: bdev_nvme_get_path_iostat "nvme_bdev"

  • bdev_nvme_cuse_register - 在NVMe控制器上注册CUSE设备
    示例用法: bdev_nvme_cuse_register "nvme_controller" "cuse_device_name"

  • bdev_nvme_cuse_unregister - 在NVMe控制器上取消注册CUSE设备
    示例用法: bdev_nvme_cuse_unregister "nvme_controller" "cuse_device_name"

  • bdev_zone_block_create - 使用块设备后端创建虚拟区域命名空间设备
    示例用法: bdev_zone_block_create "zone_block_bdev" 1024

  • bdev_zone_block_delete - 删除虚拟区域命名空间设备
    示例用法: bdev_zone_block_delete "zone_block_bdev"

  • bdev_rbd_register_cluster - 添加具有ceph rbd后端的Rados集群
    示例用法: bdev_rbd_register_cluster "rbd_cluster" "rbd_pool" "rbd_namespace" "/etc/ceph/ceph.conf"

  • bdev_rbd_unregister_cluster - 注销Rados集群对象
    示例用法: bdev_rbd_unregister_cluster "rbd_cluster"

  • bdev_rbd_get_clusters_info - 显示已注册的Rados集群名称和相关信息
    示例用法: bdev_rbd_get_clusters_info

  • bdev_rbd_create - 使用ceph rbd后端添加一个bdev
    示例用法: bdev_rbd_create "rbd_bdev" "rbd_cluster" "rbd_image"

  • bdev_rbd_delete - 删除rbd磁盘
    示例用法: bdev_rbd_delete "rbd_bdev"

  • bdev_rbd_resize - 调整rbd磁盘的大小
    示例用法: bdev_rbd_resize "rbd_bdev" 2048

  • bdev_delay_create - 在现有bdev上添加一个延迟bdev
    示例用法: bdev_delay_create "base_bdev" "delay_bdev" 100000

  • bdev_delay_delete - 删除延迟bdev
    示例用法: bdev_delay_delete "delay_bdev"

  • bdev_delay_update_latency - 更新给定延迟bdev的延迟值之一
    示例用法: bdev_delay_update_latency "delay_bdev" 50000

  • bdev_error_create - 添加带有错误注入后端的bdev
    示例用法: bdev_error_create "error_bdev" "base_bdev" 0.01

  • bdev_error_delete - 删除错误bdev
    示例用法: bdev_error_delete "error_bdev"

  • bdev_iscsi_set_options - 设置bdev iscsi类型的选项
    示例用法: bdev_iscsi_set_options '{"bdev_iscsi_options": {"target_address": "192.168.1.100", "target_port": "3260"}}'

  • bdev_iscsi_create - 添加具有iSCSI initiator后端的bdev
    示例用法: bdev_iscsi_create "iscsi_bdev" "target_address" "target_port"

  • bdev_iscsi_delete - 删除iSCSI bdev
    示例用法: bdev_iscsi_delete "iscsi_bdev"

  • bdev_passthru_create - 在现有bdev上添加一个透传bdev
    示例用法: bdev_passthru_create "base_bdev" "passthru_bdev"

  • bdev_passthru_delete - 删除透传bdev
    示例用法: bdev_passthru_delete "passthru_bdev"

  • bdev_get_bdevs - 显示当前块设备列表或所需的块设备
    示例用法: bdev_get_bdevs

  • bdev_get_iostat - 显示所有块设备的当前I/O统计信息或指定块设备的信息
    示例用法: bdev_get_iostat "bdev_name"

  • bdev_reset_iostat - 重置所有块设备的I/O统计信息或指定块设备的信息
    示例用法: bdev_reset_iostat "bdev_name"

  • bdev_enable_histogram - 启用或禁用指定bdev的直方图
    示例用法: bdev_enable_histogram "bdev_name" true

  • bdev_get_histogram - 获取指定bdev的直方图
    示例用法: bdev_get_histogram "bdev_name"

  • bdev_set_qd_sampling_period - 启用或禁用跟踪bdev队列深度的周期
    示例用法: bdev_set_qd_sampling_period "bdev_name" true

  • bdev_set_qos_limit - 在块设备上设置QoS速率限制
    示例用法: bdev_set_qos_limit "bdev_name" "read" 1000000

  • bdev_error_inject_error - 注入错误到bdev
    示例用法: bdev_error_inject_error "bdev_name" "read" "failure_type" 0.1

  • bdev_nvme_apply_firmware - 下载并提交固件到NVMe设备
    示例用法: bdev_nvme_apply_firmware "nvme_controller" "fw_image_path"

  • bdev_nvme_get_transport_statistics - 获取bdev_nvme轮询组传输统计信息
    示例用法: bdev_nvme_get_transport_statistics "nvme_controller"

  • bdev_nvme_get_controller_health_info - 显示所需的NVMe bdev控制器的健康日志。
    示例用法: bdev_nvme_get_controller_health_info "nvme_controller"

  • iscsi_set_options - 设置iSCSI子系统选项
    示例用法: iscsi_set_options '{"iscsi_options": {"nodebase": "iqn.2023-09.com.example:targetname"}}'

  • iscsi_set_discovery_auth - 为发现会话设置CHAP认证。
    示例用法: iscsi_set_discovery_auth '{"auth_method": "CHAP", "username": "discovery_user", "password": "discovery_password"}'

  • iscsi_create_auth_group - 创建CHAP认证组。
    示例用法: iscsi_create_auth_group "auth_group_name"

  • iscsi_delete_auth_group - 删除认证组。
    示例用法: iscsi_delete_auth_group "auth_group_name"

  • iscsi_auth_group_add_secret - 将密钥添加到认证组。
    示例用法: iscsi_auth_group_add_secret "auth_group_name" "secret_type" "secret_value"

  • iscsi_auth_group_remove_secret - 从认证组中删除密钥。
    示例用法: iscsi_auth_group_remove_secret "auth_group_name" "secret_type" "secret_value"

  • iscsi_get_auth_groups - 显示当前认证组配置
    示例用法: iscsi_get_auth_groups

  • iscsi_get_portal_groups - 显示当前门户组配置
    示例用法: iscsi_get_portal_groups

  • iscsi_get_initiator_groups - 显示当前发起者组配置
    示例用法: iscsi_get_initiator_groups

  • iscsi_get_target_nodes - 显示目标节点
    示例用法: iscsi_get_target_nodes

  • iscsi_create_target_node - 添加目标节点
    示例用法: iscsi_create_target_node "target_name" "target_alias"

  • iscsi_target_node_add_lun - 向目标节点添加LUN
    示例用法: iscsi_target_node_add_lun "target_name" "bdev_name"

  • iscsi_target_node_set_auth - 为目标节点设置CHAP认证
    示例用法: iscsi_target_node_set_auth "target_name" "auth_group_name"

  • iscsi_target_node_add_pg_ig_maps - 向目标节点添加PG-IG映射
    示例用法: iscsi_target_node_add_pg_ig_maps "target_name" "portal_group_tag" "initiator_group_tag"

  • iscsi_target_node_remove_pg_ig_maps - 从目标节点中删除PG-IG映射
    示例用法: iscsi_target_node_remove_pg_ig_maps "target_name" "portal_group_tag" "initiator_group_tag"

  • iscsi_target_node_set_redirect - 更新目标节点的公共门户组的重定向门户。如果要清除先前设置的重定向设置,请省略重定向主机和端口。
    示例用法: iscsi_target_node_set_redirect "target_name" "portal_group_tag" "redirect_host" "redirect_port"

  • iscsi_target_node_request_logout - 对于目标节点,请求与Portal组标签匹配的注销连接,如果省略Portal组标签,则请求所有连接。
    示例用法: iscsi_target_node_request_logout "target_name" "portal_group_tag"

  • iscsi_create_portal_group - 添加门户组
    示例用法: iscsi_create_portal_group "portal_group_tag" "listen_address" "listen_port"

  • iscsi_start_portal_group - 如果尚未启动,请开始监听门户
    示例用法: iscsi_start_portal_group "portal_group_tag"

  • iscsi_create_initiator_group - 添加发起者组
    示例用法: iscsi_create_initiator_group "initiator_group_tag"

  • iscsi_initiator_group_add_initiators - 将发起者添加到现有的发起者组
    示例用法: iscsi_initiator_group_add_initiators "initiator_group_tag" ["initiator_name1", "initiator_name2"]

  • iscsi_initiator_group_remove_initiators - 从现有的发起者组中删除发起者
    示例用法: iscsi_initiator_group_remove_initiators "initiator_group_tag" ["initiator_name1", "initiator_name2"]

  • iscsi_delete_target_node - 删除目标节点
    示例用法: iscsi_delete_target_node "target_name"

  • iscsi_delete_portal_group - 删除门户组
    示例用法: iscsi_delete_portal_group "portal_group_tag"

  • iscsi_delete_initiator_group - 删除发起者组
    示例用法: iscsi_delete_initiator_group "initiator_group_tag"

  • iscsi_portal_group_set_auth - 为门户组特定的发现会话设置CHAP认证
    示例用法: iscsi_portal_group_set_auth "portal_group_tag" '{"auth_method": "CHAP", "username": "chap_user", "password": "chap_password"}'

  • iscsi_get_connections - 显示iSCSI连接
    示例用法: iscsi_get_connections

  • iscsi_get_options - 显示iSCSI全局参数
    示例用法: iscsi_get_options

  • scsi_get_devices - 显示SCSI设备
    示例用法: scsi_get_devices

  • trace_enable_tpoint_group - 在特定的跟踪点组上启用跟踪
    示例用法: trace_enable_tpoint_group "tpoint_group_name"

  • trace_disable_tpoint_group - 在特定的跟踪点组上禁用跟踪
    示例用法: trace_disable_tpoint_group "tpoint_group_name"

  • trace_set_tpoint_mask - 在特定的跟踪点组上启用跟踪点掩码
    示例用法: trace_set_tpoint_mask "tpoint_group_name" "mask"

  • trace_clear_tpoint_mask - 在特定的跟踪点组上禁用跟踪点掩码
    示例用法: trace_clear_tpoint_mask "tpoint_group_name"

  • trace_get_tpoint_group_mask - 获取跟踪点组掩码
    示例用法: trace_get_tpoint_group_mask "tpoint_group_name"

  • trace_get_info - 获取共享内存文件名和可用跟踪点组的列表
    示例用法: trace_get_info

  • log_set_flag - 设置日志标志
    示例用法: log_set_flag "flag_name"

  • log_clear_flag - 清除日志标志
    示例用法: log_clear_flag "flag_name"

  • log_get_flags - 获取日志标志
    示例用法: log_get_flags

  • log_set_level - 设置日志级别
    示例用法: log_set_level "log_level"

  • log_get_level - 获取日志级别
    示例用法: log_get_level

  • log_set_print_level - 设置日志打印级别
    示例用法: log_set_print_level "log_level"

  • log_get_print_level - 获取日志打印级别
    示例用法: log_get_print_level

  • bdev_lvol_create_lvstore - 在基础bdev上添加逻辑卷存储
    示例用法: bdev_lvol_create_lvstore "base_bdev_name" "lvstore_name"

  • bdev_lvol_rename_lvstore - 更改逻辑卷存储名称
    示例用法: bdev_lvol_rename_lvstore "lvstore_name" "new_lvstore_name"

  • bdev_lvol_grow_lvstore - 将lvstore大小扩展到底层bdev的大小
    示例用法: bdev_lvol_grow_lvstore "lvstore_name"

  • bdev_lvol_create - 添加带有逻辑卷后端的bdev
    示例用法: bdev_lvol_create "base_bdev_name" "lvstore_name" "lvol_bdev_name" "lvol_size"

  • bdev_lvol_snapshot - 创建lvol bdev的快照
    示例用法: bdev_lvol_snapshot "lvol_bdev_name" "snapshot_name"

  • bdev_lvol_clone - 创建lvol快照的克隆
    示例用法: bdev_lvol_clone "snapshot_name" "clone_name"

  • bdev_lvol_clone_bdev - 创建非lvol bdev的克隆
    示例用法: bdev_lvol_clone_bdev "base_bdev_name" "clone_name"

  • bdev_lvol_rename - 更改lvol bdev名称
    示例用法: bdev_lvol_rename "old_lvol_name" "new_lvol_name"

  • bdev_lvol_inflate - 将薄配置的lvol转换为厚配置的lvol
    示例用法: bdev_lvol_inflate "lvol_bdev_name"

  • bdev_lvol_decouple_parent - 解除lvol的父关系
    示例用法: bdev_lvol_decouple_parent "lvol_bdev_name"

  • bdev_lvol_resize - 调整现有的lvol bdev大小
    示例用法: bdev_lvol_resize "lvol_bdev_name" "new_size"

  • bdev_lvol_set_read_only - 将lvol bdev标记为只读
    示例用法: bdev_lvol_set_read_only "lvol_bdev_name"

  • bdev_lvol_delete - 销毁逻辑卷
    示例用法: bdev_lvol_delete "lvol_bdev_name"

  • bdev_lvol_delete_lvstore - 销毁逻辑卷存储
    示例用法: bdev_lvol_delete_lvstore "lvstore_name"

  • bdev_lvol_get_lvstores - 显示当前逻辑卷存储列表
    示例用法: bdev_lvol_get_lvstores

  • bdev_lvol_get_lvols - 显示当前逻辑卷列表
    示例用法: bdev_lvol_get_lvols

  • bdev_raid_get_bdevs - 用于列出所有基于输入请求的RAID bdev详细信息
    示例用法: bdev_raid_get_bdevs "category"

  • bdev_raid_create - 创建新的RAID bdev
    示例用法: bdev_raid_create "raid_bdev_name" "base_bdevs" "strip_size" "raid_level"

  • bdev_raid_delete - 删除现有的RAID bdev
    示例用法: bdev_raid_delete "raid_bdev_name"

  • bdev_raid_remove_base_bdev - 从现有的RAID bdev中删除基础bdev
    示例用法: bdev_raid_remove_base_bdev "raid_bdev_name" "base_bdev_name"

  • bdev_split_create - 将给定的磁盘名称添加到分割配置中。如果带有base_name名称的bdev存在,那么分割bdev将立即创建,如果不存在,则将在基础bdev可用时创建分割bdev(在检查过程中)。
    示例用法: bdev_split_create "base_name" "split_name"

  • bdev_split_delete - 删除所有已创建的分割配置及其创建的分割
    示例用法: bdev_split_delete

  • bdev_ftl_create - 添加FTL bdev
    示例用法: bdev_ftl_create "base_bdev_name" "lba_rsvd_ratio"

  • bdev_ftl_load - 加载FTL bdev
    示例用法: bdev_ftl_load "ftl_bdev_name"

  • bdev_ftl_unload - 卸载FTL bdev
    示例用法: bdev_ftl_unload "ftl_bdev_name"

  • bdev_ftl_delete - 删除FTL bdev
    示例用法: bdev_ftl_delete "ftl_bdev_name"

  • bdev_ftl_unmap - FTL解除映射
    示例用法: bdev_ftl_unmap "ftl_bdev_name"

  • bdev_ftl_get_stats - 打印FTL统计信息
    示例用法: bdev_ftl_get_stats "ftl_bdev_name"

  • vmd_enable - 启用VMD枚举
    示例用法: vmd_enable

  • vmd_remove_device - 移除位于VMD后面的设备
    示例用法: vmd_remove_device "device_name"

  • vmd_rescan - 强制重新扫描VMD后面的设备
    示例用法: vmd_rescan

  • ublk_create_target - 为ublk设备创建SPDK ublk目标
    示例用法: ublk_create_target "ublk_dev_name"

  • ublk_destroy_target - 销毁SPDK ublk目标
    示例用法: ublk_destroy_target "ublk_target_name"

  • ublk_start_disk - 将bdev导出为ublk设备
    示例用法: ublk_start_disk "bdev_name" "ublk_dev_name"

  • ublk_stop_disk - 停止ublk设备
    示例用法: ublk_stop_disk "ublk_dev_name"

  • ublk_get_disks - 显示完整或指定的ublk设备列表
    示例用法: ublk_get_disks "ublk_dev_name"

  • nbd_start_disk - 将bdev导出为NBD磁盘
    示例用法: nbd_start_disk "bdev_name" "nbd_device_name"

  • nbd_stop_disk - 停止NBD磁盘
    示例用法: nbd_stop_disk "nbd_device_name"

  • nbd_get_disks - 显示完整或指定的NBD设备列表
    示例用法: nbd_get_disks "nbd_device_name"

  • nvmf_set_max_subsystems - 设置NVMf目标子系统的最大数量
    示例用法: nvmf_set_max_subsystems "max_subsystems"

  • nvmf_set_config - 设置NVMf目标配置
    示例用法: nvmf_set_config "config_string"

  • nvmf_create_transport - 创建NVMf传输
    示例用法: nvmf_create_transport "transport_name" "transport_opts"

  • nvmf_get_transports - 显示NVMf传输或所需传输
    示例用法: nvmf_get_transports "transport_name"

  • nvmf_get_subsystems - 显示NVMf子系统或所需子系统
    示例用法: nvmf_get_subsystems "subsystem_name"

  • nvmf_create_subsystem - 创建NVMe-oF子系统
    示例用法: nvmf_create_subsystem "subsystem_name" "nqn" "serial_number"

  • nvmf_delete_subsystem - 删除NVMe-oF子系统
    示例用法: nvmf_delete_subsystem "subsystem_name"

  • nvmf_subsystem_add_listener - 向NVMe-oF子系统添加侦听器
    示例用法: nvmf_subsystem_add_listener "subsystem_name" "transport_name" "listener_ip" "listener_port"

  • nvmf_subsystem_remove_listener - 从NVMe-oF子系统中移除侦听器
    示例用法: nvmf_subsystem_remove_listener "subsystem_name" "transport_name" "listener_ip" "listener_port"

  • nvmf_subsystem_listener_set_ana_state - 设置NVMe-oF子系统的侦听器的ANA状态
    示例用法: nvmf_subsystem_listener_set_ana_state "subsystem_name" "nqn" "listener_ip" "listener_port" "enable"

  • nvmf_subsystem_add_ns - 向NVMe-oF子系统添加命名空间
    示例用法: nvmf_subsystem_add_ns "subsystem_name" "bdev_name"

  • nvmf_subsystem_remove_ns - 从NVMe-oF子系统中移除命名空间
    示例用法: nvmf_subsystem_remove_ns "subsystem_name" "bdev_name"

  • nvmf_subsystem_add_host - 向NVMe-oF子系统添加主机
    示例用法: nvmf_subsystem_add_host "subsystem_name" "host_nqn"

  • nvmf_subsystem_remove_host - 从NVMe-oF子系统中移除主机
    示例用法: nvmf_subsystem_remove_host "subsystem_name" "host_nqn"

  • nvmf_subsystem_allow_any_host - 允许任何主机连接到子系统
    示例用法: nvmf_subsystem_allow_any_host "subsystem_name"

  • nvmf_subsystem_get_controllers - 显示NVMe-oF子系统的控制器
    示例用法: nvmf_subsystem_get_controllers "subsystem_name"

  • nvmf_subsystem_get_qpairs - 显示NVMe-oF子系统的队列对
    示例用法: nvmf_subsystem_get_qpairs "subsystem_name"

  • nvmf_subsystem_get_listeners - 显示NVMe-oF子系统的侦听器
    示例用法: nvmf_subsystem_get_listeners "subsystem_name"

  • nvmf_get_stats - 显示NVMf子系统的当前统计信息
    示例用法: nvmf_get_stats

  • nvmf_set_crdt - 设置NVMf子系统的3个CRDT(命令重试延迟时间)值。所有值的单位都是100毫秒(与NVM Express规范相同)。
    示例用法: nvmf_set_crdt "subsystem_name" "value1" "value2" "value3"

  • framework_get_subsystems - 在初始化顺序中打印子系统数组。每个子系统条目包含其依赖的(未排序的)子系统数组。
    示例用法: framework_get_subsystems

  • framework_get_config - 打印子系统配置
    示例用法: framework_get_config

  • vhost_controller_set_coalescing - 设置vhost控制器的合并
    示例用法: vhost_controller_set_coalescing "ctrlr_name" "delay_base_us" "iops_threshold"

  • virtio_blk_create_transport - 创建virtio块传输
    示例用法: virtio_blk_create_transport "transport_name"

  • virtio_blk_get_transports - 显示virtio-blk传输或请求的传输
    示例用法: virtio_blk_get_transports "transport_name"

  • vhost_create_scsi_controller - 添加新的vhost控制器
    示例用法: vhost_create_scsi_controller "ctrlr_name"

  • vhost_scsi_controller_add_target - 将LUN添加到vhost控制器
    示例用法: vhost_scsi_controller_add_target "ctrlr_name" "target_name"

  • vhost_scsi_controller_remove_target - 从vhost控制器中移除目标
    示例用法: vhost_scsi_controller_remove_target "ctrlr_name" "target_name"

  • vhost_create_blk_controller - 添加新的vhost块控制器
    示例用法: vhost_create_blk_controller "ctrlr_name"

  • vhost_get_controllers - 列出所有或特定的vhost控制器
    示例用法: vhost_get_controllers "ctrlr_name"

  • vhost_delete_controller - 删除vhost控制器
    示例用法: vhost_delete_controller "ctrlr_name"

  • bdev_virtio_attach_controller - 使用提供的传输类型和设备类型附加Virtio控制器。这还将为连接到控制器的任何块设备(例如,对于virtio-scsi控制器的SCSI设备)创建bdev。结果是添加的bdev数组。
    示例用法: bdev_virtio_attach_controller "ctrlr_name" "transport_type" "device_type"

  • bdev_virtio_scsi_get_devices - 列出所有Virtio-SCSI设备。
    示例用法: bdev_virtio_scsi_get_devices

  • bdev_virtio_detach_controller - 移除Virtio设备。这将删除此设备公开的所有bdev。
    示例用法: bdev_virtio_detach_controller "ctrlr_name"

  • bdev_virtio_blk_set_hotplug - 设置bdev virtio_blk类型的热插拔选项。
    示例用法: bdev_virtio_blk_set_hotplug "bdev_name" "hotplug_type"

  • vfu_tgt_set_base_path - 设置套接字基本路径。
    示例用法: vfu_tgt_set_base_path "base_path"

  • vfu_virtio_delete_endpoint - 通过端点名称删除PCI设备。
    示例用法: vfu_virtio_delete_endpoint "endpoint_name"

  • vfu_virtio_create_blk_endpoint - 创建virtio-blk端点。
    示例用法: vfu_virtio_create_blk_endpoint "ctrlr_name" "endpoint_name"

  • vfu_virtio_scsi_add_target - 将块设备附加到PCI端点的SCSI目标。
    示例用法: vfu_virtio_scsi_add_target "endpoint_name" "bdev_name" "target_id"

  • vfu_virtio_scsi_remove_target - 从PCI端点中删除指定的SCSI目标。
    示例用法: vfu_virtio_scsi_remove_target "endpoint_name" "target_id"

  • vfu_virtio_create_scsi_endpoint - 创建virtio-scsi端点。
    示例用法: vfu_virtio_create_scsi_endpoint "ctrlr_name" "endpoint_name"

  • accel_get_opc_assignments - 获取操作码名称到模块分配的列表。
    示例用法: accel_get_opc_assignments

  • accel_get_module_info (也可使用 accel_get_engine_info) - 获取有效模块名称及其操作的列表。
    示例用法: accel_get_module_info

  • accel_assign_opc - 手动将操作分配给模块。
    示例用法: accel_assign_opc "module_name" "operation_name"

  • accel_crypto_key_create - 创建加密密钥。
    示例用法: accel_crypto_key_create "key_name" "key_data"

  • accel_crypto_key_destroy - 销毁加密密钥。
    示例用法: accel_crypto_key_destroy "key_name"

  • accel_crypto_keys_get - 获取加密密钥列表。
    示例用法: accel_crypto_keys_get

  • accel_set_driver - 选择加速平台驱动程序以执行操作链。
    示例用法: accel_set_driver "driver_name"

  • accel_set_options - 设置加速框架的选项。
    示例用法: accel_set_options "option_name" "option_value"

  • accel_get_stats - 显示加速框架的统计信息。
    示例用法: accel_get_stats

  • ioat_scan_accel_module (也可使用 ioat_scan_accel_engine) - 启用IOAT加速模块卸载。
    示例用法: ioat_scan_accel_module

  • compressdev_scan_accel_module - 扫描并启用compressdev模块,并设置PMD选项。
    示例用法: compressdev_scan_accel_module

  • dsa_scan_accel_module (也可使用 dsa_scan_accel_engine) - 设置配置并启用DSA加速模块卸载。
    示例用法: dsa_scan_accel_module

  • iaa_scan_accel_module (也可使用 iaa_scan_accel_engine) - 设置配置并启用IAA加速模块卸载。
    示例用法: iaa_scan_accel_module

  • dpdk_cryptodev_scan_accel_module - 启用dpdk_cryptodev加速模块卸载。
    示例用法: dpdk_cryptodev_scan_accel_module

  • dpdk_cryptodev_set_driver - 设置DPDK cryptodev驱动程序。
    示例用法: dpdk_cryptodev_set_driver "driver_name"

  • dpdk_cryptodev_get_driver - 获取DPDK cryptodev驱动程序。
    示例用法: dpdk_cryptodev_get_driver

  • mlx5_scan_accel_module - 启用mlx5加速模块。
    示例用法: mlx5_scan_accel_module

  • bdev_nvme_opal_init - 接管并激活NVMe Opal设备。
    示例用法: bdev_nvme_opal_init "bdev_name"

  • bdev_nvme_opal_revert - 恢复为默认工厂设置。
    示例用法: bdev_nvme_opal_revert "bdev_name"

  • bdev_opal_create - 在指定的NVMe控制器上创建Opal bdev。
    示例用法: bdev_opal_create "controller_name" "opal_bdev_name"

  • bdev_opal_get_info - 获取此bdev的Opal锁定范围信息。
    示例用法: bdev_opal_get_info "opal_bdev_name"

  • bdev_opal_delete - 删除虚拟Opal bdev。
    示例用法: bdev_opal_delete "opal_bdev_name"

  • bdev_opal_new_user - 向Opal bdev添加一个可以设置此bdev锁定状态的用户。
    示例用法: bdev_opal_new_user "opal_bdev_name" "user_id" "user_password"

  • bdev_opal_set_lock_state - 设置Opal bdev的锁定状态。
    示例用法: bdev_opal_set_lock_state "opal_bdev_name" "user_id" "user_password" "lock_state"

  • bdev_nvme_send_cmd - 执行NVMe透传命令。
    示例用法: bdev_nvme_send_cmd "controller_name" "nvme_command"

  • notify_get_types - 列出用户可以订阅的可用通知。
    示例用法: notify_get_types

  • notify_get_notifications - 获取通知。
    示例用法: notify_get_notifications

  • thread_get_stats - 显示所有线程的当前统计信息。
    示例用法: thread_get_stats

  • thread_set_cpumask - 设置具有指定值的线程的cpumask。线程可能会迁移到指定的CPU之一。
    示例用法: thread_set_cpumask "thread_id" "cpumask"

  • log_enable_timestamps - 启用或禁用时间戳。
    示例用法: log_enable_timestamps "enable_timestamps"

  • thread_get_pollers - 显示所有线程的当前轮询程序。
    示例用法: thread_get_pollers

  • thread_get_io_channels - 显示所有线程的当前IO通道。
    示例用法: thread_get_io_channels

  • env_dpdk_get_mem_stats - 将DPDK内存统计信息写入文件。
    示例用法: env_dpdk_get_mem_stats "output_file"

  • blobfs_detect - 检测bdev上是否存在blobfs。
    示例用法: blobfs_detect "bdev_name"

  • blobfs_create - 在bdev上构建blobfs。
    示例用法: blobfs_create "bdev_name" "blobfs_name"

  • blobfs_mount - 通过FUSE在主机路径上挂载bdev上的blobfs。
    示例用法: blobfs_mount "bdev_name" "mount_path"

  • blobfs_set_cache_size - 设置blobfs的缓存大小。
    示例用法: blobfs_set_cache_size "blobfs_name" "cache_size"

  • sock_impl_get_options - 获取套接字层实现的选项。
    示例用法: sock_impl_get_options

  • sock_impl_set_options - 设置套接字层实现的选项。
    示例用法: sock_impl_set_options "option_name" "option_value"

  • sock_set_default_impl - 设置默认的套接字实现。
    示例用法: sock_set_default_impl "impl_name"

  • framework_get_pci_devices - 获取已连接的PCI设备的列表。
    示例用法: framework_get_pci_devices

  • bdev_nvme_add_error_injection - 添加NVMe命令错误注入。
    示例用法: bdev_nvme_add_error_injection "controller_name" "error_injection_parameters"

  • bdev_nvme_remove_error_injection - 移除NVMe命令错误注入。
    示例用法: bdev_nvme_remove_error_injection "controller_name" "error_injection_id"

  • bdev_daos_create - 使用DAOS后端创建bdev。
    示例用法: bdev_daos_create "bdev_name"

  • bdev_daos_delete - 删除DAOS磁盘。
    示例用法: bdev_daos_delete "bdev_name"

  • bdev_daos_resize - 调整DAOS bdev的大小。
    示例用法: bdev_daos_resize "bdev_name" "new_size"

  • iobuf_set_options - 设置iobuf池选项。
    示例用法: iobuf_set_options "option_name" "option_value"

  • bdev_nvme_start_mdns_discovery - 启动基于mdns的自动发现。
    示例用法: bdev_nvme_start_mdns_discovery

  • bdev_nvme_stop_mdns_discovery - 停止自动mdns发现。
    示例用法: bdev_nvme_stop_mdns_discovery

  • bdev_nvme_get_mdns_discovery_info - 获取有关自动mdns发现的信息。
    示例用法: bdev_nvme_get_mdns_discovery_info

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
SPDK(存储性能开发套件)官方文档中文版。 第一章 简介 1 1.1.什么是SPDK? 1 1.2.入门 1 1.3. Vagrant开发环境 3 1.4.更新日志(略) 6 第二章 概念 6 2.1. 用户空间驱动程序** 6 2.2. 来自用户空间的DMA** 7 2.3. 消息传递和并发** 9 2.4. NAND Flash SSD内部 13 2.5. 将I / O提交到NVMe设备** 15 2.5.1 NVMe规范 15 2.5.2 SPDK NVMe驱动程序I / O路径 15 2.6. 使用Vhost-user进行虚拟化I / O. 16 2.6.1 介绍 16 2.6.2 QEMU 17 2.6.3 设备初始化 18 2.6.4 I / O路径 19 2.6.5 SPDK优化 20 2.7. SPDK目录结构概述 20 2.8. SPDK移植指南 22 第三章 用户指南 22 3.1. 系统配置用户指南 22 3.1.1 IOMMU配置 22 3.2. SPDK应用程序概述 23 3.2.1 配置SPDK应用程序 23 3.3. iSCSI Target 26 3.3.1. iSCSI Target入门指南 26 3.3.2. 通过配置文件配置iSCSI Target 27 3.3.3. 通过RPC方法配置iSCSI Target 28 3.3.4. 配置iSCSI启动器 29 3.3.5. rpc配置示例*** 30 3.3.6. iSCSI 热插拔 32 3.4. NVMe over Fabrics Target 32 3.5. Vhost Target(略) 37 3.6 块设备用户指南 38 3.6.1 bdev介绍 38 3.6.2 通用RPC命令 38 3.6.3 Ceph RBD 39 3.6.4 压缩虚拟Bdev模块 40 3.6.5 加密虚拟Bdev模块 41 3.6.6 延迟vbdev模块 41 3.6.7 GPT(GUID分区表) 42 3.6.8 iSCSI bdev 43 3.6.9 Linux AIO bdev 43 3.6.10 OCF虚拟bdev 43 3.6.11 Malloc bdev 44 3.6.12 NULL bdev 44 3.6.13 NVMe bdev 44 3.6.14 逻辑卷Lvol 45 3.6.15 RAID 46 3.6.16 Passthru 46 3.6.17 Pmem 46 3.6.18 Virtio Block 47 3.6.19 Virtio SCSI 47 3.7 BlobFS(Blobstore文件系统) 48 3.7.1 RocksDB集成 48 3.7.2 FUSE插件 49 3.8 JSON-RPC方法(略) 49 第四章 程序员指南 49 4.1. Blobstore程序员指南 49 4.1.1 介绍 50 4.1.2 运作理论 50 4.1.3 设计注意事项 52 4.1.4 例子 54 4.1.5配置 54 4.1.6 组件细节 54 4.2. 块设备层编程指南 56 4.3 编写自定义块设备模块 58 4.3.1 介绍 58 4.3.2 创建一个新模块 59 4.3.3创建虚拟Bdev 60 4.4 NVMe over Fabrics目标编程指南 61 4.4.1 介绍 61 4.4.2 原语结构体 61 4.4.3 基础函数 62 4.4.4访问控制 62 4.4.5发现子系统 62 4.4.6 传输 63 4.4.7选择线程模型 63 4.4.8 跨CPU核心扩展 63 4.4.9 零拷贝支持 63 4.4.10 RDMA 63 4.5 Flash传输层 64 4.5.1 术语 64 4.5.2 使用方法 67 4.6 GDB宏用户指南 69 4.6.1 介绍 69 4.6.2 加载gdb宏 71 4.6.3 使用gdb数据目录 72 4.6.4 使用.gdbinit加载宏 72 4.6.5 为什么我们需要显式调用spdk_load_macros 72 4.6.6 以上可用的宏总结 73 4.6.7 添加新宏 73 4.7 SPDK “Reduce”块压缩算法 73 4.7.1 介绍 73 4.7.2 例子 74 4.8 通知库 78 第五章 基本信息 79 5.1 事件框架 79 5.1.1 事件框架设计注意事项 80 5.1.2 SPDK事件框架组件 80 5.1.3 应用框架 80 5.2 逻辑卷 81 5.2.1 术语 81 5.2.2 配置逻辑卷 84 5.3 矢量数据包处理(略) 86 第六章 杂项 86 6.1 介绍 86 6.2 NVMe的P2P API 86 6.3 确定设备支持 87 6.4 P2P问题 87 第七章 驱动程序 88 7.1 NVMe驱动程序*** 88 7.1.1 介绍 88 7.1.2 例子 88 7.1.3 公共接口 89 7.1.4 NVMe驱动程序设计 89 7.1.5 NVMe over Fabrics主机支持 91 7.1.6 NVMe多进程 91 7.1.7 NVMe Hotplug 92 7.2 I/OAT驱动程序 93 7.2.1 公共接口 93 7.2.2 关键功能 93 7.3 Virtio驱动程序 93 7.3.1 介绍 93 7.3.2 2MB大页面 93 第八章 工具 94 8.1 SPDK CLI 94 8.1.1 安装所需的依赖项 94 8.1.2 运行SPDK应用程序实例 94 8.1.3 运行SPDK CLI 94 8.1.4 可选 - 创建Python虚拟环境 94 8.2 nvme-CLI 95 8.2.1 nvme-cli with SPDK入门指南 95 8.2.2 使用场景 95 第九章 性能测试报告(略) 96 第十章NVMe-oF Target跟踪点*** 96 10.1 介绍 96 10.2 启用跟踪点 97 10.3 捕获事件的快照 97 10.4 捕获足够的跟踪事件 98 10.5 添加新的跟踪点 99

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写一封情书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值