当前位置:   article > 正文

【SPDK】一、概述_spdk编程

spdk编程

 随着越来越多公有云服务提供商采用SPDK技术作为其高性能云存储的核心技术之一,intel推出的SPDK技术备受业界关注。本篇博文就和大家一起探索SPDK。

什么是SPDK?为什么需要它?

  SPDK(全称Storage Performance Development Kit),提供了一整套工具和库,以实现高性能、扩展性强、全用户态的存储应用程序。它是继DPDK之后,intel在存储领域推出的又一项颠覆性技术,旨在大幅缩减存储IO栈的软件开销,从而提升存储性能,可以说它就是为了存储性能而生。

  为便于大家理解,我们先介绍一下SPDK在虚拟化场景下的使用方法,以给大家一些直观的认识。

1. DPDK的编译与安装

  SPDK使用了DPDK中一些通用的功能和机制,因此首先需要下载DPDK的源码并完成编译和安装:

[root@linux:~/DPDK]# make config T=x86_64-native-linuxapp-gcc [root@linux:~/DPDK]# make [root@linux:~/DPDK]# make install (默认安装到/usr/local,包括.a库文件和头文件)

2. SPDK的编译

[root@linux:~/SPDK]# ./configure –with-dpdk=/usr/local [root@linux:~/SPDK]# make

  编译成功后,我们在spdk/app/vhost目录下可以看到一个名为vhost的可执行文件,它就是SPDK在虚拟化场景下为虚拟机模拟程序qemu提供的存储转发服务,借此为虚拟机用户带来高性能的虚拟磁盘。

3. 大页内存配置

  SPDK vhost进程和qemu进程通过大页共享虚拟机可见内存,因此需要进行一些大页的配置和调整:

  • 可通过设置/sys/kernel/mm/hugepages/hugepages-xxx/nr_hugepages来调整大页数量(xxx通常为2M或1G)

  • qemu使用挂载到/dev/hugepages目录下的hugetlbfs来使用大页内存,可在挂载参数中指定大页大小,如mount -t hugetl

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/705916
推荐阅读
相关标签
  

闽ICP备14008679号