磁盘选型至少包含三个不同问题:数据能否放得下、连续传输能否满足吞吐、随机请求能否达到需要的IOPS与延迟。它们之间有关联,却不能互相替代。应先描述数据规模与访问模式,再用代表性负载验证容量、IOPS、吞吐和尾延迟。
盘点业务数据、索引、日志、临时文件、应用包、缓存和本地备份,测量当前占用及增长速度。按数据保留周期推算目标容量,并为日志轮转、索引重建、数据迁移和文件系统元数据留出空间。分别监测可用字节和inode,避免文件数量耗尽而容量看似仍足够。
设置分级告警,例如使用率增长趋势超过预设阈值时提前处理,而不是等磁盘写满才告警。备份策略应考虑与主数据隔离;将唯一备份放在同一数据盘,无法应对磁盘故障。容量扩展与数据保护是两项独立设计。
IOPS表示单位时间内完成的I/O操作数量,实际需求受到块大小、读写比例、队列深度、并发和缓存命中率影响。数据库小块随机读写常需要关注操作次数和单次延迟;并发增加后,队列可能扩大,吞吐虽增加但用户尾延迟变差。
用iostat -xz 1观察设备请求、等待时间、队列和利用率,并将结果与数据库或应用等待时间对齐。若应用排队增长而磁盘指标平稳,可能是连接池或锁竞争;若磁盘等待与队列同步上升,则需进一步评估存储处理能力、并发写入和数据访问模式。
吞吐通常表示单位时间传输的数据量,日志写入、备份、媒体处理和大文件扫描更关注持续读写能力。大块顺序I/O与大量小块随机I/O的结果不同;单线程测试可能无法产生足够队列,短时突发也不能证明持续吞吐稳定。
记录读与写分别达到的MB/s、并发数、块大小和持续时间。对备份作业还要测量它与在线数据库流量重叠时对延迟的影响。磁盘吞吐看似不足时,同时检查实例网络、CPU、文件系统和数据压缩开销,避免把端到端瓶颈都归于磁盘。
磁盘利用率高不自动等于性能瓶颈,低利用率也不能排除串行等待或高延迟。性能测试应在隔离数据和环境中进行,先读懂工具行为,避免误覆盖真实数据。最终分别记录容量增长假设、随机I/O需求与持续吞吐需求,便于针对性调整。🧭