磁盘配置
存储容量
INFO
请将以下分区挂载在专用磁盘或 LVM 配置的逻辑卷上,以便后续扩展。
推荐的 ETCD 实践
快速存储对于 etcd 的可靠性能至关重要。etcd 依赖持久、低延迟的磁盘操作来将提案持久化到其预写日志(WAL)。
如果磁盘写入耗时过长,fsync 延迟可能导致成员错过心跳,无法及时提交提案,并出现请求超时或临时领导者变更。这些问题也会减慢 Kubernetes API 并降低整个集群的响应速度。
总之,HDD 是不理想的选择,不推荐使用。如果必须使用 HDD 作为 etcd 存储,请选择最快的(例如 15,000 RPM)。
INFO
以下硬盘实践可提供最佳的 etcd 性能:
-
优先使用 SSD 或 NVMe 作为 etcd 磁盘。当写入耐久性和稳定性为优先考虑时,建议使用服务器级单层单元(SLC)SSD。避免使用 NAS、SAN 和 HDD。
- 优先选择具有高写入吞吐量的磁盘,以加速压缩和碎片整理。
- 优先选择具有强大读取带宽的磁盘,以缩短故障恢复时间。
- 优先选择具有持续低延迟的磁盘,以确保快速的读写操作。
-
避免使用分布式块存储系统,如 Ceph RADOS Block Device (RBD)、网络文件系统 (NFS) 及其他网络附加后端,因为它们会引入不可预测的延迟。
-
将 etcd 数据保存在专用磁盘或专用逻辑卷上。
- 不要在控制平面主机上放置 I/O 敏感(如日志)或其他密集的文件系统活动,或者至少不要让它们与 etcd 共享相同的底层存储。
-
持续使用
fio等工具进行基准测试,并利用结果跟踪集群增长时的性能。更多信息请参见 磁盘基准测试指南。
验证 etcd 硬件规格
使用 fio 进行基准测试
为测量实际的顺序 IOPS 和吞吐量,建议使用磁盘基准测试工具 fio。可参考以下操作说明:
WARNING
请勿在 集群的任何节点上运行这些测试。
请在与控制平面节点配置相同的专用虚拟机上运行测试。\