tsd*_*sds 0 linux monitoring debian hard-drive
我有一个 Linux 服务器 (Debian),它为数千个实时连接提供服务。
找出系统的内存和 CPU 使用率(百分比)很容易,因此我可以预测何时需要升级这些硬件组件。
但是,我不知道如何估计硬盘驱动器的使用情况,我指的是性能而不是使用的空间。
我的主要问题是,我怎样才能知道我的硬盘在 Linux 上的使用率是多少?
但是,也许我问错了问题。如果是这样,你能提供一些线索吗?我应该了解有关硬盘驱动器的哪些信息以控制情况?
iostat( apt-get install sysstat) 和iotop( apt-get install iotop) 会让您深入了解您的驱动器正在做什么(它们正在处理多少 I/O 负载,以及导致它的进程)。
vmstat也有有用的 I/O 指标。在swap和io标题下查看。
对于实际磁盘使用(如:空间)df和du标准,分别报告安装和目录大小的全局数据。
进行了一些编辑以使其与一般性能更有意义......
当您谈论的是磁盘利用率而不是磁盘空间时,您可能对诸如磁盘延迟和IO 服务时间等值感兴趣。因为它们代表了客户在使用磁盘时的体验,而吞吐量之类的东西很高兴知道,但它不是最终用户体验的衡量标准。
如果您使用munin 之类的工具获取指标,一段时间后您将拥有文件系统指标的记录,您可以从中估计趋势,假设您的性能使用增加具有代表性。
收集数据的一些替代方法是 collectd、cacti 和各种 nagios 插件。
更新:因为您在 munin 中有您需要的数据,如果您真的想估计变化率,您可以用它说“在 2014 年 6 月的这一天,我需要一个新磁盘!”。然后我可能会想出一些直接查询 rrd 文件的命令行(作为起点),例如
rrdtool fetch /var/lib/munin/hpl.hp.com/SERVERNAMEHERE-diskstats_utilization-cciss_c0d0_util-g.rrd AVERAGE
Run Code Online (Sandbox Code Playgroud)
您必须直接查看 rrdtool fetch 文档,但我只会找到您感兴趣的磁盘利用率系列的连续 5 分钟值之间差异的移动平均值。然后,您可以将该数字乘以 12*24,以获得每日磁盘统计数据的变化。然而那将是相当愚蠢的。
以下是演示中的一些示例图表; http://munin.ping.uio.no/ping.uio.no/colosseum.ping.uio.no/index.html#disk
您还应该安装 smartd 工具来捕获任何即将发生的磁盘故障,我认为它不止一次帮助我解决了问题。