work related

August 03, 2009

calculating raw utilization

As per my last entry I've been coming up with a method of visualizing the raw utilization of our storage filers.

The numbers them selves say a whole lot.. but I wont (can't) go into that here other than the value I see is very scary.

I'll quickly go over the algorithm I used to arrive at this number though just to make sure I'm getting what I think I'm getting

First lets define the raw utilization notion. This in my understanding would be the overall used space divided by the complete space passable (irregardless of raid overhead, spares etc). So this would look something like:
%utilization = ((used space) / SUM(all-disks-raw-space))*100

Here is the sudo code I came up with to collect this info via SNMP

calc_filer_space {
  raw=0
  used=0
  #gets raw disk info
  snmp get raidPTable
  foreach @disk
   add value to raw
  #gets raw spare info
  snmp get spareTable
  foreach @spare
   add value to raw
  #gets usage info
  snmp get dfTable
  foreach @aggr
   add value to used
  return(raw,used)
   

Now we just loop each filer through this routine adding up the raw and used return values into a more global space and perform a final calculation to arrive at the total utilization percent.

This added about 23 seconds on to the run time of this filer monitor script so I think I need to flag this option or run this out of band.