测量磁盘使用情况

测量磁盘使用情况

确定磁盘使用情况的最公平单位是什么(除总存储使用情况外,例如以 GB 为单位)?

  • 每秒输入/输出次数?
  • 读/写字节数?
  • 通过网络传输的字节数(等于读/写字节数)?
  • 其他?

在Linux下如何确定它们?

它是关于通过网络由虚拟服务器访问的虚拟存储实例的计费。

答案1

您可以使用以下命令进行磁盘监控:

# sar -p -d 1 1

(如果您的系统上安装了 sar 包),使用 sar 您还可以从 /var/log/sa/sar-01 文件的历史记录中检查磁盘读/写情况。

# iostat -d -x 3 3

最后两个数字是间隔(秒)和重复次数,

-d : Display the device utilization report (d == disk)
-x : Display extended statistics including disk utilization

答案2

答案更加复杂,因为这是一个微妙的问题。并非所有存储都是一样的,不同类型的工作需要不同类型的存储。

最常见的存储类型及其测量特性是:

  • 小块密集型随机IO:通常是数据库,有时是办公室文件共享,执行此类工作的许多工作负载的瓶颈是 IO/s,假设大部分是读取、大部分是随机(不可预测)、大部分是小块 IO。此类工作通常在小型数据集上完成,因此 SSD 是最佳选择。SSD 没有移动部件,通常每个 SSD 可以提供数千个 IO/s。缓存在这里非常有效,因为写入通常比读取少得多,并且所有写入都会被缓存,从而导致非常低的延迟。这种存储的测量值为潜伏最大 IO/s(以及当 IO/s 出现瓶颈时延迟会有多高)。
  • 流式 IO:通常是备份,有时是媒体源的文件共享,瓶颈更可能是每秒字节数您可以进行流式传输。此处的写入也受益于缓存,但如果流式传输的时间真的比短暂的活动高峰长,则缓存会饱和,您观察到的速度基本上就是缓存可以将写入转储到磁盘的速度。在此类别中,存储的大小很可能很大,并且因为 SSD 虽然仍然是最快的,但对于流式 IO 来说,速度并不比磁盘快一个数量级(就像它们对于小型随机 IO 一样),所以您会看到常规驱动器。15k RPM、10k RPM、7.2k RPM。很多时候,如果大小比速度更重要,您会看到容量为 1TB-6TB 且主轴速度为 7.2k RPM 的大型慢速驱动器(近线 SAS 或 SATA)。
  • 混合工作负载:通常是虚拟机管理程序。它们会将大量流式 IO 虚拟机、大量小块随机 IO 虚拟机和大量系统任务(允许快照和在存储池之间移动机器等虚拟机管理程序功能)放入同一个 IO 队列中。使用单层磁盘来处理这种类型的 IO 是最困难的,因此共享存储(如 SAN 或 NAS)中的最佳实践是使用多种类型的磁盘和存储层智能,尝试使用 SSD 来处理随机 IO 热点,使用主轴驱动器来处理流式 IO。测量这种类型的存储是潜伏峰值 IOPS, 也字节/秒吞吐量

相关内容