Red Hat Training

A Red Hat training course is available for RHEL 8

第 1 章 可用存储选项概述

Red Hat Enterprise Linux 8 中提供了多个本地、远程和基于集群的存储选项。

本地存储意味着存储设备安装在系统上或直接附加到系统。

使用远程存储时,设备可以通过 LAN、互联网或使用光纤通道网络进行访问。高级别 Red Hat Enterprise Linux 存储图描述了不同的存储选项

图 1.1. 高级别 Red Hat Enterprise Linux 存储图

高级别 RHEL 存储图

1.1. 本地存储概述

Red Hat Enterprise Linux 8 提供多个本地存储选项。

基本磁盘管理

使用 partedfdisk,您可以创建、修改、删除和查看磁盘分区。以下是分区布局标准:

主引导记录(MBR)
它用于基于 BIOS 的计算机。您可以创建主分区、扩展分区及逻辑分区。
GUID 分区表(GPT)
它使用全局唯一标识符(GUID),提供唯一磁盘和 GUID 分区。

要加密分区,您可以使用 Linux Unified Key Setup-on-disk-format(LUKS)。要加密分区,选择安装过程中的选项,系统会显示输入密码短语的提示。这个密码短语用于解锁加密密钥。

存储消耗选项
Non-Volatile Dual In-line Memory Modules(NVDIMM)管理
它是内存和存储的组合。您可以在连接到您的系统的 NVDIMM 设备中启用和管理各种存储类型。
块存储管理
数据以块形式存储,每个块都有唯一的标识符。
文件存储
数据存储在本地系统中的文件级别。这些数据可使用 XFS(默认)或者 ext4 本地访问,并使用 NFS 和 SMB 通过网络访问。
逻辑卷
逻辑卷管理器(LVM)

它从物理设备中创建逻辑设备。逻辑卷(LV)是物理卷(PV)和卷组(VG)的组合。配置 LVM 包括:

  • 从硬盘创建 PV。
  • 从 PV 创建 VG。
  • 从 VG 创建 LV,分配挂载点到 LV。
Virtual Data Optimizer(VDO)

它被用来通过重复数据删除(deduplication)、压缩和精简置备来减少数据。在 LV 下使用 VDO 可以帮助:

  • 扩展 VDO 卷
  • 通过多个设备生成 VDO 卷
本地文件系统
XFS
默认 RHEL 文件系统。
ext4
传统的文件系统。
Stratis
它只是一个技术预览。Stratis 是一个支持高级存储功能的混合用户和内核本地存储管理系统。

1.2. 远程存储概述

以下是 Red Hat Enterprise Linux 8 中的远程存储选项:

存储连接选项
iSCSI
RHEL 8 使用 targetcli 工具来添加、删除、查看和监控 iSCSI 存储间的连接。
光纤频道(FC)

Red Hat Enterprise Linux 8 提供以下原生光纤频道驱动程序:

  • lpfc
  • qla2xxx
  • Zfcp
Non-volatile Memory Express(NVMe)

允许主机软件实用程序与固态驱动器通信的接口。使用以下类型的光纤传输来通过光纤配置 NVMe:

  • NVMe over fabrics 使用远程直接内存访问(RDMA)。
  • 使用光纤通道(FC)的 NVMe over fabrics.
设备映射器多路径(DM 多路径)
允许您将服务器节点和存储阵列间的多个 I/O 路径配置为单一设备。这些 I/O 路径是可包含独立电缆、交换机和控制器的物理 SAN 连接。
网络文件系统
  • NFS
  • SMB

1.3. GFS2 文件系统概述

Red Hat Global File System 2 (GFS2) 是一个 64 位对称集群文件系统,它提供了一个共享名称空间,并管理共享一个常见块设备的多个节点间的一致性。GFS2 文件系统旨在提供尽量与本地文件系统类似的功能,同时在节点间强制实施完整集群一致性。为达到此目的,节点在文件系统资源中使用集群范围的锁定方案。这个锁定方案使用 TCP/IP 等通讯协议来交换锁定信息。

在某些情况下,Linux 文件系统 API 不允许具有集群特性的 GFS2 完全透明。例如,在 GFS2 中使用 POSIX 锁定的程序应该避免使用 GETLK 功能,因为在集群的环境中,该进程 ID 可能用于集群中的不同节点。然而,多数情况下 GFS2 文件系统的功能和本地文件系统的功能是一样的。

Red Hat Enterprise Linux (RHEL) Resilient Storage Add-On提供 GFS2,它依赖于 RHEL High Availability 附加组件来提供 GFS2 所需的集群管理功能。

gfs2.ko 内核模块实施 GFS2 文件系统,并在 GFS2 集群节点中载入。

要获得最佳 GFS2 性能,请务必考虑基础设计中给出的性能注意事项。和本地文件系统一样,GFS2 依赖于页面缓存以便通过本地缓存来提高经常使用数据的性能。为了在集群中的节点间保持一致性,缓存控制由 glock 状态机器提供。

1.4. Gluster 存储概述

红帽 Gluster 存储(RHGS)是一款软件定义型存储平台,可在集群中部署。它将多个服务器的磁盘存储资源整合到单一全局命名空间中。GlusterFS 是一种开源分布式文件系统,适用于云和混合解决方案。

卷构成了 GlusterFS 的基础,并提供不同的要求。每个卷是 brick 的集合,它们是基本存储单元,由受信存储池中服务器上的导出目录表示。

可用的 GlusterFS 卷类型如下:

  • 分布式 GlusterFS 卷是每个文件存储在一个 brick 中的默认卷,文件不能在不同 brick 之间共享。
  • 复制的 GlusterFS 卷类型复制用户数据,使得一个 brick 出现故障时仍然可以访问该数据。
  • 分布式复制 GlusterFS 卷是一个混合卷,可在大量系统上分发副本。它适用于存储可扩展性和高可靠性至关重要的环境。

1.5. Ceph 存储概述

红帽 Ceph 存储(RHCS)是一款可扩展、开放、软件定义型存储平台,它将最稳定版本的 Ceph 存储系统与 Ceph 管理平台、部署实用程序和支持服务相结合。

红帽 Ceph 存储专为云基础架构和 Web 规模对象存储而设计。Red Hat Ceph Storage 集群由以下类型的节点组成:

Red Hat Ceph Storage Ansible 管理节点

此类节点充当之前版本的红帽 Ceph 存储的传统 Ceph 管理节点。这种类型的节点提供以下功能:

  • 集中存储集群管理
  • Ceph 配置文件和密钥
  • (可选)用于在因为安全原因无法访问互联网的节点上安装 Ceph 的本地存储库
监控节点

每个监控器节点都运行 monitor 守护进程(ceph-mon),守护进程维护集群映射的副本。集群映射包含集群拓扑。连接 Ceph 集群的客户端从 monitor 中检索 cluster map 的当前副本,使客户端能够从集群读取和写入数据。

重要

Ceph 可以使用一个监控器运行;但是,为了保证生产集群中的高可用性,红帽将仅支持具有至少三个 monitor 节点的部署。红帽建议为超过 750 OSD 的存储集群部署总计 5 个 Ceph Monitor。

OSD 节点

每个对象存储设备(OSD)节点都运行 Ceph OSD 守护进程(ceph-osd),它与附加到节点的逻辑磁盘交互。Ceph 在这些 OSD 节点上存储数据。

Ceph 可在只有很少 OSD 节点的环境中运行,默认为三个。但对于生产环境,自中等范围环境开始(例如,在一个存储集群中包括 50 个 OSD)才可能看到其在性能方面的优势。理想情况下,Ceph 集群具有多个 OSD 节点,通过创建 CRUSH map 来允许隔离的故障域。

MDS 节点
每个元数据服务器(MDS)节点运行 MDS 守护进程(ceph-mds),它管理与 Ceph 文件系统(CephFS)中存储的文件相关的元数据。MDS 守护进程也协调对共享集群的访问。
对象网关节点
Ceph 对象网关节点运行 Ceph RADOS 网关守护进程(ceph-radosgw),它是基于 librados 构建的对象存储接口,为应用提供 Ceph 存储集群的 RESTful 网关。Ceph 对象网关支持两个接口:
S3
通过与 Amazon S3 RESTful API 的大子集兼容的接口提供对象存储功能。
Swift
通过与 OpenStack Swift API 的大集兼容的接口提供对象存储功能。

其它资源