Ceph 笔记, ssh写入缓存

硬件建议 — Ceph 文档

写入缓存

企业级 SSD 和 HDD 通常包括断电保护功能,包括 在运行时断电时确保数据耐久性,以及 使用多级缓存来加快直接或同步写入速度。这些设备 可以在两种缓存模式之间切换 -- 刷新到的易失性缓存 具有 fsync 的持久性媒体,或同步写入的非易失性缓存。

这两种模式是通过“启用”或“禁用”写入来选择的 (易失性)缓存。启用易失性缓存后,Linux 使用 “回写”模式,禁用时,它使用“直写”。

默认配置(通常:启用缓存)可能不是最佳配置,并且 OSD 性能可能会因 IOPS 和 通过禁用此写入缓存来减少提交延迟。

因此,我们鼓励用户对他们的设备进行基准测试。 前面描述并保留其最佳缓存配置 设备。fio

可以使用 、 或读取 中的值来查询缓存配置 例如:hdparmsdparmsmartctl/sys/class/scsi_disk/*/cache_type

# hdparm -W /dev/sda

/dev/sda:
 write-caching =  1 (on)

# sdparm --get WCE /dev/sda
    /dev/sda: ATA       TOSHIBA MG07ACA1  0101
WCE           1  [cha: y]
# smartctl -g wcache /dev/sda
smartctl 7.1 2020-04-05 r5049 [x86_64-linux-4.18.0-305.19.1.el8_4.x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

Write cache is:   Enabled

# cat /sys/class/scsi_disk/0\:0\:0\:0/cache_type
write back

可以使用以下相同工具禁用写入缓存:

# hdparm -W0 /dev/sda

/dev/sda:
 setting drive write-caching to 0 (off)
 write-caching =  0 (off)

# sdparm --clear WCE /dev/sda
    /dev/sda: ATA       TOSHIBA MG07ACA1  0101
# smartctl -s wcache,off /dev/sda
smartctl 7.1 2020-04-05 r5049 [x86_64-linux-4.18.0-305.19.1.el8_4.x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Write cache disabled

在大多数情况下,使用 、 或 禁用此缓存会导致cache_type自动更改为“直写”。如果这是 不是这种情况,您可以尝试直接按如下方式进行设置。(用户应确保 该设置cache_type还会正确保留设备的缓存模式 直到下次重新启动,因为某些驱动器要求在每次启动时重复此操作):hdparmsdparmsmartctl

# echo "write through" > /sys/class/scsi_disk/0\:0\:0\:0/cache_type

# hdparm -W /dev/sda

/dev/sda:
 write-caching =  0 (off)

提示

此 udev 规则(在 CentOS 8 上测试)会将所有 SATA/SAS 设备cache_types设置为“写入” 通过“:

# cat /etc/udev/rules.d/99-ceph-write-through.rules
ACTION=="add", SUBSYSTEM=="scsi_disk", ATTR{cache_type}:="write through"

提示

此 udev 规则(在 CentOS 7 上测试)会将所有 SATA/SAS 设备cache_types设置为“写入” 通过“:

# cat /etc/udev/rules.d/99-ceph-write-through-el7.rules
ACTION=="add", SUBSYSTEM=="scsi_disk", RUN+="/bin/sh -c 'echo write through > /sys/class/scsi_disk/$kernel/cache_type'"

提示

该实用程序可用于查看/更改易失性写入 同时在多个设备上缓存:sdparm

# sdparm --get WCE /dev/sd*
    /dev/sda: ATA       TOSHIBA MG07ACA1  0101
WCE           0  [cha: y]
    /dev/sdb: ATA       TOSHIBA MG07ACA1  0101
WCE           0  [cha: y]
# sdparm --clear WCE /dev/sd*
    /dev/sda: ATA       TOSHIBA MG07ACA1  0101
    /dev/sdb: ATA       TOSHIBA MG07ACA1  0101

网络

在数据中心预置至少 10 Gb/s 的网络,两者均在 Ceph 之间 主机之间以及客户端与 Ceph 集群之间。网络链接主动/主动 强烈建议在以下情况下在单独的网络交换机之间绑定 提高吞吐量,提高网络故障和维护的容忍度。 请注意,绑定哈希策略会在链接之间分配流量。

速度

在 1 Gb/s 网络上复制 1 TB 的数据需要 10 个小时,并且 在 1 Gb/s 网络上复制 1 TB 需要 10 小时。但这只需要 在 10 Gb/s 网络上复制 10 TB 需要 <> 分钟,并且需要 只需 <> 小时即可在 <> Gb/s 网络上复制 <> TB。

请注意,一个 40 Gb/s 网络链路实际上是四个 10 Gb/s 通道 并行,并且 100Gb/s 网络链路实际上是四个 25 Gb/s 通道 并行。因此,也许有点违反直觉的是,一个人 与 25 Gb/s 相比,40 Gb/s 网络上的数据包延迟略低 网络。

最低硬件建议

Ceph 可以在廉价的商用硬件上运行。小型生产集群 开发集群可以使用适度的硬件成功运行。如 我们在上面提到:当我们谈到 CPU _cores_ 时,我们的意思是 _threads_ 当 启用超线程 (HT)。每个现代物理 x64 CPU 内核通常 提供两个逻辑 CPU 线程;其他 CPU 架构可能会有所不同。

请注意,影响资源选择的因素有很多。这 足以满足一个目的的最低限度资源不一定足以满足 另一个。一个沙盒集群,具有一个 OSD,构建在装有 VirtualBox 的笔记本电脑上或 三个 Raspberry PI 将比生产更少的资源 使用一千个 OSD 部署,为 2000 个 RBD 客户端提供服务。这 经典的 Fisher Price PXL <> 可以拍摄视频,IMAX 或 RED 摄影机也是如此。 人们不会指望前者能完成后者的工作。我们特别 使用企业级存储的重要性怎么强调都不为过 用于生产工作负载的媒体。

有关生产群集资源规划的其他见解包括 在本文档的上文和其他地方找到。

过程

标准

最低限度和推荐值

ceph-osd

处理器

  • 最少 1 个核心,推荐 2 个

  • 每 1-200 MB/s 吞吐量 500 个内核

  • 每 1-1000 IOPS 3000 个核心

  • 结果在复制之前。

  • 结果可能因 CPU 和驱动器而异 模型和 Ceph 配置: (纠删码、压缩等)

  • ARM 处理器具体可以 需要更多内核才能提高性能。

  • SSD OSD,尤其是 NVMe,将 受益于每个 OSD 的额外内核。

  • 实际性能取决于许多 因素包括驱动器、NET 和 客户端吞吐量和延迟。 强烈建议进行基准测试。

公羊

  • 每个守护进程 4GB+(越多越好)

  • 2-4GB 可能起作用,但可能很慢

  • 不建议小于 2GB

存储驱动器

每个 OSD 1 个存储驱动器

DB/WAL (可选)

每个 HDD OSD 1 个 SSD 部分 每个 DB/WAL SATA SSD 4-5 个 HDD OSD <= 每个 DB/WAL NVMe SSD 10 个 HDD OSDss

网络

1 个 1Gb/s(建议绑定 10+ Gb/s)

ceph-mon

处理器

  • 最少 2 个核心

公羊

每个守护进程 5GB+(大型/生产) 集群需要更多)

存储

每个守护程序 100 GB,建议使用 SSD

网络

1 个 1Gb/s(推荐 10+ Gb/s)

ceph-mds

处理器

  • 最少 2 个核心

公羊

每个守护进程 2GB+(更多用于生产)

磁盘空间

每个守护程序 1 GB

网络

1 个 1Gb/s(推荐 10+ Gb/s)

提示

如果您运行的是具有单个存储驱动器的 OSD 节点,请创建一个 与分区分开的 OSD 的分区 包含操作系统。我们建议将单独的驱动器用于 操作系统和 OSD 存储。

你可能感兴趣的:(ceph,笔记)