带你读《存储漫谈:Ceph原理与实践》——3.1.1 块设备映射

简介: 带你读《存储漫谈:Ceph原理与实践》——3.1.1 块设备映射

第3章 接入层


人们常将 Ceph 称为统一的分布式存储解决方案,统一性表现在 Ceph 基于其底层 RADOS对象存储集群进行二次封装,通过 RADOS 存储集群支撑上层的 librados、RBD、RGW、CephFS 等服务;不仅如此,当前基于 Ceph 的 key-value 存储和 NoSQL 存储也在开发之中。

本章将从 Ceph 分布式存储的 3 个使用场景——块存储、对象存储、文件存储展开介绍。


3.1  块存储 RBD


Ceph 的 RBD 接口提供块存储服务,块存储是 Ceph 最稳定且最常用的存储类型。RBD 块设备可以类似于本地磁盘一样被操作系统挂载,具备快照、克隆、动态扩容、多副本和一致性等特性。


3.1.1  块设备映射


Ceph 块设备可以通过 librbd、KRBD、iSCSI 等方式进行访问。librbd 运行在操作系统用户态,可部署在客户端节点或存储节点;KRBD 运行在操作系统内核态,需要部署在客户端节点的操作系统内核中;iSCSI 方式则为客户端节点与存储集群服务节点之间通过iSCSI 协议进行数据的传输,客户端启动 iSCSI initiator,服务端启动 iSCSI target。下面分别介绍这 3 种访问方式。

1. librbd

RBD 块存储设备基于 librbd 的访问方式,按照所对接的客户端组件不同,又可进一步细分为 QEMU+librbd、SPDK+librbd 以及 NBD+librbd 三种。

(1)QEMU+librbd

QEMU 是一款开源的虚机模拟处理器(VMM),其与 Linux 内核中的 KVM 模块配合使用,可实现硬件级别的虚机加速效果,QEMU-KVM 加速是目前云计算 / 虚拟化领域使用最为广泛的方案。QEMU 通过 librbd 可实现对 Ceph 集群块存储服务的完美支持,其架构如图 3-1 所示。

该模式也是 Ceph 对接 OpenStack,作为虚机云盘后端存储的常见用法。

(2)SPDK+librbd

SPDK 最初是由英特尔开发的高性能用户态存储栈开发工具库,通过绕过内核、I/O 轮询等技术,极大提升了应用层对高速存储设备的存取速度。SPDK 在 bdev 层增加 RBD 驱动,通过 librbd 实现对 Ceph 集群块存储服务的访问,其架构如图 3-2 所示。

image.png

图 3-1 QEMU 连接 Ceph 示意

image.png

图 3-2 SPDK 连接 Ceph 示意

(3)NBD+librbd

NBD(Network Block Device)是 Linux 平台下实现的一种块设备,由 Client 端和Server 端组成,Client 端已经集成在 Linux 内核中,Ceph 社区提供了 rbd-nbd 工具作为Server 端,通过 librbd 实现对 Ceph 集群块存储服务的访问,其挂载流程如图 3-3 所示。

image.png

图 3-3 Ceph NBD 挂载流程

2. KRBD


KRBD 运行在客户端节点操作系统内核中,提供了对 Ceph 集群块存储服务进行访问的机制。在功能、特性支持方面,KRBD 远远落后于 Ceph 的 librbd 方式,很多高级特性均不支持,如 KRBD 模式下,挂载的逻辑卷仅支持 stripping 及 layering 特性,但正因为如此,相较于 librbd 方式,KRBD 模式 I/O 路径逻辑更加简洁,在性能方面占有一定优势,其挂载流程如图 3-4 所示。

image.png

图 3-4 Ceph KRBD 挂载流程

KRBD 与 NBD+librbd 方式常用于 Ceph 存储集群对接容器使用场景,kubernetes的 CSI(Container Storage Interface)组件默认支持 rbd 与 rbd-nbd 两种方式进行 Ceph 的RBD 逻辑卷管理。


3. iSCSI


除 OpenStack 使用的 KVM 虚拟化技术外,其他虚拟化平台(如 Windows Hyper-V、VMware 等)无法直接通过 librbd 或者 KRBD 方式使用 Ceph RBD 作为后端块存储,故标准的 iSCSI 接口就成为跨平台使用 Ceph RBD 的最优方案。在通过 iSCSI 方式使用块存储设备时,往往会提及 VMware VAAI(The vStorage APIs for Array Integration)以及 Windows ODX 等高级存储特性,下面简要对它们进行介绍。

(1)VMware VAAI

VMware 的 VAAI 被称为硬件加速 API,是一组用于 VMware ESXi 主机与后端存储设备通信的 API。若后端存储支持 VAAI 特性,则 VMware ESXi 主机可将部分存储相关操作卸载到后端存储集群执行,从而减少对 VMware ESXi 主机的 CPU、内存及网络等资源的开销,可大大提升 VMware 虚拟化平台的工作效率。

VMware VAAI 主要包含如下功能。

◆ Full Copy

针对虚机克隆和文件复制等场景,把数据复制工作下沉到后端存储中,避免 VMware ESXi 主机参与大量数据的读取和写回操作,可有效节省 CPU 和带宽资源。

◆ Block Zeroing

针对创建虚拟磁盘格式化清零场景,VMware ESXi 主机通过下发一个标准 SCSI 的WRITE SAME 命令来进行虚拟磁盘格式化,该命令携带待格式化的数据范围和格式化数据模板,避免了大量的写零操作。

◆ Hardware-Assisted Locking(ATS)

VMFS(Virtual Machine File System)作为多主机共享的集群文件系统,需要通过加锁来避免冲突。该特性主要用到了 ATS 锁,与 PR 锁相比,ATS 是一种粒度更小的锁机制,它只针对写的单个数据块加锁。VMware ESXi 使用 SCSI 的 CompareAndWrite 命令来对LUN 中的数据块进行加锁和解锁,保证块区域修改的原子性,提高了 VMFS 的 I/O 并发能力。

◆ Thin Provisioning(UNMAP)

针对存储精简配置场景,VMware ESXi 主机向后端存储发出一个 SCSI 的 UNMAP 命令,后端存储即可将执行范围内的空间进行回收,以减少存储空间使用。

(2)Windows ODX

Windows ODX(Offloaded Data Transfer) 由 微 软 公 司 提 出, 是 在 Windows 8 及Windows Server 2012 中新增的功能,同 VAAI 设计目标一样,期望通过该功能把数据复制操作卸载到后端存储设备中执行,以此降低 Windows 虚拟化服务器的 CPU、内存和网络等资源开销,ODX 功能相对简单,与 VMware VAAI 中的 Full Copy 功能类似。

相关实践学习
基于EBS部署高性能的MySQL服务
如果您通常是通过ECS实例部署MySQL来使用数据库服务,您可以参考本实验操作来搭建高性能的MySQL服务。本实验为您演示如何通过EBS ESSD云盘部署一个高性能的MySQL服务。
相关文章
|
12月前
|
存储 缓存 算法
带你读《存储漫谈:Ceph原理与实践》——3.1.2 快照与克隆
带你读《存储漫谈:Ceph原理与实践》——3.1.2 快照与克隆
|
12月前
|
存储 容灾 安全
带你读《存储漫谈:Ceph原理与实践》——3.1.3 远程复制
带你读《存储漫谈:Ceph原理与实践》——3.1.3 远程复制
带你读《存储漫谈:Ceph原理与实践》——3.1.3 远程复制
|
12月前
|
存储 缓存 Linux
带你读《存储漫谈:Ceph原理与实践》——3.1.4 RBD Cache
带你读《存储漫谈:Ceph原理与实践》——3.1.4 RBD Cache
带你读《存储漫谈:Ceph原理与实践》——3.1.4 RBD Cache
|
12月前
|
存储 算法 网络性能优化
带你读《存储漫谈:Ceph原理与实践》——3.1.5 QoS
带你读《存储漫谈:Ceph原理与实践》——3.1.5 QoS
|
12月前
|
存储 算法
带你读《存储漫谈:Ceph原理与实践》——3.1.6 Burst I/O
带你读《存储漫谈:Ceph原理与实践》——3.1.6 Burst I/O
|
12月前
|
存储 Linux 数据安全/隐私保护
带你读《存储漫谈:Ceph原理与实践》——3.1.7 未来展望
带你读《存储漫谈:Ceph原理与实践》——3.1.7 未来展望
|
2天前
|
测试技术 块存储 开发者
阿里云块存储团队软件工程实践
本文介绍了阿里云团队软件工程实际开发流程,并简述了开发过程中遇到的一些问题。且附带案例,以及遇到案例中出现的情况应当如何应对。
|
10月前
|
存储 测试技术 块存储
阿里云块存储团队软件工程实践
文本主要介绍阿里云块存储团队同学们的踩坑经验,总结成案例和方法分享公示,实践和方法论不限于分布式系统。
151233 10
|
11月前
|
块存储
阿里云最新产品手册——阿里云核心产品——块存储——飞天洛神3.0——云网络发展历程——云网络3.0时代——智能服务产品
阿里云最新产品手册——阿里云核心产品——块存储——飞天洛神3.0——云网络发展历程——云网络3.0时代——智能服务产品自制脑图
212 1
|
11月前
|
块存储
阿里云最新产品手册——阿里云核心产品——块存储——飞天洛神3.0——云网络发展历程——云网络3.0时代——按量弹性
阿里云最新产品手册——阿里云核心产品——块存储——飞天洛神3.0——云网络发展历程——云网络3.0时代——按量弹性自制脑图
155 1

热门文章

最新文章

相关实验场景

更多