这次,我们一起学习—存储虚拟化技术。
数据在整个计算机系统是最重要的一部分,也是最珍贵的。数据的存储一直是一个热议的话题,在没有云计算之前数据存储已经发展了很久,可以说和云计算没有特别关系,我这边将的云计算存储通常指的是亚马逊的 S3 存储或者 EBS 存储等,将统一的资源池划分给多个用户。
什么是存储
存储,历史悠久,无处不在。
存储是 Storage,注意和内存 (记忆体)Memory 区分;
本质的差异是 Storage 要持久化,Memory 一般认为是 RAM,掉电易失,主要作用是 XIP(eXecute In Place) 。人的记忆要能存储起来就好了。存储,不同的介质千差万别,种类繁多……
什么是存储虚拟化
存储虚拟化是在存储设备上加入一个逻辑层,通过逻辑层访问存储资源
对管理员来说,可以很方便的调整存储资源,提高存储利用率
对终端用户来说,集中的存储设备可以提供更好的性能和易用性
存储虚拟化的实现方式
- 裸设备+逻辑卷:
- 存储设备虚拟化
- 主机存储虚拟化+文件系统
存储虚拟化的原理
- 裸设备+逻辑卷的方式是最直接的存储控制方式,直接在通用块层之上划分成以 1 G 为单元的存储块,通过管理这些单元,实现卷的维护操作
- 存储设备虚拟化是指通过存储设备的能力,实现卷的维护操作,并且存储设备还可以提供一些存储高级业务,例如精简配置、快照和链接克隆
- 主机存储虚拟化+文件系统是指主机通过文件系统管理虚拟机磁盘文件,并通过虚拟化层提供很多高级业务,业务能力不依赖存储设备
裸设备+逻辑卷虚拟化结构
- 裸设备+逻辑卷的方式是最直接的存储控制方式,直接在通用块层之上划分成以 1 G 为单元的存储块,通过管理这些单元,实现卷的维护操作;
- IO 路径简单,读写性能最好,但不支持高级业务;
术语解释:
主机内核空间:Dom-0 Kernel Space
用户虚拟机:Guest OS
前段驱动:blkfront
后端驱动:blkback
通用块层:Generic Block Layer
存储设备虚拟化的结构
- 存储设备虚拟化是指通过存储设备的能力,实现卷的维护操作,并且存储设备还可以提供一些存储高级业务,例如精简配置、快照和链接克隆
- 该技术的优点:与主机无关,不占用主机资源,数据管理功能丰富。
- 该技术的缺点:一般只能实现对本设备内磁盘的虚拟化。不同厂商间的数据管理功能不能互操作。多套存储设备需要配置多套数据管理软件,成本较高。
存储虚拟化+文件系统的结构
主机存储虚拟化+文件系统是指主机通过文件系统管理虚拟机磁盘文件,并通过虚拟化层提供很多高级业务,这也是目前业界采用较多的虚拟化方式。
- 支持异构存储和异构服务器
- 高级功能丰富,且不依赖于硬件设备
- IO 路径较长,性能有损耗
存储虚拟化类型
几种存储虚拟化技术的比较