提起存储都是血泪史,不知道丢了多少数据,脑子首先想到的就是《你说啥》洗脑神曲,我就像那个大妈一样,千万个问号?????????????.........
hdd是啥?ssd又是啥?
mbr是啥?gpt又是啥?
primary partion是啥?logical partion又是啥?
sata是啥?scsi又是啥?
sas又是啥?nvme又是啥?
它们和pcie又是什么关系?
hardware raid是啥?firmware raid是啥?software raid又是啥?
intel rst中raid/ahci模式又有啥区别?为啥raid模式双系统linux安装时找不到盘?
需求
第一高并发低时延,第二隔离。
用于特定业务运算时临时数据过多过大,在内存中放不下,要临时写到硬盘中,这些数据不需要长久保存,只要能快速大量写和读就行。
虚拟机用的nvme ssd盘的大小和数据在创建虚拟机时指定,不用支持动态添加nvme ssd和虚拟机带nvme ssd热迁移,nvme ssd数据不做多副本。
调研
先看nvme是什么东东,从它的spec入手。
居然支持sr-iov和namespace,sr-iov代表着硬件资源切分和隔离,并且是标准pcie设备,可以passthrough给虚拟机的,namespace看起来和sr-iov差不多,硬件级别的虚拟,两者什么区别暂时不明白。
高并发低时延:
性能高要求至少跳过host上的image format和file system处理,不能再把虚拟机的硬盘当作一个image文件,而是直接让qemu调用host内核的block layer或者操作硬件。
-
pcie passthrough
-
qemu userspace nvme driver
-
spdk
-
一个raw disk给虚拟机,虚拟机里分区和创建文件系统
隔离:
有软件隔离和硬件隔离,硬件隔离是最安全的。
-
lvm
-
虚拟机独占一个nvme ssd
-
nvme namespace
资源利用率:
除了满足用户需求还得考虑资源的充分利用,争取把本地nvme ssd的空间充分利用起来。
-
lvm
-
nvme namespace
nvme mdev太超前了,不知道硬件和软件是否支持。
(免费订阅,永久学习)学习地址: Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂
更多DPDK相关学习资料有需要的可以自行报名学习,免费订阅,永久学习,或点击这里加