AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 828882
Accepted
HorseHair
HorseHair
Asked: 2017-01-27 16:32:45 +0800 CST2017-01-27 16:32:45 +0800 CST 2017-01-27 16:32:45 +0800 CST

Ceph OSD 和日志驱动器

  • 772

我的每个 ceph OSD 服务器都有一个单独的驱动器。每个 OSD 主机有 4 个数据驱动器。一个日志驱动器是否为 4 个服务?日志驱动器是否共享?每个数据驱动器都应该有一个分区吗?

ceph
  • 1 1 个回答
  • 4847 Views

1 个回答

  • Voted
  1. Best Answer
    sleinen
    2017-01-28T23:28:38+08:002017-01-28T23:28:38+08:00

    日志/数据分离

    如果每个 OSD 主机只有这四个驱动器,并且所有驱动器都具有相似的性能,那么通常/推荐的设置是每个磁盘有一个 OSD(即每个服务器 4 个),每个 OSD 的日志文件都在同一个磁盘作为数据。

    另一种流行的(至少从历史上看)设置是将日志放在单独的驱动器上,这些驱动器针对写入吞吐量和延迟进行了优化;通常是固态硬盘,最好是具有“断电保护”功能的固态硬盘,这样它们就可以快速确认“同步”写入,而不必写入闪存阵列(这可能有点慢)。在此设置中,通常在多个 OSD(数据)驱动器之间共享一个日志 SSD。例如,我们的 OSD 服务器有 8 或 10 个用于 Ceph OSD 的 spin-rust 驱动器,并且日志分布在两个 SSD 上。

    分区

    如果您的数据和日志在同一个物理磁盘上,我个人会将它们放在同一个分区/文件系统上。主要是因为我担心如果它们位于单独的分区上,那么当 OSD/文件系统在日志和(后台)数据写入之间交替时会有很多磁头移动。我不确定这实际上是一个问题,在 SSD 上肯定不是。一般来说,单独的分区会给你一些优化机会,即不同的文件系统参数甚至文件系统类型,或者根本没有文件系统用于日志。这是以操作复杂性为代价的,例如,当添加或更改日志的大小时,您需要重新分区磁盘。

    在我们将数据放在旋转磁盘上的数据和(较少)独立 SSD 上的日志的设置中,每个旋转磁盘 (OSD) 有一个分区,每个 SSD 上有一个专用的“日志”分区;每个分区包含 4-5 个日志文件。我们的日志文件大小为每个 6 GiB,因此日志分区为 40 GB 左右。

    买者自负

    这种设置是基于几年的经验和对 SSD 寿命和文件系统/SSD 效率(延迟、吞吐量)的考虑而发展起来的。它不一定是最佳的,但它是一个棘手的领域...... OSD 日志有一个特殊的访问模式:只写到一个循环缓冲区,经常“同步”。根据使用情况(以及控制器和文件系统的智能性),SSD 的延迟(尤其是写入)可能会有很大差异;Ceph 仅在 N(通常为 3)写入已提交到稳定存储时才确认写入,这一事实可能会加剧延迟峰值。总的来说,我认为这仍然是一门(黑暗的?)科学,您肯定需要考虑预期的使用模式,因此请谨慎对待所有建议,尤其是这里的这些建议。

    哦,我所说的一切都是针对“经典”Ceph,其中数据存储在 XFS/ext4/ 等文件系统中......随着即将到来的“BlueStore”,这些考虑可能不再(全部)适用。

    • 3

相关问题

  • 共享和复制文件系统支持 POSIX

  • ceph - 无法在重新启动的集群主机上启动 osd

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve