spdk vhost 常见问题速查

Posted 存储之厨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spdk vhost 常见问题速查相关的知识,希望对你有一定的参考价值。

0. 判断vhost 进程是否存在?

ps -aux | grep vhost | grep spdk-ml

1. bdev 是否创建?

用 ./rpc.py get_bdevs 判断vhost controller 是否创建

2. 能否看到盘控制器吗?

用 rpc.py get_vhost_controllers 判断对应盘是否存在。

3. 启动命令中的socket是否和rpc.py中的socket 一致?

rpc.py 中:
[root@qd.com /mnt/logdir/spdk-ml]$ cat scripts/rpc.py | grep socket | grep default
#help=RPC domain socket path or IP address, default=/var/tmp/spdk.sock)
help=RPC domain socket path or IP address, default=/var/tmp/spdk.conf.magogo.sock)

启动命令中:
./app/vhost/vhost -f vhost.pid -m 0xfc000000 -r /var/tmp/spdk.conf.magogo.sock -c /mnt/logdir/spdk-ml/conf/gogo.conf 2>&1 | tee -a vhost.log &

可以看到上面都是 /var/tmp/spdk.conf.magogo.sock

4. 虚机.xml中卷名称对应的socket 文件是否存在?

</disk>
<disk type=vhost-user-blk device=disk>
<driver name=qemu type=raw queues=10/>
<source type=unix path=/var/tmp/machao mode=client>
<reconnect enabled=yes timeout=1/>
</source>
<target dev=vdb bus=virtio/>
<alias name=virtio-disk1/>
<address type=pci domain=0x0000 bus=0x00 slot=0x06 function=0x0/>
</disk>
判断 /var/tmp/machao 是否存在,并且名称是否和上面get_bdevs 看到的一致。

5. 配置是否正确

检查 gateway.conf中zk/region / socket 是否正确;
检查 gogo.conf中ReactorMask 的最低位是否和 ./scripts/rpc.py construct_vhost_blk_controller -指定的cpumask 一致;
检查gogo.conf中SocketDir StoreDir 是否存在、检查GatewayConf指定的配置文件是否存在;

方法:
cat conf/gateway.conf
cat conf/gogo.conf

6. .xml 中绑定的核数和通道数是否匹配?

在有的镜像中,如果通道数量超过虚机的核数量,会出现虚机的IO无法下发到vhost的情景,需要注意。

以上是关于spdk vhost 常见问题速查的主要内容,如果未能解决你的问题,请参考以下文章

第14期-直播回顾丨SPDK虚拟化存储方案介绍和最佳实践

您如何读取 SPDK 内部 NVME 设备上的封装温度?

避坑指南:关于SPDK问题分析过程

[转]spdk线程模型 spdk_thread

SPDK官方文档Introduction/What is SPDK

[SPDK/NVMe源代码分析]001 - SPDK/NVMe概述