赞
踩
随着越来越多公有云服务提供商采用SPDK技术作为其高性能云存储的核心技术之一,intel推出的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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。