NetApp 2.4TB volume

Post support questions that directly relate to Linux/Unix operating systems.

Moderators: Developers, Moderators

rodjeur
Posts: 2
Joined: Fri May 16, 2008 3:12 am

Post by rodjeur »

duckhead wrote:NetApp's are a PITA when it comes to SNMP. They steadfastly refuse to support anything other than SNMPv1. V1 only goes as high as a 32-bit integer, and overflows around 4 TB. So, as a workaround, they supply some OID's in their MIB that let you query the space. You have to read 2 MIB values in their custom MIB, and do some math.

You can read more about it here:

http://now.netapp.com/NOW/cgi-bin/bol?T ... play=80268

The math you need is:

Code: Select all

Total = High * ((dfLowBytes < 0) + 1) * 2^32 + Low
Hello,

I know, the topic is old...but I'm trying to manage a NetApp NAS and submit some SNMP requests. And I have the same problem because the disk space is upper than 2TB. And I have negative values for the OIDs
"dfKBytesTotal":

Code: Select all

snmpwalk -v 1 -c xxx 192.168.14.155 .1.3.6.1.4.1.789.1.5.4.1.15
SNMPv2-SMI::enterprises.789.1.5.4.1.15.1 = INTEGER: -390004580
I've found this topic but I don't understand the formula above: what's for
"(dfLowBytes < 0)" ?

And the link to NetApp document is protected :-(

Thanks for any response...
rodjeur
Posts: 2
Joined: Fri May 16, 2008 3:12 am

A response...

Post by rodjeur »

OK, I've found a solution. I give it if somebody else is confronted to the same problem one day(it's possibly like the formula upper):

- retrieve the two values in the OIDs "High" and "Low" corresponding to the data you want know the size,
- in a bash script, use this code:

Code: Select all

((High &= 0x7FFFFFFF))
[ 0 -gt "${Low}" ] && ((Low += 0x100000000))
((value=(High << 32) + Low))
You'll have the good result in the variable "value"...
Jagy
Posts: 10
Joined: Tue Nov 11, 2008 8:05 am

Post by Jagy »

can anyone explain me step by step how to use this templates on NetApp storage, and do it include function to convert negative numbers to correct space usage?
I tried to implement it, but it's not work
what i do:
1. imported templates over web
2. create new host
3. added graph template NetApp - Storage Volume Usage
When i go in debug mode, i got error:
RRDTool Command:

/usr/bin/rrdtool graph - \
--imgformat=PNG \
--start=-86400 \
--end=-300 \
--title="napp1_1 - |query_FileSys| - Volume Usage" \
--rigid \
--base=1024 \
--height=120 \
--width=500 \
--alt-autoscale-max \
--lower-limit=0 \
--vertical-label="bytes" \
--slope-mode \
--font TITLE:12: \
--font AXIS:8: \
--font LEGEND:10: \
--font UNIT:8: \
DEF:a="/var/www/cacti/rra/napp1_1_kbytestotal_259.rrd":KBytesUsed:AVERAGE \
DEF:b="/var/www/cacti/rra/napp1_1_kbytestotal_259.rrd":KBytesAvail:AVERAGE \
CDEF:cdefa=,1024,* \
CDEF:cdefe=,1024,* \
CDEF:cdefi=TIME,1227709802,GT,a,a,UN,0,a,IF,IF,TIME,1227709802,GT,b,b,UN,0,b,IF,IF,+,1024,* \
AREA:cdefa#F51D30FF:"Used" \
GPRINT:cdefa:LAST:"Current%8.2lf %s" \
GPRINT:cdefa:AVERAGE:"Average%8.2lf %s" \
GPRINT:cdefa:MAX:"Maximum%8.2lf %s\n" \
AREA:cdefe#002A97FF:"Free":STACK \
GPRINT:cdefe:LAST:"Current\:%8.2lf %s" \
GPRINT:cdefe:AVERAGE:"Average%8.2lf %s" \
GPRINT:cdefe:MIN:"Maximum%8.2lf %s\n" \
GPRINT:cdefi:LAST:"Total%8.2lf %s"

RRDTool Says:ERROR: invalid rpn expression in: ,1024,*

HOW to make it work?
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

The CDEF is wrong. So please check the Graph Template to find all CDEFs used on your graph template items. Please verify, that those graph template items are related to the correct data source
Reinhard
TommyGun
Posts: 12
Joined: Mon Jul 11, 2011 8:08 am

Re:

Post by TommyGun »

Laffer wrote:Here I have done the work with the CDEF's, but the Total Size is still wrong! Anybody suggestions?
How does this work?

Within Cacti i can see that "NetApp - Storage Volume Usage" ( from http://forums.cacti.net/about5954.html ) says "Signed-to-Unsigned_Integer Multiply by 1024" at "(KBytesAvail): Free".

However, it's still incorrect...

What else can i do?

Image
Total 3600GB
Free 3082GB

Image
Total 5099GB
Free 3624GB

Thanks in advance.
Last edited by TommyGun on Mon Jul 11, 2011 8:19 am, edited 1 time in total.
TommyGun
Posts: 12
Joined: Mon Jul 11, 2011 8:08 am

Re: A response...

Post by TommyGun »

rodjeur wrote:OK, I've found a solution. I give it if somebody else is confronted to the same problem one day(it's possibly like the formula upper):

- retrieve the two values in the OIDs "High" and "Low" corresponding to the data you want know the size,
- in a bash script, use this code:

Code: Select all

((High &= 0x7FFFFFFF))
[ 0 -gt "${Low}" ] && ((Low += 0x100000000))
((value=(High << 32) + Low))
You'll have the good result in the variable "value"...
How to get these OID's?

And can you automate this?
noname
Cacti Guru User
Posts: 1566
Joined: Thu Aug 05, 2010 2:04 am
Location: Japan

Re: NetApp 2.4TB volume

Post by noname »

FYI:
NETWORK-APPLIANCE-MIB

32bit counters

Code: Select all

dfHighTotalKBytes 1.3.6.1.4.1.789.1.5.4.1.14
dfLowTotalKBytes  1.3.6.1.4.1.789.1.5.4.1.15
dfHighUsedKBytes  1.3.6.1.4.1.789.1.5.4.1.16
dfLowUsedKBytes   1.3.6.1.4.1.789.1.5.4.1.17
dfHighAvailKBytes 1.3.6.1.4.1.789.1.5.4.1.18
dfLowAvailKBytes  1.3.6.1.4.1.789.1.5.4.1.19
64bit counters

Code: Select all

df64TotalKBytes 1.3.6.1.4.1.789.1.5.4.1.29
df64UsedKBytes  1.3.6.1.4.1.789.1.5.4.1.30
df64AvailKBytes 1.3.6.1.4.1.789.1.5.4.1.31
See also: http://forums.cacti.net/viewtopic.php?p=90290#p90290
TommyGun
Posts: 12
Joined: Mon Jul 11, 2011 8:08 am

Re: NetApp 2.4TB volume

Post by TommyGun »

You are referring to:

"convert 32bit signed to unsigned"
cdef=CURRENT_DATA_SOURCE,0,GE,CURRENT_DATA_SOURCE,4294967295,CURRENT_DATA_SOURCE,+,IF

"convert 32bit signed to unsigned, multiply by 1024"
Build on the brevious one, and multiply by 1024.

?

But how do i import these. Via the GUI it creates one large string, should i do this via the command line (i'm running Linux)?

Thanks.
noname
Cacti Guru User
Posts: 1566
Joined: Thu Aug 05, 2010 2:04 am
Location: Japan

Re: NetApp 2.4TB volume

Post by noname »

Ah, sorry if I confused you.
TommyGun wrote:You are referring to:

"convert 32bit signed to unsigned"
cdef=CURRENT_DATA_SOURCE,0,GE,CURRENT_DATA_SOURCE,4294967295,CURRENT_DATA_SOURCE,+,IF

"convert 32bit signed to unsigned, multiply by 1024"
Build on the brevious one, and multiply by 1024.

?
It means, if size of your storage is less than 4TB,
you can avoid to overflow (wrap around) counter by converting signed value to unsigned.

Otherwise, as you know, probably you should create custom script as Data Input Method to perform the above code.
TommyGun
Posts: 12
Joined: Mon Jul 11, 2011 8:08 am

Re: NetApp 2.4TB volume

Post by TommyGun »

Well 2 of my volumes are giving me a headache. One is almost 4TB and the other one over 5TB.

However it calculates the "usage" right, so ain't it possible to 'tell' Cacti how large the volumes are, after it can calculate the free size by itself?
noname
Cacti Guru User
Posts: 1566
Joined: Thu Aug 05, 2010 2:04 am
Location: Japan

Re: NetApp 2.4TB volume

Post by noname »

TommyGun wrote:However it calculates the "usage" right, so ain't it possible to 'tell' Cacti how large the volumes are, after it can calculate the free size by itself?
I'm not sure about it.
BTW, does your device supports 64-bit counter?
TommyGun
Posts: 12
Joined: Mon Jul 11, 2011 8:08 am

Re: NetApp 2.4TB volume

Post by TommyGun »

You mean the NetApp filer or the Linux machine running on it? I know SNMP v2 is giving me a time out, so using v1. Or didnt you mean that?
noname
Cacti Guru User
Posts: 1566
Joined: Thu Aug 05, 2010 2:04 am
Location: Japan

Re: NetApp 2.4TB volume

Post by noname »

>> You mean the NetApp filer or the Linux machine running on it?

64-bit counters such as df64TotalKBytes on NetApp.

- NetApp Community: NetApp SNMP MIBs (Google's cache)
Until DOT 7.3, ONTAP only supports SNMP v1, and thus can only handle 32-bit values. So you'll find if you look at the MIB file that many values that need more bits are split between high order and low order bits. So to get the true value, you have to combine the 2 values to get the real value.

Starting in ONTAP 7.3, ONTAP supports SNMP v3 which supports larger values.
Sorry, I don't have any NetApp appliances, so I cannot verify that.
TommyGun
Posts: 12
Joined: Mon Jul 11, 2011 8:08 am

Re: NetApp 2.4TB volume

Post by TommyGun »

The only entries in my filer's /etc/mib file that contain TotalKBytes are:
dfHighTotalKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.14.1
dfLowTotalKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.15.1
I don't have anything with df64 in it.

These output:

SNMPv2-SMI::enterprises.789.1.5.4.1.14.1 = INTEGER: 1
SNMPv2-SMI::enterprises.789.1.5.4.1.15.1 = INTEGER: 1062407440

But from which volume are these? The filer i'm testing on has 2 vols:

SNMPv2-SMI::enterprises.789.1.5.4.1.2.1 = STRING: "aggr1"
SNMPv2-SMI::enterprises.789.1.5.4.1.2.2 = STRING: "aggr1/.snapshot"
SNMPv2-SMI::enterprises.789.1.5.4.1.2.3 = STRING: "/vol/vol0/"
SNMPv2-SMI::enterprises.789.1.5.4.1.2.4 = STRING: "/vol/vol0/.snapshot"
SNMPv2-SMI::enterprises.789.1.5.4.1.2.5 = STRING: "/vol/vol4/"
SNMPv2-SMI::enterprises.789.1.5.4.1.2.6 = STRING: "/vol/vol4/.."

Filesystem total used avail capacity Mounted on
/vol/vol0/ 95GB 705MB 94GB 1% /vol/vol0/
/vol/vol0/.snapshot 23GB 46MB 23GB 0% /vol/vol0/.snapshot
/vol/vol4/ 5099GB 1536GB 3562GB 30% /vol/vol4/
snap reserve 0TB 0TB 0TB ---% /vol/vol4/..

Al tho, i have no idea how to separate these using the snmpwalk command.

"- retrieve the two values in the OIDs "High" and "Low" corresponding to the data you want know the size"

Some others:
dfHighAvailKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.18.1
dfHighSisSavedKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.26.1
dfHighSisSharedKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.24.1
dfHighTotalKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.14.1
dfHighUsedKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.16.1
dfIndex snmp.1.3.6.1.4.1.789.1.5.4.1.1.1
dfInodesFree snmp.1.3.6.1.4.1.789.1.5.4.1.8.1
dfInodesUsed snmp.1.3.6.1.4.1.789.1.5.4.1.7.1
dfKBytesAvail snmp.1.3.6.1.4.1.789.1.5.4.1.5.1
dfKBytesTotal snmp.1.3.6.1.4.1.789.1.5.4.1.3.1
dfKBytesUsed snmp.1.3.6.1.4.1.789.1.5.4.1.4.1
dfLowAvailKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.19.1
dfLowSisSavedKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.27.1
dfLowSisSharedKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.25.1
dfLowTotalKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.15.1
dfLowUsedKBytes snmp.1.3.6.1.4.1.789.1.5.4.1.17.1
Let me know if you want the output from all of the MIBs.

Thanks!
User avatar
Shawinkle
Posts: 5
Joined: Thu Dec 13, 2012 7:24 am
Location: Paris, FRANCE

Re: NetApp 2.4TB volume

Post by Shawinkle »

Hello guys.

I'm reading this forum and NetApp topics since a long time. But... I didn't see how to solve my problem.
As I've already seen in different topics/forums, it's impossible to graph "big" volumes. Here's an example :
Cacti graph
Cacti graph
graph_image.png (17.41 KiB) Viewed 6337 times
NetApp volume settings
NetApp volume settings
2012-12-14_101207.png (7.49 KiB) Viewed 6337 times
I tried to do some modifications into Cacti parameters, settings... but no result.

Julien.

"Help me Obiwan Kenobi, you're my only hope..." [Leia Organa]
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest