适用于 SUSE Enterprise Storage 5

2 硬件要求和建议

Ceph 的硬件要求在很大程度上取决于 IO 工作负载。在着手进行详细规划时,应考虑以下硬件要求和建议。

一般情况下,本节所述的建议是按进程提出的。如果同一台计算机上有多个进程,则需要提高 CPU、RAM、磁盘和网络要求。

2.1 对象存储节点

2.1.1 最低要求

  • 至少需要 4 个 OSD 节点,每个节点包含 8 个 OSD 磁盘。

  • 对于使用 BlueStore 的 OSD 而言,在每个 OSD 存储节点上,至少需要为每 TB 的原始 OSD 容量提供 1 GB RAM。建议为每 TB 原始 OSD 容量提供 1.5 GB RAM。在恢复期间,为每 TB 原始 OSD 容量提供 2 GB RAM 可能会达到最佳效果。

    对于使用 BlueStore 的 OSD 而言,首先要计算出针对不使用 BlueStore 的 OSD 建议的 RAM 大小,然后计算 2 GB 加上每个 OSD 进程建议的 RAM 的 BlueStore 快速缓存大小,并在这两个结果中选择 RAM 值较大的那一个。请注意,对于 HDD,默认的 BlueStore 快速缓存为 1 GB;而对于 SSD 设备,默认则为 3 GB。总之,请从下面两个值中选择较大的那个:

    [1GB * OSD count * OSD size]

    或者

    [(2 + BS cache) * OSD count]
  • 对于每个 OSD 守护进程进程,至少需要为每个 OSD 提供 1.5 GHz 的逻辑 CPU 内核。建议为每个 OSD 守护进程进程提供 2 GHz 内核。请注意,Ceph 为每个存储磁盘运行一个 OSD 守护进程进程;请不要计入专门用作 OSD 日记、WAL 日记、omap 元数据或此三者任意组合形式的保留磁盘空间。

  • 10 Gb 以太网(与多个交换机绑定的两个网络接口)。

  • 采用 JBOD 配置的 OSD 磁盘。

  • OSD 磁盘应该专门由 SUSE Enterprise Storage 使用。

  • 操作系统专用的磁盘/SSD,最好采用 RAID 1 配置。

  • 如果此 OSD 主机将要托管用于快速缓存分层的一部分快速缓存池,请至少额外分配 4 GB RAM。

  • 出于磁盘性能原因,OSD 节点应是未虚拟化的裸机。

2.1.2 最小磁盘大小

需要在 OSD 上运行以下两种类型的磁盘空间:磁盘日记(针对 FileStore)或 WAL/DB 设备(针对 BlueStore)的空间以及存储数据的主空间。日记/WAL/DB 的最小(默认)值为 6 GB。数据的最小空间为 5 GB,因为系统会自动为小于 5 GB 的分区指定权重 0。

因此,尽管 OSD 的最小磁盘空间为 11 GB,但不建议使用小于 20 GB 的磁盘,即使在测试中也是如此。

2.1.3 BlueStore 的 WAL 和 DB 设备的建议大小

提示
提示:更多信息

有关 BlueStore 的详细信息,请参见第 1.4 节 “BlueStore”

下面是针对 WAL/DB 设备大小调整的几条规则。使用 DeepSea 部署 OSD 和 BlueStore 时,它会自动应用建议的规则,并向管理员告知实情。

  • 每 TB 的 OSD 容量为 10GB 的 DB 设备(OSD 的 1/100)。

  • WAL 设备介于 500MB 到 2GB 之间。WAL 大小取决于数据流量和工作负载,而不是取决于 OSD 大小。如果您知道 OSD 实际上能在吞吐量极高时处理小型写入和覆盖,则 WAL 最好较大而不是较小。1GB WAL 设备是一个较好的折衷方案,可满足大多数部署要求。

  • 如果您打算将 WAL 和 DB 设备置于同一磁盘,建议您为这两个设备使用一个分区,而不是为每个设备使用单独的分区。这样,Ceph 便可以使用 DB 设备来执行 WAL 操作。这对于磁盘空间的管理也会更有效,因为 Ceph 只会在需要时才会为 WAL 使用 DB 分区。另一个好处是 WAL 分区填满的可能性很小,当该分区未完全占用时,转而用于 DB 操作不会浪费空间。

    要与 WAL 共享 DB 设备,请不要指定 WAL 设备,而是仅指定 DB 设备:

    bluestore_block_db_path = "/path/to/db/device"
    bluestore_block_db_size = 10737418240
    bluestore_block_wal_path = ""
    bluestore_block_wal_size = 0
  • 您也可以将 WAL 置于其自己的独立设备上。在这种情况下,建议针对 WAL 操作使用最快的设备。

2.1.4 使用 SSD 存储 OSD 日记

固态硬盘 (SSD) 不包含移动部件。这可以减少随机访问时间和读取延迟,同时加快数据吞吐量。由于 SSD 的每 MB 价格大大高于旋转型硬盘,SSD 只适用于较小规模的存储。

如果将日记存储在 SSD 上,并将对象数据存储在独立的硬盘上,OSD 的性能会得到大幅提高。

提示
提示:在一个 SSD 中共享多个日记

由于日记数据占用的空间相对较小,因此您可以将多个日记目录装入单个 SSD 磁盘。请注意,每共享一个日记,SSD 磁盘的性能就会有所下降。不建议在同一个 SSD 磁盘中共享 6 个以上的日记,或者在 NVMe 磁盘中共享 12 个以上的日记。

2.1.5 磁盘的最大建议数量

您可以在一台服务器上使用所允许的任意数量的磁盘。规划每台服务器的磁盘数量时,需要考虑以下几点:

  • 网络带宽:在一台服务器中使用的磁盘越多,执行磁盘写入操作时必须通过网卡传输的数据就越多。

  • 内存:为获得最佳性能,请每安装 1 TB 磁盘空间至少保留 2 GB RAM。

  • 容错:整台服务器发生故障时,该服务器包含的磁盘越多,则集群暂时丢失的 OSD 就越多。此外,为了确保复制规则的运行,需要将有故障服务器中的所有数据复制到集群中的其他节点。

2.2 监视器节点

  • 至少需要三个 Ceph Monitor 节点。监视器数量应始终为奇数 (1+2n)。

  • 4 GB RAM。

  • 有四个逻辑内核的处理器。

  • 强烈建议对监视器使用 SSD 或其他速度足够快的存储类型,特别是针对每个监视器节点上的 /var/lib/ceph 路径,因为仲裁可能不稳定且磁盘延迟较高。建议提供两个采用 RAID 1 配置的磁盘来实现冗余。建议对监视器进程使用独立的磁盘,或者至少是独立的磁盘分区,以防止日志文件缓增等问题导致监视器的可用磁盘空间不足。

  • 每个节点只能有一个监视器进程。

  • 仅当有足够的硬件资源可用时,才支持混用 OSD、监视器或对象网关节点。这意味着,对于所有服务需要提高相应要求。

  • 与多个交换机绑定的两个网络接口。

2.3 对象网关节点

对象网关节点应有 6 到 8 个 CPU 内核和 32 GB RAM(建议 64 GB)。如果将其他进程共置在同一台计算机上,则需要提高资源的要求。

2.4 元数据服务器节点

元数据服务器节点的适当大小取决于特定用例。一般而言,元数据服务器需要处理的打开文件越多,所需要的 CPU 和 RAM 就越多。以下是最低要求:

  • 每个元数据服务器守护进程需要 3G RAM。

  • 绑定网络接口。

  • 2.5 GHz CPU,至少有两个内核。

2.5 Salt Master

至少需要 4 GB RAM 和四核 CPU。这包括在 Salt Master 上运行 openATTIC 的要求。对于包含数百个节点的大型集群,建议提供 6 GB RAM。

2.6 iSCSI 节点

iSCSI 节点应有 6 到 8 个 CPU 内核和 16 GB RAM。

2.7 网络建议

要运行 Ceph 的网络环境最好是至少包含两个网络接口的绑定组合,该组合使用 VLAN 逻辑分割为公共部分和可信的内部部分。如果可能,建议采用 802.3ad 绑定模式,以提供最高的带宽和恢复能力。

公共 VLAN 用于向客户提供服务,而内部部分则用于提供经身份验证的 Ceph 网络通讯。建议采用此模式的主要原因在于,尽管 Ceph 可提供身份验证并在创建机密密钥后防范攻击,但用于配置这些密钥的讯息可能会公开传输,因而容易受到攻击。

提示
提示:通过 DHCP 配置的节点

如果存储节点是通过 DHCP 配置的,则默认超时可能会不够长,无法保证在各个 Ceph 守护进程启动前正确配置网络。如果发生此问题,Ceph MON 和 OSD 将不会正常启动(运行 systemctl status ceph\* 会导致“无法绑定”错误)。为避免此问题发生,建议在存储集群的每个节点上,将 DHCP 客户端超时增加到至少 30 秒。为此,可在每个节点上更改以下设置:

/etc/sysconfig/network/dhcp 中,设置

DHCLIENT_WAIT_AT_BOOT="30"

/etc/sysconfig/network/config 中,设置

WAIT_FOR_INTERFACES="60"

2.7.1 将专用网添加到正在运行的集群

如果您在部署 Ceph 期间未指定集群网络,则系统假设使用的是单个公共网络环境。尽管 Ceph 可在公共网络中正常运行,但如果您设置了另一个专用集群网络,Ceph 的性能和安全性将会得到提升。要支持两个网络,每个 Ceph 节点上至少需有两个网卡。

需要对每个 Ceph 节点应用以下更改。对小型集群执行此操作的速度相对较快,但如果集群包含数百甚至数千个节点,则此过程可能十分耗时。

  1. 在每个集群节点上停止 Ceph 相关的服务。

    /etc/ceph/ceph.conf 中添加一行以定义集群网络,例如:

    cluster network = 10.0.0.0/24

    如果需要指定具体的静态 IP 地址或覆盖 cluster network 设置,可以使用可选的 cluster addr 实现此目的。

  2. 检查专用集群网络是否在 OS 级别按预期工作。

  3. 在每个集群节点上启动 Ceph 相关的服务。

    sudo systemctl start ceph.target

2.7.2 不同子网中的监视器节点

如果监视器节点位于多个子网中,例如,位于不同的机房并由不同的交换机提供服务,则您需要相应地调整 ceph.conf 文件。例如,如果节点的 IP 地址为 192.168.123.12、1.2.3.4 和 242.12.33.12,请将以下几行添加到 global 段落:

[global]
[...]
mon host = 192.168.123.12, 1.2.3.4, 242.12.33.12
mon initial members = MON1, MON2, MON3
[...]

此外,如果您需要指定每个监视器的公用地址或网络,则需要为每个监视器添加 [mon.X] 段落:

[mon.MON1]
public network = 192.168.123.0/24

[mon.MON2]
public network = 1.2.3.0/24

[mon.MON3]
public network = 242.12.33.12/0

2.8 命名限制

一般情况下,Ceph 不支持在配置文件、存储池名称、用户名等内容中使用非 ASCII 字符。配置 Ceph 集群时,建议在所有 Ceph 对象/配置名称中仅使用简单的字母数字字符(A-Z、a-z、0-9)和最少量的标点符号(“.”、“-”、“_”)。

2.9 共享一台服务器的 OSD 和监视器

尽管从技术上讲可在测试环境中的同一台服务器上运行 Ceph OSD 和监视器,但强烈建议在生产环境中为每个监视器节点使用独立的服务器。主要原因在于性能 — 集群包含的 OSD 越多,监视器节点需要执行的 I/O 操作就越多。另外,在监视器节点与 OSD 之间共享一台服务器时,OSD I/O 操作将会成为监视器节点的限制因素。

另一个考虑要点是,是否要在 OSD、监视器节点与服务器上的操作系统之间共享磁盘。答案非常简单:如果可能,请将一个独立的磁盘专门用于 OSD,并将一台独立的服务器用于监视器节点。

尽管 Ceph 支持基于目录的 OSD,但 OSD 应始终包含一个专用磁盘,而不能与操作系统共享一个磁盘。

提示
提示

如果确实有必要在同一台服务器上运行 OSD 和监视器节点,请将一个独立磁盘装入 /var/lib/ceph/mon 目录以在该磁盘上运行监视器,这样可以稍微改善性能。

2.10 最低集群配置

  • 四个对象存储节点

    • 10 Gb 以太网(与多个交换机绑定的两个网络)

    • 每个存储集群有 32 个 OSD

    • OSD 日记可以驻留在 OSD 磁盘上

    • 每个对象存储节点有专用的 OS 磁盘

    • 在每个对象存储节点上,为每 TB 的原始 OSD 容量提供 1 GB RAM

    • 为每个对象存储节点上的每个 OSD 提供 1.5 GHz

    • Ceph Monitor、网关和元数据服务器可以驻留在对象存储节点上

      • 三个 Ceph Monitor 节点(需要使用 SSD 作为专用 OS 驱动器)

      • Ceph Monitor、对象网关和元数据服务器节点需要冗余部署

      • iSCSI 网关、对象网关和元数据服务器需要额外的 4 GB RAM 和四个内核

  • 具有 4 GB RAM、四个内核和 1 TB 容量的独立管理节点

2.11 建议的生产集群配置

  • 七个对象存储节点

    • 单个节点不超过总容量的 15% 左右

    • 10 Gb 以太网(与多个交换机绑定的四个物理网络)

    • 每个存储集群有 56 个以上的 OSD

    • 每个 OSD 存储节点包含 RAID 1 OS 磁盘

    • 根据 6:1 的 SSD 日记与 OSD 的比率为日记提供 SSD

    • 在每个对象存储节点上,为每 TB 的原始 OSD 容量提供 1.5 GB RAM

    • 为每个对象存储节点上的每个 OSD 提供 2 GHz

  • 专用的物理基础架构节点

    • 三个 Ceph Monitor 节点:4 GB RAM,四核处理器,RAID 1 SSD 磁盘

    • 一个 SES 管理节点:4 GB RAM,四核处理器,RAID 1 SSD 磁盘

    • 网关或元数据服务器节点的冗余物理部署:

      • 对象网关节点:32 GB RAM,八核处理器,RAID 1 SSD 磁盘

      • iSCSI 网关节点:16 GB RAM,四核处理器,RAID 1 SSD 磁盘

      • 元数据服务器节点(一个主动/一个热待机):32 GB RAM,八核处理器,RAID 1 SSD 磁盘

2.12 SUSE Enterprise Storage 以及其他 SUSE 产品

本节包含有关将 SUSE Enterprise Storage 与其他 SUSE 产品集成的重要信息。

2.12.1 SUSE Manager

SUSE Manager 与 SUSE Enterprise Storage 未集成,因此 SUSE Manager 当前无法管理 SUSE Enterprise Storage 集群。

打印此页