块存储
块存储为虚拟机提供虚拟磁盘的存储。
其中,支持的存储访问接口分为以下几类:
-
文件接口:虚拟机的磁盘以文件形式存在,QEMU虚拟机通过POSIX文件接口访问虚拟机磁盘内容。磁盘文件格式一般有raw和qcow2两种格式。我们一般采用qcow2的格式的磁盘文件。qcow2格式的磁盘文件相比于raw格式文件有很多优点:1)支持thin provision模式,磁盘文件占用空间按需分配,占用较少;2)支持快照等功能特性,3)相比raw格式,性能不算差。
-
块接口:虚拟机的磁盘就是宿主机上的磁盘设备。虚拟机直接挂载宿主机上的block设备。这些block设备无论是本地还是网络共享的,都会加入到宿主机的LVM VG存储池中,以LVM的逻辑卷形式提供给QEMU虚拟机。基于LVM的快照实现了虚拟机磁盘的快照。相比文件接口方式,这种方式少了文件系统的开销,有较高的读写性能。
-
自定义接口:文件接口和快接口都是Linux操作系统的标准接口,除此之外,平台支持的访问虚拟磁盘的接口为Ceph RBD,是Ceph自定义的访问其分布式块设备的接口。
从存储的部署架构,分为如下几类:
- 本地访问:虚拟机磁盘存储在宿主机本地挂载的存储上,例如本地的SATA, SAS或NVME块设备
- 网络访问:虚拟机磁盘存储在宿主机网络挂载的集中式存储上,例如NFS,GPFS,OCFS2等
- 分布式访问:虚拟机磁盘不存储在本地或网络上的具体存储节点上,而是分布式在多个节点上,例如Ceph。
因此,块存储从访问接口和部署架构,分为如下几类。
访问接口\部署架构 | 本地访问 | 集中式网络访问 |
---|