8.2. 使用 Red Hat Gluster Storage 作为存储域

8.2.1. Red Hat Gluster Storage(GlusterFS)卷介绍

Red Hat Gluster Storage 卷把多个 Red Hat Gluster Storage 服务器上的存储资源集合在一起作为一个单独的全局命名空间。一个卷由多个数据块(brick)组成,每个数据块是在信任的存储池中的一个 Red Hat Gluster Storage 服务器的一个挂载点或目录。
大多数 Red Hat Gluster Storage 的管理操作都发生在卷上。
您可以使用管理门户创建并启用新卷。您可以通过标签页来监测 Red Hat Gluster Storage 集群上的卷。
卷可以通过管理门户进行创建和管理,数据块(brick)必须在相应的 Red Hat Gluster Storage 节点上创建,然后才能通过管理门户把它们添加到卷上。

8.2.2. Gluster 存储术语

表 8.1. 数据中心属性

术语
定义
数据块(Brick)
数据块(brick)是 GlusterFS 的基本存储单元。一个数据块是通过一个服务器和一个输出目录以以下格式所代表的:
SERVER:EXPORT
例如:
myhostname:/exports/myexportdir/
块存储(Block Storage)
块文件或块设备是指那些使用块的形式来处理数据的设备。这些设备通常代表了那些可访问的设备,如硬盘、CD-ROM 驱动器和存储区域。Red Hat Gluster Storage 支持带有扩展属性的 XFS 文件系统。
集群
由多个相互连接的计算机组成的一个信任的池,通常我们可以把它看作为一个单一的计算机。在 Red Hat Gluster Storage 环境中,我们把集群称为信任的存储池(trusted storage pool)。
客户端(Client)
加载卷的机器(可以是服务器)
分布式文件系统(Distributed File System)
一个文件系统,它允许多个客户端同时访问分布在一个信任的存储池中的多个服务器/数据块(brick)中的数据。所有分布式文件系统的基础就是在多个不同的位置共享数据。
异地备份(Geo-Replication)
异地备份(Geo-Replication)是一个可以通过局域网(LAN)、广域网(WAN)和互联网为不同的区域进行持续的、异步的、增量的备份操作的备份服务。
glusterd
Gluster 管理守护进程,它需要在信任的存储池中的所有服务器上运行。
元数据(metadata)
元数据是提供了一个或多个数据的信息的数据。
N-way Replication
本地同步数据复制通常部署在多个园区或 Amazon Web Services Availability Zones 中。
命名空间(Namespace)
命名空间就是一个抽象的容器或环境,它被创建来保存一个包括了一组唯一的标识符或符号的逻辑组。每个 Red Hat Gluster Storage 信任的存储池都会提供一个单一的命名空间作为 POSIX 的挂载点,它包括了这个信任存储池中的所有文件。
POSIX
Portable Operating System Interface (for Unix) 是由 IEEE 定义的一组相关的标准,它包括了应用程序编程接口(API)、以及与不同的 UNIX 操作系统兼容的 shell 和工具程序。Red Hat Gluster Storage 会输出一个与 POSIX 完全兼容的文件系统。
RAID
Redundant Array of Inexpensive Disks (RAID) 是一个通过使用冗余来提高存储的可靠性的技术。它会把多个低成本、较低可靠性的磁盘组建为一个单一的逻辑单元。
RRDNS
Round Robin Domain Name Service (RRDNS) 是一个在多个应用服务器间分配负载的方法。RRDNS 在 DNS 服务器的 zone 文件中创建多个有相同名称和不同 IP 地址的 A 记录。
服务器
用来保持实际数据的文件系统所在的机器(虚拟机或物理机器)。
Scale-Up Storage
单方面增加存储设备的能力。如为一个信任的存储池中的一个单一的计算机增加它的磁盘空间。
Scale-Out Storage
多方面增加存储设备的能力。如为一个信任的存储池添加一个服务器来为这个信任的存储域中的整个环境增加 CPU 和磁盘空间。
Subvolume
子卷(subvolume)是被最少一个 translator 处理过的一个数据块(brick)
Translator
translator 连接到一个或多个 subvolumes,进行一些操作,并提供一个 subvolume 连接。
Trusted Storage Pool(信任的存储池)
一个存储池就是一组信任的存储服务器。当您开始使用第一个服务器时,存储池只包括那一个服务器。
User Space(用户空间)
在用户空间中运行的应用程序不会直接访问硬件,它会通过内核来进行处理。在通常情况下,用户空间的应用程序比内核空间的应用程序有更好的可移植性。Gluster 是一个用户空间的应用程序。
Virtual File System (VFS)
VFS 是一个内核软件层,用来处理与标准的 Linux 文件系统相关的系统调用。它为不同的文件系统提供了一个通用的接口。
Volume File(卷文件)
卷文件是一个被 glusterfs 进程使用的配置文件,它通常位于 /var/lib/glusterd/vols/VOLNAME
Volume(卷)
卷就是一个包括了多个数据块(brick)的逻辑组。多数的 Gluster 管理操作都是针对于卷进行的。

8.2.3. 附加一个 Red Hat Gluster 存储卷作为存储域

为 Red Hat Enterprise Virtualization Manager 添加一个 Red Hat Gluster 存储卷来直接作为存储域使用。这与添加一个 Red Hat Storage Gluster 节点不同,当添加 Red Hat Storage Gluster 节点时,可以在 Red Hat Enterprise Virtualization Manager 内控制卷和数据块(brick),而添加 Red Hat Gluster 存储卷来直接作为存储域使用则不需要一个启用了 Gluster 的集群。
为了可以加载卷,主机需要 glusterfsglusterfs-fuse 软件包。
如需了解更多与设置 Red Hat Gluster Storage 节点相关的信息,请参阅 Red Hat Gluster Storage Installation Guide。如需了解准备一个主机来使用 Red Hat Storage Gluster 卷的信息,请参阅 Configuring Red Hat Enterprise Virtualization with Red Hat Gluster Storage Guide. For more information on the compatibility matrix, see the Configuring Red Hat Enterprise Virtualization with Red Hat Storage Guide

过程 8.3. 添加一个 Red Hat Gluster 存储卷作为存储域

  1. 存储资源标签页来列出现有的存储域。
  2. 新建域打开新建域窗口。
    Red Hat Gluster Storage

    图 8.1. Red Hat Gluster Storage

  3. 输入存储域的名称
  4. 选择与存储域相关联的数据中心
  5. 域功能下拉列表中选择数据
  6. 存储类型下拉菜单中选择 GlusterFS
  7. 使用主机下拉菜单列表中选择一个主机。只有在所选数据中心中的主机回被列出。只有在安装了 glusterfsglusterfs-fuse 软件包后才可以挂载卷。
  8. 路径项中输入 Red Hat Gluster Storage 服务器的 IP 地址或 FQDN,以及卷名(以一个冒号分隔)。
  9. 输入其他的挂载选项(和您使用 mount 命令时使用的 -o 参数相同)。挂载选项应该以用逗号隔开的列表形式提供。关于可用的挂载选项,请参考 man mount
  10. 确定挂载卷来作为存储域并关闭窗口。

8.2.4. 创建一个存储卷

您可以使用管理门户创建新的卷。在创建新的卷时,您必须指定组成这个新卷的数据块(brick)并指定这个卷是分布存储(distributed),还是镜像存储(replicated)或是条带存储(striped)。
在把数据块添加到卷前,您必须创建数据块目录或挂载点。

重要

当把从不同主机上输出的数据块组成一个卷的时候,我们推荐您使用镜像存储卷。它会把由不同主机上的数据块中的文件所构成的卷做一个镜像,这样当某个主机被隔离时,数据不会丢失。

过程 8.4. 创建一个存储卷

  1. 资源标签页列出现有的卷。
  2. 新建打开新建卷窗口。
  3. 使用下拉菜单选择数据中心卷集群
  4. 输入卷的名称
  5. 使用下拉菜单选择卷的类型
  6. 如果需要,选择相应的传输类型
  7. Add Bricks 来选择要加到卷中的数据块。brick 需要在外部的 Red Hat Gluster Storage 节点上创建。
  8. 使用 GlusterNFSCIFS 选项指定卷所使用的访问协议。
  9. 允许访问项中输入这个卷的访问控制列表(以逗号分隔的 IP 地址或主机名)。
    您可以在 IP 地址和主机名中使用 * 通配符。
  10. 使用为 Virt 库进行优化选项设置参数来优化虚拟机的卷。如果您需要使用这个卷作为一个存储域,您应该选择这个选项。
  11. 确定创建卷。新的卷被添加并在标签页中显示。
您添加了一个新的 Red Hat Gluster Storage 卷,并可以开始使用它了。

8.2.5. 为卷添加数据块(brick)

介绍

您可以通过添加新的数据块来扩充卷的容量。如果您使用的是分布卷,您需要最少添加一个数据块;如果您使用的是镜像卷,您需要添加偶数个数据块(最少 2 个);如果您使用的是条带卷,您需要添加的数据块的数量必须是 4 的倍数(最少 4 个)。

过程 8.5. 为卷添加数据块(brick)

  1. 标签页中选择需要添加数据块的卷。
  2. 在详情框中点 Bricks 标签页。
  3. 添加 Bricks 打开添加 Bricks 窗口。
  4. 使用主机下拉菜单选择数据块所在的服务器。
  5. 输入 Brick 目录的路径。这个目录必须已经存在。
  6. 添加。数据块会出现在卷的数据块列表中,并包括了数据块所在的服务器地址和数据块的目录名。
  7. 确定
结果

新的数据块被添加到卷中,并出现在卷的 Bricks 标签页中。

8.2.6. 添加数据块窗口中的设置介绍

表 8.2. 添加数据块页属性

描述
卷类型(Volume Type)
显示卷的类型。这个项不能被改变,它在创建的时候被设置。
服务器(Server)
数据块所在的服务器。
数据块目录(Brick Directory)
数据块目录或挂载点。

8.2.7. 为存储虚拟机镜像优化 Red Hat Gluster Storage 卷

使用管理门户为存储虚拟机镜像优化 Red Hat Gluster Storage 卷。
Manager 为卷设置了一组虚拟化相关的特殊参数。这些参数被用来优化存储虚拟机镜像的卷。

重要

Red Hat Gluster Storage 当前支持 Red Hat Enterprise Virtualization 3.3 及以上版本。附加到数据中心中的所有 Gluster 集群和主机必须和 3.3 以上版本的系统兼容。
要为存储虚拟机镜像进行卷优化,可以在创建卷时选择为 Virt 库进行优化选项,也可以在创建后使用标签页中的为 Virt 库进行优化选项。

重要

如果一个卷在 3 个或更多个节点上进行复制,请对它为虚拟存储进行优化来保持它在不同节点间的一致性。
另外一个方法是访问 Red Hat Gluster Storage 节点中的一个,并把卷组设置为 virt。这会把 cluster.quorum-type 参数设置为 auto,把 cluster.server-quorum-type 参数设为 server
# gluster volume set VOLUME_NAME group virt
通过列出卷信息来验证卷的状态:
# gluster volume info VOLUME_NAME

8.2.8. 启动卷

介绍

当一个卷被创建后,或卷被停用后,用户需要启动它后才能使用这个卷。

过程 8.6. 启动卷

  1. 标签页中,选择要启动的卷。
    您可以使用 ShiftCtrl 键来选择多个卷进行启动。
  2. 启动键。
卷的状态变为 Up
结果

您现在可以使用这个卷作为虚拟机存储了。

8.2.9. 调整卷

介绍

通过调整卷可以改变它们的性能。您可以通过为卷添加选项来调整它们。

过程 8.7. 调整卷

  1. 标签页。
    卷列表被显示。
  2. 选择您需要调整的卷,从详情框中选卷选项标签页。
    卷选项页显示了这个卷的选项列表。
  3. 添加设置选择。添加选项对话框会被显示。从下拉菜单中选择“选择键”并输入所需的值。
  4. 确定
    选择被设置,并在卷选项标签页中显示。
结果

您调整了您的存储卷。

8.2.10. 编辑卷的选项

介绍

在添加了卷选项后,您就可以对它们进行编辑。

过程 8.8. 编辑卷的选项

  1. 标签页。
    卷列表被显示。
  2. 选择您需要编辑的卷,从详情框中选卷选项标签页。
    卷选项标签页显示了这个卷的选项列表。
  3. 选择您需要编辑的选项,点编辑编辑选项对话框被打开,为这个选项输入一个新值。
  4. 确定
    您所编辑的选项值在卷选项标签页中被显示。
结果

您改变了卷的选项值。

8.2.11. 卷选项重置

介绍

您可以重置卷选项来把它们恢复到默认的值。

  1. 标签页。
    卷列表被显示。
  2. 选择您需要编辑的卷,从详情框中选卷选项标签页。
    卷选项页显示了这个卷的选项列表。
  3. 选择您需要重置的选项,点重置。一个对话框会出现,让用户确认要重置这个选项。
  4. 确定
    所选的选项值被重置。

注意

您可以使用重置所有选项键来重置所有的卷选项。一个对话窗口会出现,让您确认重置的选项。点确定,卷的所有选项被重置为默认的值。
结果

您把卷选项重置为默认的值。

8.2.12. 从一个卷中删除数据块

介绍

如果需要,您可以在集群在线时减小卷的容量。例如,因为硬件或网络的问题,您需要把一个无法访问的卷从一个分布式卷中删除。

过程 8.9. 从一个卷中删除数据块

  1. 标签页中选择需要删除数据块的卷。
  2. 在详情框中点 Bricks 标签页。
  3. 选择需要被删除的数据块,点删除 Bricks
  4. 确认窗口会出现,点确定
结果

数据块被从卷中删除。

8.2.13. 停止 Red Hat Gluster Storage 卷

在卷被启动后,它可以被停止。

过程 8.10. 停止卷

  1. 标签页中,选择要停止的卷。
    您可以使用 ShiftCtrl 键来选择停止多个卷。
  2. 停止

8.2.14. 删除 Red Hat Gluster Storage 卷

您可以从集群中删除一个或多个卷。
  1. 标签页中,选择要删除的卷。
  2. 删除。一个删除确认窗口会出现。点确定

8.2.15. 重新平衡(Rebalancing)卷

介绍

如果一个卷通过添加或删除数据块扩大或缩小了它的容量,卷上的数据需要在服务器上进行重新平衡。

过程 8.11. 重新平衡一个卷。

  1. 标签页。
    卷列表被显示。
  2. 选择需要重新平衡的卷。
  3. Rebalance
结果

选择的卷被重新平衡。