vhost-blk 之前好像在redhat内部不太重视,一直没融入到主线里。最近论坛看到redhet内部好像在推进Vhost-blk产品化,所以本文根据最新的patch尝试搭建Vhost-blk环境,测一下最新的性能。参考的链接有:
[v2] block: vhost-blk backend | Patchew
[RFC PATCH v2 00/10] vhost-blk: in-kernel accelerator for virtio-blk guests - Andrey Zhadchenko
[v2] block: vhost-blk backend | Patchew
下载修改后的QEMU和内核
QEMU
git clone https://github.com/patchew-project/qemu.git
git checkout patchew/20221013203130.690327-1-andrey.zhadchenko@virtuozzo.com
这个版本的代码里有一个bug,编译时候修改一下就好
./configure --enable-vhost-blk
把kaptch应用到内核之后
.config加入
CONFIG_VHOST_MENU=y
CONFIG_VHOST_BLK=y
重启之后dev下面,有vhost-blk代码模块装载成功
qemu启动参数
sudo ./qemu-system-x86_64 -smp 8 -m 4096 -enable-kvm -hda /home/qs/p5800/vm/vhost.qcow2 -net user,hostfwd=::8888-:22 -net nic -drive if=none,id=drive0,format=raw,file=/home/qs/p5800/test/db.qcow2 -device vhost-blk-pci,id=blk0,drive=drive0,num-queues=4
FIO跑下测试,通过就行,建议用5.15以后的内核,旧的内核在vhost_vq_init_access函数处会出错,具体啥原因我也没搞清楚,如果有大佬请指导以下。