物理与逻辑磁盘交易

我试图分析一组虚拟机的服务器需求。 我们正在使用LVM,因此iostat显示逻辑卷和物理磁盘的数字,而且它们在事务级别上通常不匹配,我试图决定哪个指标很重要:tps或总块读+书面,并为物理驱动器或lv? 我的猜测是物理驱动器的总块,但tps将考虑到块不会,这将是非常重要的,因为关键的决定是我们是否可以逃脱在一个旋转磁盘arrays而不是闪光灯他们目前的驱动器(我们即将增加一倍的存储空间)。

“iostat 10”输出:

avg-cpu: %user %nice %system %iowait %steal %idle 2.38 1.35 1.40 0.69 0.00 94.19 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sdb 225.48 2922.30 3511.65 79987371570 96118589648 sda 1.92 11.86 39.47 324647920 1080458180 dm-0 5.00 10.57 38.62 289229114 1057115528 dm-1 0.27 1.29 0.85 35343720 23342584 dm-3 414.45 1501.13 3393.89 41087911850 92895186296 avg-cpu: %user %nice %system %iowait %steal %idle 7.74 0.06 4.88 0.63 0.00 86.69 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sdb 259.54 527.47 28098.30 5280 281264 sda 1.20 0.00 20.78 0 208 dm-0 2.60 0.00 20.78 0 208 dm-1 0.00 0.00 0.00 0 0 dm-3 3515.48 527.47 28097.50 5280 281256 avg-cpu: %user %nice %system %iowait %steal %idle 3.00 0.04 0.56 0.43 0.00 95.98 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sdb 96.20 893.69 2175.78 8928 21736 sda 0.70 0.80 19.22 8 192 dm-0 2.40 0.00 19.22 0 192 dm-1 0.10 0.80 0.00 8 0 dm-3 267.77 893.69 2175.78 8928 21736 avg-cpu: %user %nice %system %iowait %steal %idle 2.80 0.01 0.64 0.73 0.00 95.83 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sdb 110.50 1284.80 2376.00 12848 23760 sda 0.80 0.00 15.20 0 152 dm-0 1.90 0.00 15.20 0 152 dm-1 0.00 0.00 0.00 0 0 dm-3 272.30 1284.80 2376.00 12848 23760 

这个回答说,linux内核在进入物理卷(PV)级别之前优化事务,因此tps值不同。

存储性能要求准则(适用于大多数系统 – 并非所有!):

  • 应以一个月或甚至一年的规模确定高峰; 像iostat,sar这样的工具需要一些脚本来处理; Zabbix图表会更好
  • 随机IOps率通常是至关重要的; 大概是tps ,当你看PV( sda ,而不是dm-3
  • 读吞吐量( Blk_read/s )主要与完全备份有关
  • 写入吞吐量( Blk_wrtn/s )主要与从备份恢复相关; 通常在收集工具中是不可见的

物理卷的TPS总和接近IOPS。 随机IOPS,因为每个虚拟机都在对底层存储的不同部分进行IO操作。 您可能会从主轴中获得100个随机IOPS,每GB成本更低。 更多的是固态存储,每IOPS成本更低。

你能摆脱什么取决于你的性能和容量的需求,受到诸如你的arrays中有多less个磁盘适合​​以及你想花费多less电力的限制。

如果你想,比如1毫秒的响应时间,这意味着固态。 即使是最好的主轴arrays,对于高速caching未命中而言,也很难获得低的单位毫秒响应时间