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