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 个回答 Voted 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”,这些考虑可能不再(全部)适用。
日志/数据分离
如果每个 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”,这些考虑可能不再(全部)适用。