2014-12-24 // Nagios Monitoring - IBM SVC and Storwize (Update)
After upgrading our test IBM SAN Volume Controller (SVC) systems from version 7.3.0.7 to 7.3.0.8 or later, the previously described Nagios monitoring plugin (Nagios Monitoring - IBM SVC and Storwize) ceased to work. A quick check revealed that the “wbemcli
” command line tool from the Standards Based Linux Instrumentation project, which is used in the Nagios plugin to query the CIMOM server on the SVC or Storwize systems, would fail with the following error message:
$ /opt/sblim-wbemcli/bin/wbemcli -dx -noverify ecn https://user:pass@svc-test:5989/root/ibm * * /opt/sblim-wbemcli/bin/wbemcli: Http Exception: SSL connect error *
Re-checking the release notes, this sudden change in behaviour seemed to be explained by the fix:
SSL vulnerability CVE-2014-3566
Not really being that verbose a description, a quick look at the CVE-2014-3566 showed that this is a fix for the “POODLE” issue. So IBM probably switched off the support for the SSLv3 protocol in the SVC and Storwize code. But why would this cause the “wbemcli
” command line tool to fail? Here are the steps taken in an analysis of the issue:
First, i was trying to get the “
wbemcli
” command line tool to be a tad more verbose about what it is actually doing:$ /opt/sblim-wbemcli/bin/wbemcli -dx -noverify ecn https://user:pass@svc-test:5989/root/ibm To server: <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="EnumerateClassNames"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="ibm"></NAMESPACE></LOCALNAMESPACEPATH> <IPARAMVALUE NAME="DeepInheritance"><VALUE>TRUE</VALUE></IPARAMVALUE> </IMETHODCALL></SIMPLEREQ> </MESSAGE></CIM> * * /opt/sblim-wbemcli/bin/wbemcli: Http Exception: SSL connect error *
Not really an abundance of information in here too.
Getting the source code for and, while we're at it, updating the “
wbemcli
” command line tool from version 1.6.0 to 1.6.3. Spent some time looking through the source code and with the “gdb
” debugger to get a feeling for the general program flow and functions/methods being called. While looking through the source code i noticed the cURL debugging options are being set if a environment variable named “CURLDEBUG
” is set to “true
”. Later also found this mentioned in theChangeLog
file:$ CURLDEBUG=true /opt/sblim-wbemcli/bin/wbemcli -dx -noverify ecn https://user:pass@svc-test:5989/root/ibm To server: <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="EnumerateClassNames"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="ibm"></NAMESPACE></LOCALNAMESPACEPATH> <IPARAMVALUE NAME="DeepInheritance"><VALUE>TRUE</VALUE></IPARAMVALUE> </IMETHODCALL></SIMPLEREQ> </MESSAGE></CIM> * About to connect() to svc-test port 5989 (#0) * Trying 192.168.x.x... * connected * Connected to svc-test (192.168.x.x) port 5989 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * Unknown SSL protocol error in connection to svc-test:5989 * Closing connection #0 * SSL connect error * * /opt/sblim-wbemcli/bin/wbemcli: Http Exception: SSL connect error *
Now we know that we're encountering a “
Unknown SSL protocol error
” – not that helpful either.Searched the web for further information on how to debug the cURL library and found the debug.c example source code, which was very helpful. Incorperated it into the file “
CimCurl.cpp
”:- sblim-wbemcli-1.6.3_debug.patch
--- sblim-wbemcli-1.6.3_orig/CimCurl.cpp 2013-09-21 01:26:32.000000000 +0200 +++ sblim-wbemcli-1.6.3_new/CimCurl.cpp 2014-11-26 16:30:19.000000000 +0100 @@ -37,6 +37,100 @@ extern int waitTime; extern int expect100; +// Trace Begin +struct data { + char trace_ascii; /* 1 or 0 */ +}; + +static +void dump(const char *text, + FILE *stream, unsigned char *ptr, size_t size, + char nohex) +{ + size_t i; + size_t c; + + unsigned int width=0x10; + + if(nohex) + /* without the hex output, we can fit more on screen */ + width = 0x40; + + fprintf(stream, "%s, %010.10ld bytes (0x%08.8lx)\n", + text, (long)size, (long)size); + + for(i=0; i<size; i+= width) { + + fprintf(stream, "%04.4lx: ", (long)i); + + if(!nohex) { + /* hex not disabled, show it */ + for(c = 0; c < width; c++) + if(i+c < size) + fprintf(stream, "%02x ", ptr[i+c]); + else + fputs(" ", stream); + } + + for(c = 0; (c < width) && (i+c < size); c++) { + /* check for 0D0A; if found, skip past and start a new line of output */ + if (nohex && (i+c+1 < size) && ptr[i+c]==0x0D && ptr[i+c+1]==0x0A) { + i+=(c+2-width); + break; + } + fprintf(stream, "%c", + (ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.'); + /* check again for 0D0A, to avoid an extra \n if it's at width */ + if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) { + i+=(c+3-width); + break; + } + } + fputc('\n', stream); /* newline */ + } + fflush(stream); +} + +static +int my_trace(CURL *handle, curl_infotype type, + char *data, size_t size, + void *userp) +{ + struct data *config = (struct data *)userp; + const char *text; + (void)handle; /* prevent compiler warning */ + + switch (type) { + case CURLINFO_TEXT: + fprintf(stderr, "== Info: %s", data); + default: /* in case a new one is introduced to shock us */ + return 0; + + case CURLINFO_HEADER_OUT: + text = "=> Send header"; + break; + case CURLINFO_DATA_OUT: + text = "=> Send data"; + break; + case CURLINFO_SSL_DATA_OUT: + text = "=> Send SSL data"; + break; + case CURLINFO_HEADER_IN: + text = "<= Recv header"; + break; + case CURLINFO_DATA_IN: + text = "<= Recv data"; + break; + case CURLINFO_SSL_DATA_IN: + text = "<= Recv SSL data"; + break; + } + + dump(text, stderr, (unsigned char *)data, size, config->trace_ascii); + return 0; +} +// Trace End + // These are the constant headers added to all requests static const char *headers[] = { "Content-Type: application/xml; charset=\"utf-8\"", @@ -152,6 +246,11 @@ CURLcode rv; string sb; +// Trace Begin +struct data config; +config.trace_ascii = 1; +// Trace End + mUri = url.scheme + "://" + url.host + ":" + url.port + "/cimom"; url.ns.toStringBuffer(sb,"%2F"); @@ -248,6 +347,11 @@ rv = curl_easy_setopt(mHandle, CURLOPT_WRITEHEADER, &mErrorData); rv = curl_easy_setopt(mHandle, CURLOPT_HEADERFUNCTION, headerCb); + +// Trace Begin + rv = curl_easy_setopt(mHandle, CURLOPT_DEBUGFUNCTION, my_trace); + rv = curl_easy_setopt(mHandle, CURLOPT_DEBUGDATA, &config); +// Trace End } static string getErrorMessage(CURLcode err)
rebuild the “
wbemcli
” command line tool and tried again:$ CURLDEBUG=true /opt/sblim-wbemcli/bin/wbemcli -dx -noverify ecn https://user:pass@svc-test:5989/root/ibm To server: <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="EnumerateClassNames"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="ibm"></NAMESPACE></LOCALNAMESPACEPATH> <IPARAMVALUE NAME="DeepInheritance"><VALUE>TRUE</VALUE></IPARAMVALUE> </IMETHODCALL></SIMPLEREQ> </MESSAGE></CIM> == Info: About to connect() to svc-test port 5989 (#0) == Info: Trying 192.168.x.x... == Info: connected == Info: Connected to svc-test (192.168.x.x) port 5989 (#0) == Info: found 172 certificates in /etc/ssl/certs/ca-certificates.crt == Info: gnutls_handshake() failed: A TLS packet with unexpected length was received. == Info: Closing connection #0 == Info: SSL connect error * * /opt/sblim-wbemcli/bin/wbemcli: Http Exception: SSL connect error *
Now we know there is an issue in the way the GnuTLS library used by libcURL interacts with the CIMOM server on the SVC or Storwize systems.
Again, searching the web for similar issues with the error message “
gnutls_handshake() failed: A TLS packet with unexpected length was received.
”, we find a rebuild against the OpenSSL library instead of the GnuTLS library could solve this issue:$ dpkg -l | grep curl ii curl 7.26.0-1+wheezy11 powerpc command line tool for transferring data with URL syntax ii libcurl3:powerpc 7.26.0-1+wheezy11 powerpc easy-to-use client-side URL transfer library (OpenSSL flavour) ii libcurl3-gnutls:powerpc 7.26.0-1+wheezy11 powerpc easy-to-use client-side URL transfer library (GnuTLS flavour) ii libcurl4-gnutls-dev 7.26.0-1+wheezy11 powerpc development files and documentation for libcurl (GnuTLS flavour) $ apt-get install libcurl4-openssl-dev Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: libcurl3-dbg The following packages will be REMOVED: libcurl4-gnutls-dev The following NEW packages will be installed: libcurl4-openssl-dev 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. Need to get 0 B/1,259 kB of archives. After this operation, 28.7 kB of additional disk space will be used. Do you want to continue [Y/n]? y (Reading database ... 65717 files and directories currently installed.) Removing libcurl4-gnutls-dev ... Processing triggers for man-db ... Selecting previously unselected package libcurl4-openssl-dev. (Reading database ... 65463 files and directories currently installed.) Unpacking libcurl4-openssl-dev (from .../libcurl4-openssl-dev_7.26.0-1+wheezy11_powerpc.deb) ... Processing triggers for man-db ... Setting up libcurl4-openssl-dev (7.26.0-1+wheezy11) ... $ dpkg -l | grep curl ii curl 7.26.0-1+wheezy11 powerpc command line tool for transferring data with URL syntax ii libcurl3:powerpc 7.26.0-1+wheezy11 powerpc easy-to-use client-side URL transfer library (OpenSSL flavour) ii libcurl3-gnutls:powerpc 7.26.0-1+wheezy11 powerpc easy-to-use client-side URL transfer library (GnuTLS flavour) ii libcurl4-openssl-dev 7.26.0-1+wheezy11 powerpc development files and documentation for libcurl (OpenSSL flavour)
Rebuild the “
wbemcli
” command line tool and tried again:$ CURLDEBUG=true /opt/sblim-wbemcli/bin/wbemcli -dx -noverify ecn https://user:pass@svc-test:5989/root/ibm To server: <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="EnumerateClassNames"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="ibm"></NAMESPACE></LOCALNAMESPACEPATH> <IPARAMVALUE NAME="DeepInheritance"><VALUE>TRUE</VALUE></IPARAMVALUE> </IMETHODCALL></SIMPLEREQ> </MESSAGE></CIM> == Info: About to connect() to svc-test port 5989 (#0) == Info: Trying 192.168.x.x... == Info: connected == Info: Connected to svc-test (192.168.x.x) port 5989 (#0) == Info: successfully set certificate verify locations: == Info: CAfile: none CApath: /etc/ssl/certs == Info: SSLv3, TLS handshake, Client hello (1): => Send SSL data, 0000000134 bytes (0x00000086) 0000: ......T.."\.~....`...K4.......p..7"&4...Z.....9.8.........5..... 0040: ................3.2.....E.D...../...A........................... 0080: ...... == Info: Unknown SSL protocol error in connection to svc-test:5989 == Info: Closing connection #0 == Info: SSL connect error * * /opt/sblim-wbemcli/bin/wbemcli: Http Exception: SSL connect error *
Now we know that the “
wbemcli
” command line tool is actually – as already suspected – trying to initiate a SSLv3 connection.In order to confirm we're on the right track, try to first verify manually that we're unable to connct with a SSLv3 secured connection:
$ openssl s_client -host svc-test -port 5989 -ssl3 CONNECTED(00000003) write:errno=104 --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 0 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE SSL-Session: Protocol : SSLv3 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: Key-Arg : None PSK identity: None PSK identity hint: None SRP username: None Start Time: 1418397594 Timeout : 7200 (sec) Verify return code: 0 (ok) --- quit
And that we're instead able to connect with a TLS secured connection:
$ openssl s_client -host svc-test -port 5989 CONNECTED(00000003) depth=0 C = GB, L = Hursley, O = IBM, OU = SSG, CN = 2145, emailAddress = support@ibm.com verify error:num=18:self signed certificate verify return:1 depth=0 C = GB, L = Hursley, O = IBM, OU = SSG, CN = 2145, emailAddress = support@ibm.com verify return:1 --- Certificate chain 0 s:/C=GB/L=Hursley/O=IBM/OU=SSG/CN=2145/emailAddress=support@ibm.com i:/C=GB/L=Hursley/O=IBM/OU=SSG/CN=2145/emailAddress=support@ibm.com --- Server certificate -----BEGIN CERTIFICATE----- MIICyDCCAjGgAwIBAgIEUAPzmTANBgkqhkiG9w0BAQUFADBqMQswCQYDVQQGEwJH QjEQMA4GA1UEBxMHSHVyc2xleTEMMAoGA1UEChMDSUJNMQwwCgYDVQQLEwNTU0cx DTALBgNVBAMTBDIxNDUxHjAcBgkqhkiG9w0BCQEWD3N1cHBvcnRAaWJtLmNvbTAe Fw0xMjA3MTYxMDU3MjlaFw0yNzA3MTMxMDU3MjlaMGoxCzAJBgNVBAYTAkdCMRAw DgYDVQQHEwdIdXJzbGV5MQwwCgYDVQQKEwNJQk0xDDAKBgNVBAsTA1NTRzENMAsG A1UEAxMEMjE0NTEeMBwGCSqGSIb3DQEJARYPc3VwcG9ydEBpYm0uY29tMIGfMA0G CSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3E7+7mE2GAID/35o5/s7cnzoqu9PQdOGB ryGMa8adD4Wd9hpmTkrsgyNvkUB6sPIifbFstGooOkQtK9ZNgP5OHOorZmqINSxM 9goCkSCQG9xRKAvNt2tA8gujaV+p42oVEhIH6naJUul96qZI31y3GffUu2CRrJL7 4wG/8cv0BQIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVu U1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUkPMkXUjn0YHlfQW8 TJiRC5jWQO4wHwYDVR0jBBgwFoAUkPMkXUjn0YHlfQW8TJiRC5jWQO4wDQYJKoZI hvcNAQEFBQADgYEAKqu7KpVxnOXonQE3unC1O7qUHKoyQUEWqcKsM/4tPI+lsBMZ jvoPwn8yQRWiLehFmVc8VSZfdFPLzshNabXp5qbZo/EFberXrgI2CbtPiULYyyyH DUhWF+vhwb6uqwfBbGncvTvI2ewU8+0oTXsuTkSjumJ7+chpaHFWWyj2cJA= -----END CERTIFICATE----- subject=/C=GB/L=Hursley/O=IBM/OU=SSG/CN=2145/emailAddress=support@ibm.com issuer=/C=GB/L=Hursley/O=IBM/OU=SSG/CN=2145/emailAddress=support@ibm.com --- No client certificate CA names sent --- SSL handshake has read 1029 bytes and written 498 bytes --- New, TLSv1/SSLv3, Cipher is AES256-GCM-SHA384 Server public key is 1024 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1.2 Cipher : AES256-GCM-SHA384 Session-ID: 48291D368E0A8584A8DFA00A9881B8979BDE370FC6C9439294C670695D031239 Session-ID-ctx: Master-Key: 71BD12A161FC595CD056DA8E6D6E27420F37468E47498B7591A403A86844C55F61FF02B2FEC7739FAAEDCE3DFEA0F217 Key-Arg : None PSK identity: None PSK identity hint: None SRP username: None TLS session ticket lifetime hint: 300 (seconds) TLS session ticket: 0000 - a0 e0 b1 9b c2 37 9a ca-49 1c 54 f5 26 4b d6 24 .....7..I.T.&K.$ 0010 - af 6a 7d cc 5e 4a 97 a8-b3 6d b7 66 0b b7 0a 65 .j}.^J...m.f...e 0020 - 47 af ef 47 76 fc c7 e9-38 ff 84 28 ca 8e 73 25 G..Gv...8..(..s% 0030 - 47 25 f6 0d 36 01 04 f1-f9 f7 0c b6 42 ef cf 09 G%..6.......B... 0040 - 64 8f df ff 89 38 ed 7c-ae 1d 0e 25 d1 c1 77 86 d....8.|...%..w. 0050 - b6 61 88 15 cf fe 9f 20-86 0d 17 74 18 da ea c0 .a..... ...t.... 0060 - 33 3a 47 f5 f9 51 24 ae-48 37 8a 3f 19 dd c6 04 3:G..Q$.H7.?.... 0070 - 7e d1 20 78 35 99 0b 9f-3b 1f ce 7c bc 11 93 e4 ~. x5...;..|.... 0080 - 0f 94 de 94 f1 0d 0c da-64 ca 0d f6 10 2a c8 fa ........d....*.. 0090 - dc 3e e4 1a 97 d1 34 7a-9c f5 c3 00 e8 1b 10 d7 .>....4z........ Start Time: 1418397614 Timeout : 300 (sec) Verify return code: 18 (self signed certificate) --- quit
The secured connection negotiated to TLS succeeded, so we're on the right track!
Now we need to find the spot in the source code, where the “
wbemcli
” command line tool is forced to initiate a SSLv3 connection. We know this is probably done in a cURL related function call, since libcURL is used for the network connection. So lets first look into the cURL code for all the lines showing any sign of SSL related operations:$ grep -n curl CimCurl.cpp | grep -i ssl 185: // Assume we support SSL if we don't have the curl_version_info API 276: rv = curl_easy_setopt(mHandle, CURLOPT_SSL_VERIFYHOST, 0); 277: // rv = curl_easy_setopt(mHandle, CURLOPT_SSL_VERIFYPEER, 0); 280: rv = curl_easy_setopt(mHandle, CURLOPT_SSLVERSION, 3); 441: if ((rv=curl_easy_setopt(mHandle,CURLOPT_SSL_VERIFYPEER,0))) { 448: if ((rv=curl_easy_setopt(mHandle,CURLOPT_SSL_VERIFYPEER,1))) { 466: if ((rv=curl_easy_setopt(mHandle,CURLOPT_SSLCERT,certificate))) { 470: if ((rv=curl_easy_setopt(mHandle,CURLOPT_SSLKEY,key))) {
Looks like a perfect match in line 280 of the file “
CimCurl.cpp
”. The line numbers are a bit off from the original source code, since the file “CimCurl.cpp
” was patched with our above debugging code. The code in the original, unpatched source file “CimCurl.cpp
”, within the function “CimomCurl::genRequest
” looks like this:- CimCurl.cpp
175 [...] 176 /* Disable SSL host verification */ 177 rv = curl_easy_setopt(mHandle, CURLOPT_SSL_VERIFYHOST, 0); 178 // rv = curl_easy_setopt(mHandle, CURLOPT_SSL_VERIFYPEER, 0); 179 180 /* Force using SSL V3 */ 181 rv = curl_easy_setopt(mHandle, CURLOPT_SSLVERSION, 3); 182 183 /* Set username and password */ 184 if (url.user.length() > 0 && url.password.length() > 0) { 185 mUserPass = url.user + ":" + url.password; 186 rv = curl_easy_setopt(mHandle, CURLOPT_USERPWD, mUserPass.c_str()); 187 } 188 [...]
In line 181 the cURL option “
CURLOPT_SSLVERSION
” is indiscriminately set to use SSLv3 and nothing else, which we know from the above deduction is bound to fail on systems adressing the “POODLE” issues.With the knowledge where the issue is actually caused, an easy quick'n'dirty fix can be implemented:
- sblim-wbemcli-1.6.3_debug.patch
--- sblim-wbemcli-1.6.3_orig/CimCurl.cpp 2013-09-21 01:26:32.000000000 +0200 +++ sblim-wbemcli-1.6.3/CimCurl.cpp 2014-11-26 16:46:09.000000000 +0100 @@ -178,7 +178,7 @@ // rv = curl_easy_setopt(mHandle, CURLOPT_SSL_VERIFYPEER, 0); /* Force using SSL V3 */ - rv = curl_easy_setopt(mHandle, CURLOPT_SSLVERSION, 3); + //rv = curl_easy_setopt(mHandle, CURLOPT_SSLVERSION, 3); /* Set username and password */ if (url.user.length() > 0 && url.password.length() > 0) {
Inserting the comment at the line where the cURL option “
CURLOPT_SSLVERSION
” is forced to SSLv3 causes libcURL to fall back to its default value, which is now TLS.Rebuild the “wbemcli” command line tool and tried again:
$ CURLDEBUG=true /opt/sblim-wbemcli/bin/wbemcli -dx -noverify ecn https://user:pass@svc-test:5989/root/ibm To server: <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="EnumerateClassNames"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="ibm"></NAMESPACE></LOCALNAMESPACEPATH> <IPARAMVALUE NAME="DeepInheritance"><VALUE>TRUE</VALUE></IPARAMVALUE> </IMETHODCALL></SIMPLEREQ> </MESSAGE></CIM> * About to connect() to svc-test port 5989 (#0) * Trying 192.168.x.x... * connected * Connected to svc-test (192.168.x.x) port 5989 (#0) * found 172 certificates in /etc/ssl/certs/ca-certificates.crt * server certificate verification SKIPPED * common name: 2145 (does not match 'svc-test') * server certificate expiration date OK * server certificate activation date OK * certificate public key: RSA * certificate version: #3 * subject: C=GB,L=Hursley,O=IBM,OU=SSG,CN=2145,EMAIL=support@ibm.com * start date: Mon, 16 Jul 2012 10:57:29 GMT * expire date: Tue, 13 Jul 2027 10:57:29 GMT * issuer: C=GB,L=Hursley,O=IBM,OU=SSG,CN=2145,EMAIL=support@ibm.com * compression: NULL * cipher: AES-128-CBC * MAC: SHA1 * Server auth using Basic with user 'user' > POST /cimom HTTP/1.1 Authorization: Basic enp6bmFnaW9zOm5hZ2lvcw== Host: svc-test:5989 Content-Type: application/xml; charset="utf-8" Connection: Keep-Alive, TE CIMProtocolVersion: 1.0 CIMOperation: MethodCall CIMMethod: EnumerateClassNames CIMObject: root%2Fibm Content-Length: 396 * upload completely sent off: 396 out of 396 bytes * additional stuff not fine transfer.c:1037: 0 0 * HTTP 1.1 or later with persistent connection, pipelining supported < HTTP/1.1 200 OK < Content-Type: application/xml; charset="utf-8" From server: Content-Type: application/xml; charset="utf-8" < content-length: 0000072284 From server: content-length: 0000072284 < CIMOperation: MethodResponse From server: CIMOperation: MethodResponse < * Connection #0 to host svc-test left intact From server: <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"> <SIMPLERSP> <IMETHODRESPONSE NAME="EnumerateClassNames"> <IRETURNVALUE> <CLASSNAME NAME="CIM_ConcreteIdentity"/> <CLASSNAME NAME="CIM_NetworkPacketAction"/> <CLASSNAME NAME="CIM_CollectionInSystem"/> [...] $ /opt/sblim-wbemcli/bin/wbemcli -noverify ecn https://user:pass@svc-test:5989/root/ibm svc-test:5989/root/ibm:CIM_ConcreteIdentity svc-test:5989/root/ibm:CIM_NetworkPacketAction svc-test:5989/root/ibm:CIM_CollectionInSystem svc-test:5989/root/ibm:CIM_DeviceSAPImplementation svc-test:5989/root/ibm:CIM_ProtocolControllerAccessesUnit svc-test:5989/root/ibm:CIM_ControlledBy [...]
Great, now we're finally able to query and monitor the IBM SVC or Storwize systems again with the Nagios monitoring plugin (Nagios Monitoring - IBM SVC and Storwize)!
Between first noticing and researching the issue and creating the quick'n'dirty fix shown above, an official bug report has been filed on the issue and a patch has already been submitted to the source code repository in order to adress the issue more thoroughly. Hopefully an updated official source code package will be released soon.
Nonetheless, the process of researching and debugging this issue was an excellent hands on exercise for me, which i enjoyed very much. Hopefully the steps taken and described here, will turn out to be of use for others as well.
2014-12-09 // HMC Update to 7.7.9.0 SP1
Like before with HMC Update to 7.7.5.0, HMC Update to 7.7.7.0 SP1 and HMC Update to 7.7.8.0, the recent HMC update to v7.7.9.0 was again not installable directly from the ISO images via the HMC GUI. Along with the HMC network installation images which are now mentioned in the release notes, there is now also an official documentation of the update procedure using the HMC network installation images. It's called “HMC network installation” and provides a more remote admin friendly way of performing the update. Since it's only a slightly shortened version of the procedure i already tested and used in HMC Update to 7.7.7.0 SP1, i decided to stick with my own procedure.
Also a turn for the better is, that now the release notes as well as FixCentral clearly point out the dependencies between the fixpacks that are supposed to go on top of the update release and the order they are supposed to be applied in. In case of MH01405 (aka V7R7.9.0.0) this is currently only MH01428 (aka V7R7.9.0.1 or v7.7.9.0 SP1.
As always, be sure to study the release notes thoroughly before an update attempt. Depending on your environment and HMC hardware there might be a road block in there. Special attention deserves item 2 in the “upgrade notes” section of the release notes of MH01405. Due to a bug in certain Power Systems firmware levels, there is a dependency between the usable HMC version and the firmware version on the managed system. Be sure to check if your managed systems firmware levels fall in the affected version ranges. For me this meant first upgrading certain managed systems to firmware levels not affected by the above bug. Then upgrading the HMCs to v7.7.9.0 SP1. And finally upgrading certain other managed systems to firmware levels depending on HMC version v7.7.9.0 or later. The latter dependency was - besides the fixed security issues - the main reason to upgrade the HMC in the first place.
For reference purposes, here are some example screen shots from a KVM session to the HMC during a update to MH01405:
After the upgrade to v7.7.9.0 (MH01405) was complete and the HMC had rebooted, the following errors showed up:
There are not a lot of resources on this particular error, but it seems to occationally have occurred on earlier HMC upgrades as well. Up to now there seems to be no negative effect resulting from this error.
After the upgrade to V7R7.9.0.0 (MH01405) is complete, you can apply the service pack V7R7.9.0.1 (MH01428) in the usual way via the HMC GUI. For me the service pack showed the following output during the update process:
MH01428:
Management console corrective service installation in progress. Please wait... Corrective service file offload from remote server in progress... The corrective service file offload was successful. Continuing with HMC service installation... Verifying Certificate Information Authenticating Install Packages Installing Packages --- Installing ptf-req .... --- Installing RSCT .... src-3.1.4.10-14056 rsct.core.utils-3.1.4.10-14056 rsct.core-3.1.4.10-14056 rsct.service-3.5.0.0-1 rsct.basic-3.1.4.10-14056 --- Installing CSM .... csm.core-1.7.1.20-1 csm.deploy-1.7.1.20-1 csm_hmc.server-1.7.1.20-1 csm_hmc.hdwr_svr-7.0-3.4.0 csm_hmc.client-1.7.1.20-1 csm.server.hsc-1.7.1.20-1 --- Installing LPARCMD .... hsc.lparcmd-3.3.0.1-3 ln: creating symbolic link `/usr/hmcrbin/lsnodeid': File exists ln: creating symbolic link `/usr/hmcrbin/lsrsrc-api': File exists ln: creating symbolic link `/usr/hmcrbin/mkrsrc-api': File exists ln: creating symbolic link `/usr/hmcrbin/rmrsrc-api': File exists --- Installing Pegasus .... --- Updating baseOS .... cp: cannot stat `.dev': No such file or directory PreInstalling HMC REST Web Services ... Installing HMC REST Web Services ... pmc.core-7.7.9.0-20140312T2001 pmc.soliddb-7.7.9.0-20140312T2001 pmc.wlp-7.7.9.0-20140312T2001 pmc.wlp.soliddriver-7.7.9.0-20140312T2001 pmc.wlp.log4j-7.7.9.0-20140312T2010 pmc.wlp.guava-7.7.9.0-20140312T2010 pmc.wlp.jaxb2.runtime-7.7.9.0-20140312T2010 pmc.wlp.slf4j.api-7.7.9.0-20140312T2002 pmc.wlp.quartz-7.7.9.0-20140312T2015 pmc.wlp.commons-7.7.9.0-20140312T2013 pmc.war.rest-7.7.9.0-20140312T2002 pmc.soliddb.rest.sql-7.7.9.0-20140312T2010 pmc.soliddb.pcm.sql-7.7.9.0-20140312T2015 pmc.pcm.rest-7.7.9.0-20140312T2010 pmc.ui.developer-7.7.9.0-20140312T2015 D: opening db environment /var/lib/rpm/Packages create:cdb:mpool:private D: opening db index /var/lib/rpm/Packages rdonly mode=0x0 D: locked db index /var/lib/rpm/Packages D: opening db index /var/lib/rpm/Name rdonly:nofsync mode=0x0 D: read h# 849 Header SHA1 digest: OK (f280a38b206c3192103a5f4050991e1690ed43ea) D: ========== recording tsort relations D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth) D: 0 0 0 0 1 0 -pmc.sem.war-7.7.9.0-20140312T2009.i386 D: closed db index /var/lib/rpm/Name D: closed db index /var/lib/rpm/Packages D: closed db environment /var/lib/rpm/Packages D: opening db environment /var/lib/rpm/Packages create:cdb:mpool:private D: opening db index /var/lib/rpm/Packages create mode=0x42 D: locked db index /var/lib/rpm/Packages D: sanity checking 1 elements D: running pre-transaction scripts D: computing 95 file fingerprints D: computing file dispositions D: opening db index /var/lib/rpm/Basenames create:nofsync mode=0x42 D: read h# 931 Header SHA1 digest: OK (91c4128792b6b1d92318612e35f0d99c2b09bc41) D: read h# 932 Header SHA1 digest: OK (28745eb2d1d7a376c9cd9b457d024887849da559) D: read h# 933 Header SHA1 digest: OK (37f012c206c4a6cf6335be71d34ff09c0538d5b5) D: read h# 934 Header SHA1 digest: OK (9561ea0f53cff788ccf4a3f58655aff9a4d63bf3) D: read h# 935 Header SHA1 digest: OK (5718f74492d5e0af6858146bb5b72f588b0da4ab) D: read h# 936 Header SHA1 digest: OK (3a41ff5853613da4930e18097f657efb3a3b296f) D: read h# 937 Header SHA1 digest: OK (473cf0fe9c2b6f3458c180f1a8b206ed12f97536) D: read h# 938 Header SHA1 digest: OK (8b83dc36fa9ba3ee8a3454f00c0c1d3456794463) D: read h# 939 Header SHA1 digest: OK (76e2814d26d19030ca280e3a87c64a63f6db4939) D: read h# 940 Header SHA1 digest: OK (0bbd68866852e41a9813d4e95ae6f4af33316ad8) D: read h# 941 Header SHA1 digest: OK (88ca29e0d1812cccfd2a8729a9ae474366840cd0) D: read h# 942 Header SHA1 digest: OK (11fb71feb49795a55b8d4775dd3a87efa23ae085) D: read h# 943 Header SHA1 digest: OK (a65291baf06e105125843c7d9345284a4d036225) D: read h# 944 Header SHA1 digest: OK (fcf30711bf354a554a7a639bf634865a4a07dc35) D: read h# 945 Header SHA1 digest: OK (29769b20afd49242a01ba84d069521dac74bcb99) D: ========== --- pmc.sem.war-7.7.9.0-20140312T2009 i386-linux 0x0 D: erase: pmc.sem.war-7.7.9.0-20140312T2009 has 95 files, test = 0 D: opening db index /var/lib/rpm/Name create:nofsync mode=0x42 D: read h# 849 Header SHA1 digest: OK (f280a38b206c3192103a5f4050991e1690ed43ea) D: opening db index /var/lib/rpm/Triggername create:nofsync mode=0x42 D: erase: %preun(pmc.sem.war-7.7.9.0-20140312T2009.i386) asynchronous scriptlet start D: erase: %preun(pmc.sem.war-7.7.9.0-20140312T2009.i386) execv(/bin/sh) pid 16142 D: erase: waitpid(16142) rc 16142 status 0 secs 0.001 D: fini 100755 1 ( 504,1004) 662 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/theme/feed.css D: fini 100755 1 ( 504,1004) 625 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/theme/Master.css D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/theme D: fini 100755 1 ( 504,1004) 2121 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/feed.xsl D: fini 100755 1 ( 504,1004) 1704 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/web.xml D: fini 100755 1 ( 504,1004) 57211 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/wink-client-1.2.0-incubating.jar D: fini 100755 1 ( 504,1004) 679719 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.workhorse.templates-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 404664 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.workhorse.templates-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 35865 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.servlet.templates-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 29188 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.servlet.templates-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 26675 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.servlet.jdbc-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 128797 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.servlet.common-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 92119 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.servlet.common-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 41062 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.web.src-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 93348 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.web-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 349323 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.vios-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 182187 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.uom.src-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 509804 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.uom-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 120510 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.templates.src-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 415957 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.templates-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 90846 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.serviceableeventmanager.src-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 62845 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.schema.serviceableeventmanager-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 613724 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.westbound-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 643149 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.viosapi.rmc.handler-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 343001 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.viosapi.rmc.handler-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 55846 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.utils-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 31166 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.utils-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 1812 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.uom.vios-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 1787 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.uom.vios-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 399799 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.uom.phyp-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 247481 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.uom.phyp-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 15743 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.spi-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 10126 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.spi-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 22369 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.sem-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 13576 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.servlet.sem-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 62648 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.rest.provider-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 14607 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.resources-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 12268 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.resources-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 32880 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.logging.log4j-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 13132 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.logging-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 10638 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.logging-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 877816 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.web-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 294774 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.web-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 762319 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.vios-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 582466 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.vios-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 11266109 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.uom-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 2401072 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.uom-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 5042339 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.templates-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 1587400 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.templates-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 581709 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.serviceableeventmanager-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 197153 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.serviceableeventmanager-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 472045 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.reflection-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 145769 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.reflection-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 493817 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.api.server-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 280894 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.api.server-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 76060 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.api.common-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 41833 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.jaxb.api.common-7.7.9.0-src.jar D: fini 100755 1 ( 504,1004) 368989 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.cli.adapter-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 2061 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/pmc.annotations-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 1078246 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/dpsmapi-7.7.9.0.jar D: fini 100755 1 ( 504,1004) 243016 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/commons-lang-2.2.jar D: fini 100755 1 ( 504,1004) 65621 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/commons-io-1.2.jar D: fini 100755 1 ( 504,1004) 232771 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/commons-codec-1.6.jar D: fini 100755 1 ( 504,1004) 713 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib/.jazzignore D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/lib D: fini 100755 1 ( 504,1004) 4892 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/geronimo-web.xml D: fini 100755 1 ( 504,1004) 5963 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/log4j2.xml D: fini 100755 1 ( 504,1004) 1378 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/com/ibm/pmc/war/servlet/applications/sem/SemServletApplication.class D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/com/ibm/pmc/war/servlet/applications/sem D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/com/ibm/pmc/war/servlet/applications D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/com/ibm/pmc/war/servlet D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/com/ibm/pmc/war D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/com/ibm/pmc D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/com/ibm D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/com D: fini 100755 1 ( 504,1004) 764 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/ServletDaemonClassnames.properties D: fini 100755 1 ( 504,1004) 771 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/REST_Servlet.properties.SAMPLE D: fini 100755 1 ( 504,1004) 967 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/META-INF/wink-alternate-shortcuts.properties D: fini 100755 1 ( 504,1004) 0 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/META-INF/server/wink-providers D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/META-INF/server D: fini 100755 1 ( 504,1004) 363 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/META-INF/persistence.xml D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes/META-INF D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF/classes D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/WEB-INF D: fini 100755 1 ( 504,1004) 275 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/META-INF/MANIFEST.MF D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war/META-INF D: fini 040755 2 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps/PMC_SEM.war D: fini 040755 7 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc/apps skip D: fini 040755 8 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers/pmc skip D: fini 040755 6 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr/servers skip D: fini 040755 4 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5/usr skip D: fini 040755 9 ( 504,1004) 4096 /opt/pmc/lib/share/wlp-8.5.5 skip D: fini 040755 4 ( 504,1004) 4096 /opt/pmc/lib/share skip D: fini 040755 3 ( 504,1004) 4096 /opt/pmc/lib skip D: fini 040755 8 ( 504,1004) 4096 /opt/pmc skip D: erase: %postun(pmc.sem.war-7.7.9.0-20140312T2009.i386) asynchronous scriptlet start D: erase: %postun(pmc.sem.war-7.7.9.0-20140312T2009.i386) execv(/bin/sh) pid 16145 + . /opt/pmc/bin/rpmScripts.include ++ EZLOG=/var/hsc/log/EZBuild.rpm.log ++ BASENAME=/usr/bin/basename ++ CAT=/bin/cat ++ CHMOD=/bin/chmod ++ CHOWN=/bin/chown ++ CP=/bin/cp ++ DATE='/bin/date --rfc-3339=seconds' ++ DIRNAME=/usr/bin/dirname ++ ECHO=/bin/echo ++ FIND=/usr/bin/find ++ GREP=/usr/bin/grep ++ LN=/bin/ln ++ MKDIR=/bin/mkdir ++ RM='/bin/rm -v' ++ RUNASROOT=/opt/ccfw/bin/framework/runAsRoot ++ TAR=/bin/tar ++ WC=/usr/bin/wc ++ UNZIP=/usr/bin/unzip ++ MV=/bin/mv + setupPMC + PMC_ROOT=/opt/pmc + PMC_BIN=/opt/pmc/bin + PMC_CONFIG=/opt/pmc/config + PMC_LIB=/opt/pmc/lib + PMC_LIB_SHARE=/opt/pmc/lib/share + PMC_LIB_WLP=/opt/pmc/lib/wlp + PMC_LIB_SOLIDDB=/opt/pmc/lib/soliddb + PMC_LOG=/opt/pmc/log + PMC_TMP=/opt/pmc/tmp + setupWLP + WLP_ROOT=/opt/pmc/lib/wlp + WLP_CONFIG_DIR=/opt/pmc/config/wlp + WLP_LOG_DIR=/opt/pmc/log/wlp + WLP_CONFIG_DIR=/opt/pmc/config/wlp + WLP_VERSION=8.5.5 + WLP_SHARE_ROOT=/opt/pmc/lib/share/wlp-8.5.5 + WLP_SERVER_ROOT=/opt/pmc/lib/wlp/usr/servers/pmc + WLP_PMC_CONTRIB=/opt/pmc/lib/wlp/usr/servers/pmc/libs/pmc-contrib/ + WLP_SERVER_LOGS=/var/hsc/log/wlp + WLP_SERVER_APPS=/opt/pmc/lib/wlp/usr/servers/pmcapps/ + HMC_PLUGINJARS_DIR=/usr/websm/codebase/pluginjars + RPM_NAME=pmc.sem.war + write_to_log START: RPM postUnInstall for pmc.sem.war ++ /bin/date --rfc-3339=seconds + echo '2014-12-04 22:24:13+01:00 START: RPM postUnInstall for pmc.sem.war' + /opt/pmc/bin/removeWARfromWLPserverxml.sh PMC_SEM_WAR + write_to_log removing of REST war is done ++ /bin/date --rfc-3339=seconds + echo '2014-12-04 22:24:13+01:00 removing of REST war is done' + write_to_log STOP: RPM postUnInstall for pmc.sem.war ++ /bin/date --rfc-3339=seconds + echo '2014-12-04 22:24:13+01:00 STOP: RPM postUnInstall for pmc.sem.war' D: erase: waitpid(16145) rc 16145 status 0 secs 0.016 D: --- h# 849 pmc.sem.war-7.7.9.0-20140312T2009 D: removing "pmc.sem.war" from Name index. D: removing 95 entries from Basenames index. D: opening db index /var/lib/rpm/Group create:nofsync mode=0x42 D: removing "pmc" from Group index. D: opening db index /var/lib/rpm/Requirename create:nofsync mode=0x42 D: removing 5 entries from Requirename index. D: opening db index /var/lib/rpm/Providename create:nofsync mode=0x42 D: removing "pmc.sem.war" from Providename index. D: opening db index /var/lib/rpm/Dirnames create:nofsync mode=0x42 D: removing 24 entries from Dirnames index. D: opening db index /var/lib/rpm/Requireversion create:nofsync mode=0x42 D: removing 5 entries from Requireversion index. D: opening db index /var/lib/rpm/Provideversion create:nofsync mode=0x42 D: removing "0:7.7.9.0-20140312T2009" from Provideversion index. D: opening db index /var/lib/rpm/Installtid create:nofsync mode=0x42 D: removing 1 entries from Installtid index. D: opening db index /var/lib/rpm/Sigmd5 create:nofsync mode=0x42 D: removing 1 entries from Sigmd5 index. D: opening db index /var/lib/rpm/Sha1header create:nofsync mode=0x42 D: removing "f280a38b206c3192103a5f4050991e1690ed43ea" from Sha1header index. D: opening db index /var/lib/rpm/Filemd5s create:nofsync mode=0x42 D: removing 95 entries from Filemd5s index. D: running post-transaction scripts D: closed db index /var/lib/rpm/Filemd5s D: closed db index /var/lib/rpm/Sha1header D: closed db index /var/lib/rpm/Sigmd5 D: closed db index /var/lib/rpm/Installtid D: closed db index /var/lib/rpm/Provideversion D: closed db index /var/lib/rpm/Requireversion D: closed db index /var/lib/rpm/Dirnames D: closed db index /var/lib/rpm/Triggername D: closed db index /var/lib/rpm/Providename D: closed db index /var/lib/rpm/Requirename D: closed db index /var/lib/rpm/Group D: closed db index /var/lib/rpm/Basenames D: closed db index /var/lib/rpm/Name D: closed db index /var/lib/rpm/Packages D: closed db environment /var/lib/rpm/Packages D: May free Score board((nil)) package pmc.sem.war is not installed Corrective service installation was successful.
For reference purposes, here are some example screen shots from a KVM session to the HMC during a update to MH01428:
The MH01428 update still shows error messages with regard to symlink creation appearing during the update process, which can be savely ignored. The error message “cp: cannot stat `.dev': No such file or directory
” is also becoming an old friend and originates from the shell script /images/installImages
inside the MH01428 installation ISO image, where non-existing files are attempted to be copied.
The strange output lines starting with “D:
”, “+
” and “++
” characters seemed awfully familiar, just like the output of a “rpm -vv
” command. From tracing down the call order of /images/installImages
inside the MH01428 installation ISO image:
- /images/installImages
448 449 if [ -f $image/installK2Payloads.sh ] 450 then 451 echo "Installing HMC REST Web Services ..." 452 $image/./installK2Payloads.sh $image 453 fi 454
to:
- /images/installK2Payloads.sh
4 5 LogFile=/tmp/K2Install.log 6 IndexFile=K2Payloads.txt 7 [...] 73 while read line 74 do 75 rpmToInstall=`echo $line | cut -d '/' -f 4` 76 rpmToUpdate=`echo $line | cut -d '/' -f 4 | cut -d '-' -f 1` 77 78 # pmc.sem.war needs to be uninstalled and then installed 79 if [ "$rpmToUpdate" == "pmc.sem.war" ]; then 80 /bin/rpm -evv $rpmToUpdate --nodeps --allmatches 81 fi 82 83 /bin/rpm -q $rpmToUpdate 84 if [ $? -eq 0 ]; then 85 /bin/rpm -vvh -U $rpmToInstall >> $LogFile 2>&1 86 else 87 /bin/rpm -vv -i $rpmToInstall >> $LogFile 2>&1 88 fi 89 done < $IndexFile
it seems the dubious output is due to a missing output redirection at the “rpm -evv pmc.sem.war
” command in line 80 in the above code snippet of “/images/installK2Payloads.sh
”. Since the uninstall of pmc.sem.war
is mentioned in the comment in line 78 and the uninstall process apparently finished successfully it can be savely ignored. Although from the above output and without privileged access to the HMCs OS its hard to verify, whether the RPM “pmc.sem.war-7.7.9.1-20140905T1656.i386.rpm
” was subsequently successfully re-installed. It can indirectly be verified by looking at the log entries written to the file “/tmp/K2Install.log
” in line 87 of the above code snippet. The contents of the log file “/var/hsc/log/EZBuild.rpm.log
” written from within the RPM install-/erase-time scriptlets could also be interesting in order to verify everything was re-installed properly.
Aside from the error and dubious messages mentioned above, we're currently not experiencing any issues with the new HMC version v7.7.9.0 SP1 (V7R7.9.0.1).
2014-11-23 // IBM SVC and experiences with Real-time Compression
We've been using the IBM SAN Volume Controller (SVC) for several years now (since about 2006). While the technological progress was a tad slow in the early years, development – probably along with popularity and more widespread use – of the SVC fortunately picked up considerable pace in recent years. For us the most interesting new features that emerged over time are the:
stretched cluster configuration, which seems to be far more popular in europe with its traditionally shorter distances between datacenters. It allows us to provide active-active access to host LUNs and thus considerably simplifying a resilient VMware environment.
synchronous VDisk mirroring, which allows us to provide mirrored LUNs that are independent of the storage vendor in the backend.
EasyTier, which allows us to utilize our TMS RamSan (now IBM Flash System) flash storage much more efficiently.
Real-time compression (RTC), which as well allows us to utilize our overall backend storage much more efficiently.
We also went through several cycles of node hardware, starting with our initial 2145-4F2 via the 2145-8F2 and the 2145-8G4 to our current 2145-CG8. Currently our overall environment looks like this:
Six 2145-CG8 nodes in three I/O groups.
A stretched cluster configuration covering two datacenters which are within a distance of about 300 meters of single-mode fibre length. A quorum storage on a third location on the same campus.
Dual fabric 8GB FC SAN consisting of four Brocade DCX-4S directors.
A total of six disk based storage systems from different vendors (HDS AMS2300, Fujitsu DX90, IBM V3700), one of each vendor in each datacenter, with a total capacity of about 260TB. The systems are typically sized and configured for multiple 4+1 or 8+1 RAID-5 arrays. The arrays are subsequently mapped entirely as LUNs to the SVC. All the LUNs from one disk storage system are pooled together into one MDiskGroup, forming a single, striped failure group.
A total of six flash based storage systems (TMS RamSan-630, TMS RamSan-810, IBM Flashsystem 820), one of each model in each datacenter, with a total capacity of about 34TB. The systems LUNs are also mapped to the SVC and all the LUNs from one flash storage are added to one disk based MDiskGroup for use as a SSD tier with EasyTier.
65 host systems (IBM xSeries, IBM BladeCenter and IBM Power), running either non-virtualized or virtualized (VMware, Xen, PowerVM) workloads.
291 VDisks, ranging from sizes of 1GB up to 4TB. Almost all VDisks are mirrored, exceptions are made where the application on the host prefers to do the mirroring or the replication itself (e.g. MS Exchange).
For about seven months – since the end of april 2014 – we've now been using Real-time compression (RTC). We started by implementing RPQ 8S1296 on all of our nodes. This added an additional 6-core CPU and 24GB memory to each node. As a result the “normal” SVC operation still uses four of the CPU-cores on the initially installed CPU and the RTC algorithm is dedicated eight CPU-cores – two on the initially and six on the additionally installed CPU. The SVC code version was v7.1.0.3 when we initially started testing and implementing RTC (see the screenshots below). After gradually converting more and more VDisks to compressed volumes, the CPU load of the RTC algorithm became quite noticable (30-60%). Along with that, a substancially increased latency (>10ms) could be observed. After updating the SVC code to v7.2.0.7, the CPU utilization dropped noticably to 10% and below. The latency also went back to the values (<2ms) usually observed before implementing RTC. There must have been quite an improvement in the RTC code, unfortunately IBM does not publish any such interesting details.
Over the course of implementing RTC, i took four series of screenshots from the SVC WebUI showing the compression allocation view at that particular point in time. They have been combined into the four following images showing all information at once, with the last one being a representation of the current situation:
One thing about the visual representation in the compression allocation view and the volume of RTC licensed storage – which confused me too at first – has to be noted. It seems that with regard to RTC licensing only the storage space allocated to primary VDisk volumes i.e. the unmirrored storage capacity is considered. From the information available on the matter at the time, both the corresponding sections from the “IBM EMEA Software Announcement ZP12-0235”:
The license entitles users for the quantity of terabytes of SVC volumes created with real-time compression enabled. The volume size (and not necessarily the amount of data you are able to store on that volume compressed) is the measure used to determine how many terabytes of 5641-CP1 to license.
and from the “Real-time Compression in SAN Volume Controller and Storwize V7000” redpaper:
In SAN Volume Controller, real-time compression is licensed by the total number of terabytes of virtual capacity, which is the amount of storage that the host sees.
are a bit ambiguous. At first the emphasis seems to be on the matter of uncompressed vs. compressed storage size. But on second thought, the key words “[…] the amount of storage that the host sees.” from the second quote come into play. Those basically say, that enabling RTC on secondary VDisk copies is free, since a host only sees the unmirrored amount of storage.
Example: In our setup each VDisk compressed with RTC has also a secondary copy, also compressed with RTC. There is currently only one exception in the form of a flash copy volume of 2750GB which is compressed, but not mirrored. The currently compressed virtual capacity is 62.67TB. The currently used RTC licenses is being reported as 32.68TB. The calculation is: ( 62.67TB - 2750GB ) / 2 + 2750GB = 32.68TB. Makes sense, doesn't it?
For the four cases shown in the images above, the average RTC+TP and RTC-only compression ratio, relative storage size after compression and relative storage saving have been calculated and are shown in the following table:
Sample | RTC plus Thin Provisioning | RTC only | ||||
---|---|---|---|---|---|---|
Ratio | Relative Size | Relative Saving | Ratio | Relative Size | Relative Saving | |
1 | 1:3.75 | 26.69% | 73.31% | 1:3.06 | 32.65% | 67.35% |
2 | 1:3.63 | 27.51% | 72.49% | 1:3.02 | 33.07% | 66.92% |
3 | 1:3.5 | 28.58% | 71.42% | 1:2.80 | 35.65% | 64.35% |
4 | 1:3.2 | 31.25% | 68.75% | 1:2.60 | 38.53% | 61.47% |
Although thin provisioning (TP) alone would amount to 16-20% storage saving on the overall average, the larger and quiet substancial effect of 64-67% of storage saving on the overall average can only be achieved with RTC. Needless to say, we're currently only using RTC on VDisks that promise to yield rather good compression results. This is done in order to save valueable licensed compression volume and to minimize the number of CPU cycles wasted on uncompressible data. For guidelines please see the recommendations in the redbook referenced below in the “Links & Resources” section. The VDisks have either been chosen by estimating the compressability with the comprestimator utility or by knowing the application data very well. VDisks which contain data with an inherent high entropy, like e.g. encrypted and compressed MS Exchange DAGs, repositories of already compressed installation media, compressed Windows system images or compressed AIX mksysb images, page compressed MS SQL data files or fileserver volumes with user data (docx, xlsx, pptx, zip, jpeg, mpeg, etc.) have been excluded from RTC for now. We're still investigating which way to ultimately go on the topic of MS SQL page compression vs. IBM SVC RTC. We're also still sorting out the “mess” of compressible and uncompressible data being mixed together within the same VMware datastores before converting some of them into RTC enabled VDisks. We'll probably end up with a mix of RTC enabled VDisks backing VMware datastores containing compression-friendly VMs and regular VDisks backing datastores containing high-entropy, less compressible VMs. It'll be interesting to see what the ratio between the two will be and which VM will fall into which category.
A detailed compilation of storage saving with RTC on a per VDisk basis is shown in the section Detailed per VDisk RTC data. The columns are pretty self-explainatory, with the most interesting columns being “Application Type”, “Size (%)” and “Saving (%)”. To get a better overview, a condensed view aggregated by “Application Type” was compliled. The following table shows the values aggregated by “Application Type”. The columns “Avg. Size (GB)” and “Avg. Compressed Size (GB)” show the arithmetic average for the VDisk size and compressed size. To be able to compare the different application types against each other, relative arithmetic averages were calculated (columns “Avg. Size (%)” and “vg. Saving (%)”). The columns “Min./Max. Size/Saving (%)” and “Samples” are provided to get an impression about the variability and the significance of the arithmetic averages.
Application Type | Avg. Size (GB) | Avg. Compressed Size (GB) | Min. Size (%) | Avg. Size (%) | Max. Size (%) | Min. Saving (%) | Avg. Saving (%) | Max. Saving (%) | Samples |
---|---|---|---|---|---|---|---|---|---|
AIX rootvg | 16.61 | 5.53 | 9.38 | 33.29 | 73.44 | 9.38 | 66.71 | 90.62 | 198 |
Apache & MySQL | 19.56 | 10.58 | 17.19 | 54.12 | 84.38 | 15.62 | 45.88 | 82.81 | 18 |
Code Server | 200.00 | 64.50 | 32.25 | 32.25 | 32.25 | 67.75 | 67.75 | 67.75 | 2 |
Fileserver | 350.00 | 142.63 | 40.71 | 40.75 | 40.79 | 59.21 | 59.25 | 59.29 | 2 |
Linux Package | 250.00 | 152.75 | 61.10 | 61.10 | 61.10 | 38.90 | 38.90 | 38.90 | 2 |
MS SQL | 120.00 | 18.50 | 15.42 | 15.42 | 15.42 | 84.58 | 84.58 | 84.58 | 2 |
Database | 346.40 | 86.56 | 5.38 | 24.99 | 59.17 | 40.83 | 75.01 | 94.62 | 80 |
ERP | 426.95 | 141.02 | 21.25 | 33.03 | 48.05 | 51.95 | 66.97 | 78.75 | 59 |
TSM OpCenter | 26.00 | 9.25 | 35.58 | 35.58 | 35.58 | 64.42 | 64.42 | 64.42 | 2 |
VMware ESX | 1756.00 | 798.84 | 28.34 | 45.49 | 53.73 | 46.27 | 54.51 | 71.66 | 8 |
Windows Package | 300.00 | 185.13 | 61.67 | 61.71 | 61.75 | 38.25 | 38.29 | 38.33 | 2 |
Xen Server | 512.00 | 184.64 | 11.87 | 36.06 | 47.75 | 52.25 | 63.94 | 88.13 | 18 |
A graphical representation of the above aggregated data is shown in the following graph:
The values “Avg. Size (%)” and “Avg. Saving (%)” are shown as colored bars, the error bars are their respective relative minimum and maximum values, the numbers at the bottom of the colored bars are the number of samples per application type.
The “AIX rootvg” and “Database” application types show rather good compression results, but also a high range of variability. For the case of “AIX rootvg” the compression results depend mainly on the amount of paging space being used, since on all systems the paging space is part of the rootvg. Systems with very low compressed VDisk size also show no or almost no paging space usage. For the case of “Database” the compression results obviously depend on the data stored within the database tablespaces, unfortunately i have no further information on what kind of data is stored in the less compressible cases. In the most compressible cases (5.38% and 7.32% of the original VDisk size) though, the databases contain large amounts of text data and fulltext search indexes, which explains the extraordinary compression results. The “ERP” application type shows equally good compression results, but with a much lower variability, which seems to be largely caused by the current amount of free unused database space. The sample from the “MS SQL” application type is unfortunately the only VDisk directly allocated to a MS SQL Server instance, so it's not really a representative sample. All other MS SQL Server instance in our environment run on VMware and the VDisks there are currently not RTC enabled due to the application and use case mixture described above. The “Code Server” and “Fileserver” application types show good compression results, considering the data usually associated with those. The low sample number indicated that they have specifically been chosen as candidates for RTC enabled VDisks. Especially the other available fileserver VDisks showed much worse results in the preliminary comprestimator runs. Only the the fileserver VDisk containing the Windows server saved user profiles showed good enough results to justify enabling RTC. The “Linux Package” and “Windows Package” application types show the expected worst compression results, since the data on those VDisks is already stored in compressed formats. Still, compression savings of approximately 40% on this kind of data is still pretty good. The “Apache & MySQL” application type is by its compression behaviour kind of a mixture between the “AIX rootvg” and “Fileserver” application types, since it has the same paging space configuration and has large amounts of already compressed data (bz2, gz, docx, xlsx, pptx, zip, jpeg, mpeg, etc.) stored on the VDisks. The “VMware ESX” and “Xen Server” also show average compression results, considering that those are run by 3rd parties where there is currently no distinction between and seperation of compression-friendly from compression-unfriendly VM data being made.
Overall, we're up to now quite happy with the SVCs RTC feature, since it gives us some breathing room and on the overall takes off the pressure to evaluate, purchase, implement and maintain additional storage units for the foreseeable future. On the downside, there is a pretty hefty price tag to the RTC volume licenses. Especially compared to other vendors (e.g. Pure Storage) where the compression functionality is part of the systems base package. One is advised to do a thorough TCO calculation to determine whether the investment in SVC RTC licenses outways the benefits of operating storage systems with actually allocateable space. In the end this boils down to a bet about the current and future compressability of the data actually stored. Besides licensing terms another issue for us was, that we unfortunately pretty quickly reached the limit for the allowed number of compressed VDisks per I/O group on our current 2145-CG8 hardware (max. 200 RTC enabled VDisks). This limit is put in place by SVC development as a safeguard, supposedly in order to keep the nodes from being overloaded with RTC workload. While understandable from a technical point of view, this limit can be reached pretty quickly if you're for example using a lot RTC enabled rootvgs or if you're following the SAP or Oracle disk layout guidelines pretty closely. For the rootvgs and possibly test and development SAP or Oracle systems a consolidation of the system and data disks into fewer VDisks using AIX/VIOS shared storage pools could be an option. But then again, the same downsides for e.g. VMware datastores apply to shared storage pools as well.
Links & Resources
Real-time Compression in SAN Volume Controller and Storwize V7000
Implementing IBM Real-time Compression in SAN Volume Controller and IBM Storwize V7000
IBM System Storage SAN Volume Controller software V6.4.0 improves storage efficiency - IBM Europe, Middle East, and Africa Software Announcement ZP12-0235 - June 4, 2012
Detailed per VDisk RTC data
Detailed compilation of storage saving with RTC on a per VDisk basis. If JavaScript is enabled in your browser, click on a column headers to sort by that particular column.
Application Type | VDisk Name | Type | Size (GB) | Compressed Size (GB) | Size (%) | Saving (%) | Ext. HDD | Ext. SSD |
---|---|---|---|---|---|---|---|---|
AIX rootvg | sas-8G-197 | primary | 8.00 | 4.00 | 50.00 | 50.00 | 16 | 0 |
AIX rootvg | sas-8G-197 | secondary | 8.00 | 4.00 | 50.00 | 50.00 | 16 | 0 |
AIX rootvg | sas-24G-155 | primary | 24.00 | 8.50 | 35.42 | 64.58 | 34 | 0 |
AIX rootvg | sas-24G-155 | secondary | 24.00 | 8.50 | 35.42 | 64.58 | 34 | 0 |
AIX rootvg | sas-16G-209 | primary | 16.00 | 4.00 | 25.00 | 75.00 | 16 | 0 |
AIX rootvg | sas-16G-209 | secondary | 16.00 | 4.00 | 25.00 | 75.00 | 16 | 0 |
AIX rootvg | sas-16G-2CA | primary | 16.00 | 2.50 | 15.62 | 84.38 | 10 | 0 |
AIX rootvg | sas-16G-2CA | secondary | 16.00 | 2.50 | 15.62 | 84.38 | 10 | 0 |
AIX rootvg | sas-16G-2C8 | primary | 16.00 | 2.75 | 17.19 | 82.81 | 11 | 0 |
AIX rootvg | sas-16G-2C8 | secondary | 16.00 | 2.75 | 17.19 | 82.81 | 11 | 0 |
AIX rootvg | sas-16G-2C9 | primary | 16.00 | 2.50 | 15.62 | 84.38 | 10 | 0 |
AIX rootvg | sas-16G-2C9 | secondary | 16.00 | 2.50 | 15.62 | 84.38 | 10 | 0 |
AIX rootvg | sas-16G-23E | primary | 16.00 | 2.50 | 15.62 | 84.38 | 10 | 0 |
AIX rootvg | sas-16G-23E | secondary | 16.00 | 2.50 | 15.62 | 84.38 | 10 | 0 |
AIX rootvg | sas-16G-2B5 | primary | 16.00 | 1.50 | 9.38 | 90.62 | 6 | 0 |
AIX rootvg | sas-16G-2B5 | secondary | 16.00 | 1.50 | 9.38 | 90.62 | 6 | 0 |
AIX rootvg | sas-16G-307 | primary | 16.00 | 11.75 | 73.44 | 26.56 | 47 | 0 |
AIX rootvg | sas-16G-307 | secondary | 16.00 | 11.75 | 73.44 | 26.56 | 47 | 0 |
AIX rootvg | sas-16G-2AA | primary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-2AA | secondary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-8G-19A | primary | 8.00 | 1.50 | 18.75 | 81.25 | 6 | 0 |
AIX rootvg | sas-8G-19A | secondary | 8.00 | 1.50 | 18.75 | 81.25 | 6 | 0 |
AIX rootvg | sas-8G-241 | primary | 8.00 | 1.75 | 21.88 | 78.12 | 7 | 0 |
AIX rootvg | sas-8G-241 | secondary | 8.00 | 1.75 | 21.88 | 78.12 | 7 | 0 |
AIX rootvg | sas-8G-2BD | primary | 8.00 | 1.50 | 18.75 | 81.25 | 6 | 0 |
AIX rootvg | sas-8G-2BD | secondary | 8.00 | 1.50 | 18.75 | 81.25 | 6 | 0 |
AIX rootvg | sas-8G-2BE | primary | 8.00 | 1.50 | 18.75 | 81.25 | 6 | 0 |
AIX rootvg | sas-8G-2BE | secondary | 8.00 | 1.50 | 18.75 | 81.25 | 6 | 0 |
AIX rootvg | sas-8G-194 | primary | 8.00 | 1.25 | 15.62 | 84.38 | 5 | 0 |
AIX rootvg | sas-8G-194 | secondary | 8.00 | 1.25 | 15.62 | 84.38 | 5 | 0 |
AIX rootvg | sas-8G-195 | primary | 8.00 | 1.50 | 18.75 | 81.25 | 6 | 0 |
AIX rootvg | sas-8G-195 | secondary | 8.00 | 1.50 | 18.75 | 81.25 | 6 | 0 |
AIX rootvg | sas-8G-22F | primary | 8.00 | 3.75 | 46.88 | 53.12 | 15 | 0 |
AIX rootvg | sas-8G-22F | secondary | 8.00 | 3.75 | 46.88 | 53.12 | 15 | 0 |
AIX rootvg | sas-16G-264 | primary | 16.00 | 6.00 | 37.50 | 62.50 | 24 | 0 |
AIX rootvg | sas-16G-264 | secondary | 16.00 | 6.00 | 37.50 | 62.50 | 24 | 0 |
AIX rootvg | sas-16G-263 | primary | 16.00 | 7.00 | 43.75 | 56.25 | 28 | 0 |
AIX rootvg | sas-16G-263 | secondary | 16.00 | 7.00 | 43.75 | 56.25 | 28 | 0 |
AIX rootvg | sas-16G-1D2 | primary | 16.00 | 7.00 | 43.75 | 56.25 | 0 | 28 |
AIX rootvg | sas-16G-1D2 | secondary | 16.00 | 7.00 | 43.75 | 56.25 | 28 | 0 |
AIX rootvg | sas-16G-1B1 | primary | 16.00 | 5.50 | 34.38 | 65.62 | 0 | 22 |
AIX rootvg | sas-16G-1B1 | secondary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-16G-14D | primary | 16.00 | 5.75 | 35.94 | 64.06 | 0 | 23 |
AIX rootvg | sas-16G-14D | secondary | 16.00 | 5.75 | 35.94 | 64.06 | 23 | 0 |
AIX rootvg | sas-32G-322 | primary | 32.00 | 8.50 | 26.56 | 73.44 | 34 | 0 |
AIX rootvg | sas-32G-322 | secondary | 32.00 | 8.50 | 26.56 | 73.44 | 34 | 0 |
AIX rootvg | flash-32G-1F3 | primary | 32.00 | 11.75 | 36.72 | 63.28 | 0 | 47 |
AIX rootvg | flash-32G-1F3 | secondary | 32.00 | 11.75 | 36.72 | 63.28 | 47 | 0 |
AIX rootvg | sas-16G-1F1 | primary | 16.00 | 7.50 | 46.88 | 53.12 | 0 | 30 |
AIX rootvg | sas-16G-1F1 | secondary | 16.00 | 7.50 | 46.88 | 53.12 | 30 | 0 |
AIX rootvg | sas-16G-15C | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-15C | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-32G-1F4 | primary | 32.00 | 8.25 | 25.78 | 74.22 | 33 | 0 |
AIX rootvg | sas-32G-1F4 | secondary | 32.00 | 8.25 | 25.78 | 74.22 | 33 | 0 |
AIX rootvg | sas-16G-267 | primary | 16.00 | 5.25 | 32.81 | 67.19 | 21 | 0 |
AIX rootvg | sas-16G-267 | secondary | 16.00 | 5.25 | 32.81 | 67.19 | 21 | 0 |
AIX rootvg | sas-16G-2F4 | primary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-16G-2F4 | secondary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-16G-2FB | primary | 16.00 | 8.75 | 54.69 | 45.31 | 35 | 0 |
AIX rootvg | sas-16G-2FB | secondary | 16.00 | 8.75 | 54.69 | 45.31 | 35 | 0 |
AIX rootvg | sas-16G-11F | primary | 16.00 | 7.00 | 43.75 | 56.25 | 28 | 0 |
AIX rootvg | sas-16G-11F | secondary | 16.00 | 7.00 | 43.75 | 56.25 | 28 | 0 |
AIX rootvg | sas-16G-265 | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-265 | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-146 | primary | 16.00 | 6.25 | 39.06 | 60.94 | 25 | 0 |
AIX rootvg | sas-16G-146 | secondary | 16.00 | 6.25 | 39.06 | 60.94 | 25 | 0 |
AIX rootvg | sas-16G-28C | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-28C | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-28E | primary | 16.00 | 9.75 | 60.94 | 39.06 | 39 | 0 |
AIX rootvg | sas-16G-28E | secondary | 16.00 | 9.75 | 60.94 | 39.06 | 39 | 0 |
AIX rootvg | sas-16G-205 | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-205 | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-1BD | primary | 16.00 | 10.00 | 62.50 | 37.50 | 40 | 0 |
AIX rootvg | sas-16G-1BD | secondary | 16.00 | 10.00 | 62.50 | 37.50 | 40 | 0 |
AIX rootvg | sas-16G-28F | primary | 16.00 | 10.25 | 64.06 | 35.94 | 41 | 0 |
AIX rootvg | sas-16G-28F | secondary | 16.00 | 10.25 | 64.06 | 35.94 | 41 | 0 |
AIX rootvg | sas-16G-162 | primary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-162 | secondary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-2A9 | primary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-2A9 | secondary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-1B9 | primary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-1B9 | secondary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-1BA | primary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-1BA | secondary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-1BC | primary | 16.00 | 9.75 | 60.94 | 39.06 | 39 | 0 |
AIX rootvg | sas-16G-1BC | secondary | 16.00 | 9.75 | 60.94 | 39.06 | 39 | 0 |
AIX rootvg | sas-16G-1BB | primary | 16.00 | 11.50 | 71.88 | 28.12 | 46 | 0 |
AIX rootvg | sas-16G-1BB | secondary | 16.00 | 11.50 | 71.88 | 28.12 | 46 | 0 |
AIX rootvg | sas-16G-1A9 | primary | 16.00 | 3.50 | 21.88 | 78.12 | 14 | 0 |
AIX rootvg | sas-16G-1A9 | secondary | 16.00 | 3.50 | 21.88 | 78.12 | 14 | 0 |
AIX rootvg | sas-16G-2CE | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-2CE | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-29B | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-29B | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-1BF | primary | 16.00 | 8.25 | 51.56 | 48.44 | 33 | 0 |
AIX rootvg | sas-16G-1BF | secondary | 16.00 | 8.25 | 51.56 | 48.44 | 33 | 0 |
AIX rootvg | sas-16G-243 | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-243 | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-2CF | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-2CF | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-29C | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-29C | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-242 | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-242 | secondary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-29E | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-29E | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-2D0 | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-2D0 | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-29D | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-29D | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-1BE | primary | 16.00 | 8.25 | 51.56 | 48.44 | 33 | 0 |
AIX rootvg | sas-16G-1BE | secondary | 16.00 | 8.25 | 51.56 | 48.44 | 33 | 0 |
AIX rootvg | sas-16G-29F | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-29F | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-261 | primary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-16G-261 | secondary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-8G-199 | primary | 8.00 | 1.25 | 15.62 | 84.38 | 5 | 0 |
AIX rootvg | sas-8G-199 | secondary | 8.00 | 1.25 | 15.62 | 84.38 | 5 | 0 |
AIX rootvg | sas-8G-240 | primary | 8.00 | 3.00 | 37.50 | 62.50 | 12 | 0 |
AIX rootvg | sas-8G-240 | secondary | 8.00 | 3.00 | 37.50 | 62.50 | 12 | 0 |
AIX rootvg | sas-16G-249 | primary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-249 | secondary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-24G-15D | primary | 24.00 | 5.00 | 20.83 | 79.17 | 20 | 0 |
AIX rootvg | sas-24G-15D | secondary | 24.00 | 5.00 | 20.83 | 79.17 | 20 | 0 |
AIX rootvg | sas-16G-24B | primary | 16.00 | 4.25 | 26.56 | 73.44 | 17 | 0 |
AIX rootvg | sas-16G-24B | secondary | 16.00 | 4.25 | 26.56 | 73.44 | 17 | 0 |
AIX rootvg | sas-16G-24D | primary | 16.00 | 6.00 | 37.50 | 62.50 | 24 | 0 |
AIX rootvg | sas-16G-24D | secondary | 16.00 | 6.00 | 37.50 | 62.50 | 24 | 0 |
AIX rootvg | sas-16G-252 | primary | 16.00 | 5.25 | 32.81 | 67.19 | 21 | 0 |
AIX rootvg | sas-16G-252 | secondary | 16.00 | 5.25 | 32.81 | 67.19 | 21 | 0 |
AIX rootvg | sas-16G-278 | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-278 | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-279 | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-279 | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-270 | primary | 16.00 | 5.25 | 32.81 | 67.19 | 21 | 0 |
AIX rootvg | sas-16G-270 | secondary | 16.00 | 5.25 | 32.81 | 67.19 | 21 | 0 |
AIX rootvg | sas-16G-284 | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-284 | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-285 | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-285 | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-27A | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-27A | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-2DC | primary | 16.00 | 6.25 | 39.06 | 60.94 | 25 | 0 |
AIX rootvg | sas-16G-2DC | secondary | 16.00 | 6.25 | 39.06 | 60.94 | 25 | 0 |
AIX rootvg | sas-16G-27B | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-27B | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-310 | primary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-310 | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
AIX rootvg | sas-16G-312 | primary | 16.00 | 10.00 | 62.50 | 37.50 | 40 | 0 |
AIX rootvg | sas-16G-312 | secondary | 16.00 | 10.00 | 62.50 | 37.50 | 40 | 0 |
AIX rootvg | sas-36G-22B | primary | 36.00 | 9.00 | 25.00 | 75.00 | 36 | 0 |
AIX rootvg | sas-36G-22B | secondary | 36.00 | 9.00 | 25.00 | 75.00 | 36 | 0 |
AIX rootvg | sas-16G-22D | primary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-22D | secondary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-308 | primary | 16.00 | 6.75 | 42.19 | 57.81 | 23 | 4 |
AIX rootvg | sas-16G-308 | secondary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-233 | primary | 16.00 | 8.75 | 54.69 | 45.31 | 35 | 0 |
AIX rootvg | sas-16G-233 | secondary | 16.00 | 8.75 | 54.69 | 45.31 | 35 | 0 |
AIX rootvg | sas-16G-30A | primary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-30A | secondary | 16.00 | 6.75 | 42.19 | 57.81 | 27 | 0 |
AIX rootvg | sas-16G-226 | primary | 16.00 | 6.00 | 37.50 | 62.50 | 24 | 0 |
AIX rootvg | sas-16G-226 | secondary | 16.00 | 6.00 | 37.50 | 62.50 | 24 | 0 |
AIX rootvg | sas-16G-0F1 | primary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-16G-0F1 | secondary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-24G-1A4 | primary | 24.00 | 7.50 | 31.25 | 68.75 | 30 | 0 |
AIX rootvg | sas-24G-1A4 | secondary | 24.00 | 7.50 | 31.25 | 68.75 | 30 | 0 |
AIX rootvg | sas-16G-1AE | primary | 16.00 | 4.50 | 28.12 | 71.88 | 17 | 1 |
AIX rootvg | sas-16G-1AE | secondary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-24G-1A5 | primary | 24.00 | 9.75 | 40.62 | 59.38 | 39 | 0 |
AIX rootvg | sas-24G-1A5 | secondary | 24.00 | 9.75 | 40.62 | 59.38 | 39 | 0 |
AIX rootvg | sas-24G-1A6 | primary | 24.00 | 8.75 | 36.46 | 63.54 | 35 | 0 |
AIX rootvg | sas-24G-1A6 | secondary | 24.00 | 8.75 | 36.46 | 63.54 | 35 | 0 |
AIX rootvg | sas-16G-259 | primary | 16.00 | 3.25 | 20.31 | 79.69 | 13 | 0 |
AIX rootvg | sas-16G-259 | secondary | 16.00 | 3.25 | 20.31 | 79.69 | 13 | 0 |
AIX rootvg | sas-16G-19E | primary | 16.00 | 2.75 | 17.19 | 82.81 | 11 | 0 |
AIX rootvg | sas-16G-19E | secondary | 16.00 | 2.75 | 17.19 | 82.81 | 11 | 0 |
AIX rootvg | sas-24G-257 | primary | 24.00 | 4.50 | 18.75 | 81.25 | 18 | 0 |
AIX rootvg | sas-24G-257 | secondary | 24.00 | 4.50 | 18.75 | 81.25 | 18 | 0 |
AIX rootvg | sas-16G-343 | primary | 16.00 | 2.00 | 12.50 | 87.50 | 8 | 0 |
AIX rootvg | sas-16G-343 | secondary | 16.00 | 2.00 | 12.50 | 87.50 | 8 | 0 |
AIX rootvg | sas-16G-212 | primary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-212 | secondary | 16.00 | 5.00 | 31.25 | 68.75 | 20 | 0 |
AIX rootvg | sas-16G-214 | primary | 16.00 | 4.00 | 25.00 | 75.00 | 16 | 0 |
AIX rootvg | sas-16G-214 | secondary | 16.00 | 4.00 | 25.00 | 75.00 | 16 | 0 |
AIX rootvg | sas-16G-213 | primary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-213 | secondary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-1E7 | primary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-16G-1E7 | secondary | 16.00 | 5.50 | 34.38 | 65.62 | 22 | 0 |
AIX rootvg | sas-24G-1E0 | primary | 24.00 | 3.75 | 15.62 | 84.38 | 15 | 0 |
AIX rootvg | sas-24G-1E0 | secondary | 24.00 | 3.50 | 14.58 | 85.42 | 14 | 0 |
AIX rootvg | sas-16G-1E2 | primary | 16.00 | 4.25 | 26.56 | 73.44 | 17 | 0 |
AIX rootvg | sas-16G-1E2 | secondary | 16.00 | 4.25 | 26.56 | 73.44 | 17 | 0 |
AIX rootvg | sas-24G-305 | primary | 24.00 | 7.00 | 29.17 | 70.83 | 21 | 7 |
AIX rootvg | sas-24G-305 | secondary | 24.00 | 7.00 | 29.17 | 70.83 | 28 | 0 |
AIX rootvg | sas-24G-306 | primary | 24.00 | 6.75 | 28.12 | 71.88 | 22 | 5 |
AIX rootvg | sas-24G-306 | secondary | 24.00 | 6.75 | 28.12 | 71.88 | 27 | 0 |
AIX rootvg | sas-16G-323 | primary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
AIX rootvg | sas-16G-323 | secondary | 16.00 | 4.50 | 28.12 | 71.88 | 18 | 0 |
Apache & MySQL | sas-16G-13A | primary | 16.00 | 7.75 | 48.44 | 51.56 | 24 | 7 |
Apache & MySQL | sas-16G-13A | secondary | 16.00 | 7.75 | 48.44 | 51.56 | 31 | 0 |
Apache & MySQL | sas-16G-18D | primary | 16.00 | 9.75 | 60.94 | 39.06 | 38 | 1 |
Apache & MySQL | sas-16G-18D | secondary | 16.00 | 9.75 | 60.94 | 39.06 | 39 | 0 |
Apache & MySQL | sas-16G-303 | primary | 16.00 | 11.00 | 68.75 | 31.25 | 44 | 0 |
Apache & MySQL | sas-16G-303 | secondary | 16.00 | 11.00 | 68.75 | 31.25 | 44 | 0 |
Apache & MySQL | sas-16G-2C3 | primary | 16.00 | 13.50 | 84.38 | 15.62 | 45 | 9 |
Apache & MySQL | sas-16G-2C3 | secondary | 16.00 | 13.50 | 84.38 | 15.62 | 54 | 0 |
Apache & MySQL | sas-32G-2C1 | primary | 32.00 | 17.50 | 54.69 | 45.31 | 33 | 37 |
Apache & MySQL | sas-32G-2C1 | secondary | 32.00 | 17.50 | 54.69 | 45.31 | 70 | 0 |
Apache & MySQL | sas-32G-2C2 | primary | 32.00 | 18.00 | 56.25 | 43.75 | 36 | 36 |
Apache & MySQL | sas-32G-2C2 | secondary | 32.00 | 18.00 | 56.25 | 43.75 | 72 | 0 |
Apache & MySQL | sas-16G-2D8 | primary | 16.00 | 2.75 | 17.19 | 82.81 | 8 | 3 |
Apache & MySQL | sas-16G-2D8 | secondary | 16.00 | 2.75 | 17.19 | 82.81 | 11 | 0 |
Apache & MySQL | sas-16G-2D9 | primary | 16.00 | 4.75 | 29.69 | 70.31 | 16 | 3 |
Apache & MySQL | sas-16G-2D9 | secondary | 16.00 | 4.75 | 29.69 | 70.31 | 19 | 0 |
Apache & MySQL | sas-16G-304 | primary | 16.00 | 10.25 | 64.06 | 35.94 | 33 | 8 |
Apache & MySQL | sas-16G-304 | secondary | 16.00 | 10.25 | 64.06 | 35.94 | 41 | 0 |
Code Server | sas-200G-17E | primary | 200.00 | 64.50 | 32.25 | 67.75 | 202 | 56 |
Code Server | sas-200G-17E | secondary | 200.00 | 64.50 | 32.25 | 67.75 | 258 | 0 |
Fileserver | sas-350G-1D5 | primary | 350.00 | 142.50 | 40.71 | 59.29 | 351 | 219 |
Fileserver | sas-350G-1D5 | secondary | 350.00 | 142.75 | 40.79 | 59.21 | 571 | 0 |
Linux Package | sas-250G-23C | primary | 250.00 | 152.75 | 61.10 | 38.90 | 468 | 143 |
Linux Package | sas-250G-23C | secondary | 250.00 | 152.75 | 61.10 | 38.90 | 611 | 0 |
MS SQL | flash-120G-10A | primary | 120.00 | 18.50 | 15.42 | 84.58 | 0 | 74 |
MS SQL | flash-120G-10A | secondary | 120.00 | 18.50 | 15.42 | 84.58 | 74 | 0 |
Database | sas-100G-1F8 | primary | 100.00 | 23.75 | 23.75 | 76.25 | 82 | 13 |
Database | sas-100G-1F8 | secondary | 100.00 | 23.75 | 23.75 | 76.25 | 95 | 0 |
Database | sas-100G-2CD | primary | 100.00 | 12.00 | 12.00 | 88.00 | 31 | 17 |
Database | sas-100G-2CD | secondary | 100.00 | 12.00 | 12.00 | 88.00 | 48 | 0 |
Database | sas-100G-2CB | primary | 100.00 | 14.50 | 14.50 | 85.50 | 45 | 13 |
Database | sas-100G-2CB | secondary | 100.00 | 14.50 | 14.50 | 85.50 | 58 | 0 |
Database | sas-100G-2CC | primary | 100.00 | 11.25 | 11.25 | 88.75 | 31 | 14 |
Database | sas-100G-2CC | secondary | 100.00 | 11.25 | 11.25 | 88.75 | 45 | 0 |
Database | flash-150G-23F | primary | 150.00 | 30.25 | 20.17 | 79.83 | 0 | 121 |
Database | flash-150G-23F | secondary | 150.00 | 30.25 | 20.17 | 79.83 | 121 | 0 |
Database | sas-150G-30E | primary | 150.00 | 88.75 | 59.17 | 40.83 | 297 | 58 |
Database | sas-150G-30E | secondary | 150.00 | 88.75 | 59.17 | 40.83 | 355 | 0 |
Database | sas-600G-30D | primary | 600.00 | 104.75 | 17.46 | 82.54 | 108 | 311 |
Database | sas-600G-30D | secondary | 600.00 | 105.00 | 17.50 | 82.50 | 420 | 0 |
Database | sas-150G-32D | primary | 150.00 | 19.00 | 12.67 | 87.33 | 45 | 31 |
Database | sas-150G-32D | secondary | 150.00 | 19.00 | 12.67 | 87.33 | 76 | 0 |
Database | sas-600G-32C | primary | 600.00 | 107.75 | 17.96 | 82.04 | 54 | 377 |
Database | sas-600G-32C | secondary | 600.00 | 107.75 | 17.96 | 82.04 | 431 | 0 |
Database | sas-120G-147 | primary | 120.00 | 49.25 | 41.04 | 58.96 | 167 | 30 |
Database | sas-120G-147 | secondary | 120.00 | 49.25 | 41.04 | 58.96 | 197 | 0 |
Database | sas-170G-28D | primary | 170.00 | 52.75 | 31.03 | 68.97 | 88 | 123 |
Database | sas-170G-28D | secondary | 170.00 | 52.75 | 31.03 | 68.97 | 211 | 0 |
Database | sas-300G-290 | primary | 300.00 | 97.00 | 32.33 | 67.67 | 315 | 73 |
Database | sas-300G-290 | secondary | 300.00 | 97.00 | 32.33 | 67.67 | 388 | 0 |
Database | sas-1550G-1C6 | primary | 1550.00 | 355.25 | 22.92 | 77.08 | 119 | 1302 |
Database | sas-1550G-1C6 | secondary | 1550.00 | 355.25 | 22.92 | 77.08 | 1421 | 0 |
Database | sas-150G-1C8 | primary | 150.00 | 31.25 | 20.83 | 79.17 | 45 | 80 |
Database | sas-150G-1C8 | secondary | 150.00 | 31.25 | 20.83 | 79.17 | 125 | 0 |
Database | sas-100G-291 | primary | 100.00 | 26.75 | 26.75 | 73.25 | 100 | 7 |
Database | sas-100G-291 | secondary | 100.00 | 26.75 | 26.75 | 73.25 | 107 | 0 |
Database | sas-900G-296 | primary | 900.00 | 309.75 | 34.42 | 65.58 | 123 | 1116 |
Database | sas-900G-296 | secondary | 900.00 | 309.50 | 34.39 | 65.61 | 1238 | 0 |
Database | sas-1000G-2AD | primary | 1000.00 | 73.25 | 7.32 | 92.67 | 283 | 10 |
Database | sas-1000G-2AD | secondary | 1000.00 | 73.25 | 7.32 | 92.67 | 293 | 0 |
Database | sas-1300G-1C2 | primary | 1300.00 | 299.50 | 23.04 | 76.96 | 185 | 1013 |
Database | sas-1300G-1C2 | secondary | 1300.00 | 299.50 | 23.04 | 76.96 | 1198 | 0 |
Database | sas-2150G-294 | primary | 2150.00 | 660.50 | 30.72 | 69.28 | 206 | 2436 |
Database | sas-2150G-294 | secondary | 2150.00 | 660.75 | 30.73 | 69.27 | 2643 | 0 |
Database | sas-150G-297 | primary | 150.00 | 44.50 | 29.67 | 70.33 | 73 | 105 |
Database | sas-150G-297 | secondary | 150.00 | 44.50 | 29.67 | 70.33 | 178 | 0 |
Database | sas-600G-1C5 | primary | 600.00 | 167.00 | 27.83 | 72.17 | 373 | 295 |
Database | sas-600G-1C5 | secondary | 600.00 | 167.25 | 27.88 | 72.12 | 669 | 0 |
Database | sas-200G-24A | primary | 200.00 | 52.00 | 26.00 | 74.00 | 120 | 88 |
Database | sas-200G-24A | secondary | 200.00 | 52.00 | 26.00 | 74.00 | 208 | 0 |
Database | flash-160G-24C | primary | 160.00 | 74.75 | 46.72 | 53.28 | 0 | 299 |
Database | flash-160G-24C | secondary | 160.00 | 74.75 | 46.72 | 53.28 | 299 | 0 |
Database | flash-260G-24E | primary | 260.00 | 74.25 | 28.56 | 71.44 | 0 | 297 |
Database | flash-260G-24E | secondary | 260.00 | 74.25 | 28.56 | 71.44 | 297 | 0 |
Database | sas-120G-253 | primary | 120.00 | 31.50 | 26.25 | 73.75 | 28 | 98 |
Database | sas-120G-253 | secondary | 120.00 | 31.25 | 26.04 | 73.96 | 125 | 0 |
Database | sas-250G-27C | primary | 250.00 | 53.00 | 21.20 | 78.80 | 157 | 55 |
Database | sas-250G-27C | secondary | 250.00 | 53.00 | 21.20 | 78.80 | 212 | 0 |
Database | flash-350G-27D | primary | 350.00 | 79.75 | 22.79 | 77.21 | 0 | 319 |
Database | flash-350G-27D | secondary | 350.00 | 79.75 | 22.79 | 77.21 | 319 | 0 |
Database | sas-180G-271 | primary | 180.00 | 51.75 | 28.75 | 71.25 | 98 | 109 |
Database | sas-180G-271 | secondary | 180.00 | 52.00 | 28.89 | 71.11 | 208 | 0 |
Database | sas-260G-286 | primary | 260.00 | 56.75 | 21.83 | 78.17 | 51 | 176 |
Database | sas-260G-286 | secondary | 260.00 | 56.75 | 21.83 | 78.17 | 227 | 0 |
Database | flash-150G-287 | primary | 150.00 | 34.25 | 22.83 | 77.17 | 0 | 137 |
Database | flash-150G-287 | secondary | 150.00 | 34.25 | 22.83 | 77.17 | 137 | 0 |
Database | sas-180G-27E | primary | 180.00 | 39.75 | 22.08 | 77.92 | 144 | 15 |
Database | sas-180G-27E | secondary | 180.00 | 39.75 | 22.08 | 77.92 | 159 | 0 |
Database | sas-180G-2DD | primary | 180.00 | 50.25 | 27.92 | 72.08 | 143 | 58 |
Database | sas-180G-2DD | secondary | 180.00 | 50.25 | 27.92 | 72.08 | 201 | 0 |
Database | flash-180G-27F | primary | 180.00 | 43.50 | 24.17 | 75.83 | 0 | 174 |
Database | flash-180G-27F | secondary | 180.00 | 43.75 | 24.31 | 75.69 | 175 | 0 |
Database | sas-120G-311 | primary | 120.00 | 36.50 | 30.42 | 69.58 | 85 | 61 |
Database | sas-120G-311 | secondary | 120.00 | 36.50 | 30.42 | 69.58 | 146 | 0 |
Database | flash-120G-313 | primary | 120.00 | 47.00 | 39.17 | 60.83 | 0 | 188 |
Database | flash-120G-313 | secondary | 120.00 | 47.00 | 39.17 | 60.83 | 188 | 0 |
Database | sas-140G-22A | primary | 140.00 | 49.50 | 35.36 | 64.64 | 80 | 118 |
Database | sas-140G-22A | secondary | 140.00 | 49.75 | 35.54 | 64.46 | 199 | 0 |
Database | sas-150G-22C | primary | 150.00 | 62.00 | 41.33 | 58.67 | 246 | 2 |
Database | sas-150G-22C | secondary | 150.00 | 62.00 | 41.33 | 58.67 | 248 | 0 |
Database | sas-80G-309 | primary | 80.00 | 17.75 | 22.19 | 77.81 | 47 | 24 |
Database | sas-80G-309 | secondary | 80.00 | 17.75 | 22.19 | 77.81 | 71 | 0 |
Database | sas-36G-30B | primary | 36.00 | 18.00 | 50.00 | 50.00 | 72 | 0 |
Database | sas-36G-30B | secondary | 36.00 | 18.00 | 50.00 | 50.00 | 72 | 0 |
Database | sas-200G-344 | primary | 200.00 | 10.75 | 5.38 | 94.62 | 43 | 0 |
Database | sas-200G-344 | secondary | 200.00 | 10.75 | 5.38 | 94.62 | 43 | 0 |
ERP | sas-250G-2C6 | primary | 250.00 | 76.50 | 30.60 | 69.40 | 110 | 196 |
ERP | sas-250G-2C6 | secondary | 250.00 | 76.50 | 30.60 | 69.40 | 306 | 0 |
ERP | sas-250G-10E | primary | 250.00 | 77.50 | 31.00 | 69.00 | 110 | 200 |
ERP | sas-250G-10E | secondary | 250.00 | 77.50 | 31.00 | 69.00 | 310 | 0 |
ERP | sas-2750G-345 | primary | 2750.00 | 803.50 | 29.22 | 70.78 | 3214 | 0 |
ERP | flash-2750G-1B5 | primary | 2750.00 | 803.75 | 29.23 | 70.77 | 0 | 3215 |
ERP | flash-2750G-1B5 | secondary | 2750.00 | 803.50 | 29.22 | 70.78 | 3214 | 0 |
ERP | sas-150G-2D1 | primary | 150.00 | 41.25 | 27.50 | 72.50 | 126 | 39 |
ERP | sas-150G-2D1 | secondary | 150.00 | 41.25 | 27.50 | 72.50 | 165 | 0 |
ERP | sas-100G-2A0 | primary | 100.00 | 27.75 | 27.75 | 72.25 | 92 | 19 |
ERP | sas-100G-2A0 | secondary | 100.00 | 27.75 | 27.75 | 72.25 | 111 | 0 |
ERP | sas-130G-2A3 | primary | 130.00 | 53.00 | 40.77 | 59.23 | 77 | 135 |
ERP | sas-130G-2A3 | secondary | 130.00 | 53.00 | 40.77 | 59.23 | 212 | 0 |
ERP | sas-300G-2A6 | primary | 300.00 | 63.75 | 21.25 | 78.75 | 183 | 72 |
ERP | sas-300G-2A6 | secondary | 300.00 | 63.75 | 21.25 | 78.75 | 255 | 0 |
ERP | sas-150G-2D2 | primary | 150.00 | 38.50 | 25.67 | 74.33 | 98 | 56 |
ERP | sas-150G-2D2 | secondary | 150.00 | 38.50 | 25.67 | 74.33 | 154 | 0 |
ERP | sas-200G-2A1 | primary | 200.00 | 61.50 | 30.75 | 69.25 | 228 | 18 |
ERP | sas-200G-2A1 | secondary | 200.00 | 61.25 | 30.63 | 69.38 | 245 | 0 |
ERP | sas-250G-2A4 | primary | 250.00 | 108.00 | 43.20 | 56.80 | 60 | 372 |
ERP | sas-250G-2A4 | secondary | 250.00 | 108.00 | 43.20 | 56.80 | 432 | 0 |
ERP | sas-450G-2A7 | primary | 450.00 | 151.75 | 33.72 | 66.28 | 325 | 282 |
ERP | sas-450G-2A7 | secondary | 450.00 | 151.75 | 33.72 | 66.28 | 607 | 0 |
ERP | sas-700G-2D3 | primary | 700.00 | 228.00 | 32.57 | 67.43 | 61 | 851 |
ERP | sas-700G-2D3 | secondary | 700.00 | 228.00 | 32.57 | 67.43 | 912 | 0 |
ERP | sas-650G-2A2 | primary | 650.00 | 278.50 | 42.85 | 57.15 | 94 | 1020 |
ERP | sas-650G-2A2 | secondary | 650.00 | 278.50 | 42.85 | 57.15 | 1114 | 0 |
ERP | sas-320G-2A5 | primary | 320.00 | 153.75 | 48.05 | 51.95 | 69 | 546 |
ERP | sas-320G-2A5 | secondary | 320.00 | 153.75 | 48.05 | 51.95 | 615 | 0 |
ERP | sas-550G-2A8 | primary | 550.00 | 207.25 | 37.68 | 62.32 | 634 | 195 |
ERP | sas-550G-2A8 | secondary | 550.00 | 207.50 | 37.73 | 62.27 | 830 | 0 |
ERP | sas-340G-248 | primary | 340.00 | 87.00 | 25.59 | 74.41 | 340 | 8 |
ERP | sas-340G-248 | secondary | 340.00 | 87.00 | 25.59 | 74.41 | 348 | 0 |
ERP | sas-270G-2D4 | primary | 270.00 | 87.00 | 32.22 | 67.78 | 72 | 276 |
ERP | sas-270G-2D4 | secondary | 270.00 | 86.75 | 32.13 | 67.87 | 347 | 0 |
ERP | sas-340G-1AF | primary | 340.00 | 79.50 | 23.38 | 76.62 | 318 | 0 |
ERP | sas-340G-1AF | secondary | 340.00 | 79.50 | 23.38 | 76.62 | 318 | 0 |
ERP | sas-300G-2D5 | primary | 300.00 | 80.25 | 26.75 | 73.25 | 66 | 255 |
ERP | sas-300G-2D5 | secondary | 300.00 | 80.25 | 26.75 | 73.25 | 321 | 0 |
ERP | flash-370G-2D6 | primary | 370.00 | 118.50 | 32.03 | 67.97 | 0 | 474 |
ERP | flash-370G-2D6 | secondary | 370.00 | 118.50 | 32.03 | 67.97 | 474 | 0 |
ERP | sas-80G-101 | primary | 80.00 | 34.25 | 42.81 | 57.19 | 114 | 23 |
ERP | sas-80G-101 | secondary | 80.00 | 34.25 | 42.81 | 57.19 | 137 | 0 |
ERP | sas-260G-2E8 | primary | 260.00 | 90.00 | 34.62 | 65.38 | 310 | 50 |
ERP | sas-260G-2E8 | secondary | 260.00 | 90.00 | 34.62 | 65.38 | 360 | 0 |
ERP | sas-430G-11B | primary | 430.00 | 184.75 | 42.97 | 57.03 | 510 | 229 |
ERP | sas-430G-11B | secondary | 430.00 | 184.75 | 42.97 | 57.03 | 739 | 0 |
ERP | sas-460G-1D4 | primary | 460.00 | 179.75 | 39.08 | 60.92 | 669 | 50 |
ERP | sas-460G-1D4 | secondary | 460.00 | 179.75 | 39.08 | 60.92 | 719 | 0 |
ERP | sas-520G-236 | primary | 520.00 | 199.50 | 38.37 | 61.63 | 331 | 467 |
ERP | sas-520G-236 | secondary | 520.00 | 199.50 | 38.37 | 61.63 | 798 | 0 |
ERP | sas-170G-180 | primary | 170.00 | 62.00 | 36.47 | 63.53 | 204 | 44 |
ERP | sas-170G-180 | secondary | 170.00 | 62.00 | 36.47 | 63.53 | 248 | 0 |
ERP | sas-100G-14A | primary | 100.00 | 35.50 | 35.50 | 64.50 | 139 | 3 |
ERP | sas-100G-14A | secondary | 100.00 | 35.50 | 35.50 | 64.50 | 142 | 0 |
ERP | sas-210G-25B | primary | 210.00 | 84.75 | 40.36 | 59.64 | 157 | 182 |
ERP | sas-210G-25B | secondary | 210.00 | 84.75 | 40.36 | 59.64 | 339 | 0 |
ERP | sas-170G-22E | primary | 170.00 | 65.00 | 38.24 | 61.76 | 133 | 127 |
ERP | sas-170G-22E | secondary | 170.00 | 65.00 | 38.24 | 61.76 | 260 | 0 |
TSM OpCenter | sas-26G-301 | primary | 26.00 | 9.25 | 35.58 | 64.42 | 37 | 0 |
TSM OpCenter | sas-26G-301 | secondary | 26.00 | 9.25 | 35.58 | 64.42 | 37 | 0 |
VMware ESX | sas-1024G-1A7 | primary | 1024.00 | 290.25 | 28.34 | 71.66 | 1161 | 0 |
VMware ESX | sas-1024G-1A7 | secondary | 1024.00 | 290.25 | 28.34 | 71.66 | 1161 | 0 |
VMware ESX | sas-2000G-172 | primary | 2000.00 | 1030.75 | 51.54 | 48.46 | 2268 | 1855 |
VMware ESX | sas-2000G-172 | secondary | 2000.00 | 1030.75 | 51.54 | 48.46 | 4123 | 0 |
VMware ESX | sas-2000G-222 | primary | 2000.00 | 1074.50 | 53.73 | 46.27 | 2940 | 1358 |
VMware ESX | sas-2000G-222 | secondary | 2000.00 | 1074.50 | 53.73 | 46.27 | 4298 | 0 |
VMware ESX | sas-2000G-2B1 | primary | 2000.00 | 800.00 | 40.00 | 60.00 | 2632 | 568 |
VMware ESX | sas-2000G-2B1 | secondary | 2000.00 | 799.75 | 39.99 | 60.01 | 3199 | 0 |
Windows Package | sas-300G-1B8 | primary | 300.00 | 185.25 | 61.75 | 38.25 | 552 | 189 |
Windows Package | sas-300G-1B8 | secondary | 300.00 | 185.00 | 61.67 | 38.33 | 740 | 0 |
Xen Server | sas-512G-1AC | primary | 512.00 | 244.50 | 47.75 | 52.25 | 975 | 3 |
Xen Server | sas-512G-1AC | secondary | 512.00 | 238.50 | 46.58 | 53.42 | 954 | 0 |
Xen Server | sas-512G-1AD | primary | 512.00 | 212.25 | 41.46 | 58.54 | 750 | 99 |
Xen Server | sas-512G-1AD | secondary | 512.00 | 206.75 | 40.38 | 59.62 | 827 | 0 |
Xen Server | sas-512G-26D | primary | 512.00 | 175.50 | 34.28 | 65.72 | 661 | 41 |
Xen Server | sas-512G-26D | secondary | 512.00 | 170.50 | 33.30 | 66.70 | 682 | 0 |
Xen Server | sas-512G-283 | primary | 512.00 | 242.25 | 47.31 | 52.69 | 848 | 121 |
Xen Server | sas-512G-283 | secondary | 512.00 | 238.75 | 46.63 | 53.37 | 955 | 0 |
Xen Server | sas-512G-2B2 | primary | 512.00 | 147.75 | 28.86 | 71.14 | 12 | 579 |
Xen Server | sas-512G-2B2 | secondary | 512.00 | 141.50 | 27.64 | 72.36 | 566 | 0 |
Xen Server | sas-512G-2D7 | primary | 512.00 | 221.00 | 43.16 | 56.84 | 35 | 849 |
Xen Server | sas-512G-2D7 | secondary | 512.00 | 219.50 | 42.87 | 57.13 | 878 | 0 |
Xen Server | sas-512G-2E9 | primary | 512.00 | 151.25 | 29.54 | 70.46 | 600 | 5 |
Xen Server | sas-512G-2E9 | secondary | 512.00 | 146.50 | 28.61 | 71.39 | 586 | 0 |
Xen Server | sas-512G-332 | primary | 512.00 | 61.75 | 12.06 | 87.94 | 245 | 2 |
Xen Server | sas-512G-332 | secondary | 512.00 | 60.75 | 11.87 | 88.13 | 243 | 0 |
Xen Server | sas-512G-341 | primary | 512.00 | 225.50 | 44.04 | 55.96 | 854 | 48 |
Xen Server | sas-512G-341 | secondary | 512.00 | 219.00 | 42.77 | 57.23 | 876 | 0 |
2014-07-22 // Nagios Monitoring - Infortrend EonStor (Update)
After gaining some operational experience with the previously introduced Nagios plugin for Infortrend EonStor and EonStor DS storage arrays, some issues became apparent which needed to be addressed in an update. The updated version of the Nagios plugin check_infortrend.sh fixes the following issues:
Newer array firmware versions use different severity strings for event log entries. The Nagios plugin has been adapted to be able to cope with these.
Due to a limitation in the array firmware, event log entries available via SNMP are not cleared when the corresponding event log entries are cleared via RAIDWatch or SANWatch. They are only cleared during a controller reboot. A support case with Infortrend confirmed this and it is currently under investigation whether this feature could be added for future releases of the array firmware.
In the meantime a workaround to address this behaviour has been added to the Nagios plugin. In order to not constantly get alarms about already addressed events, the date of the event will now – along with the already used severity of the event – be taken into consideration. By default only events within the past 60 minutes will be evaluated. The extent of time to look into the past can be overridden from the default with the new “
-t <minutes>
” command line option of the Nagios plugin. E.g. “-t 120
” will evaluate events within the past 2 hours. You might need to adjust the definition of thecheck_infortrend_events
command to suite your environment, e.g.:# check Infortrend ESDS cache status define command { command_name check_infortrend_events command_line $USER1$/check_infortrend.sh -H $HOSTNAME$ -C events -t <minutes> }
There are several pitfalls here though:
Make sure the timeframe aligns with your Nagios configuration options
max_check_attempts
,normal_check_interval
andretry_check_interval
to actually allow non-normal events to trigger an alarm. Generally speaking, the cumulated timeframe of the three Nagios configuration options of yourCheck_IFT_Events
service check must be smaller than the timeframe given in the definition of thecheck_infortrend_events
command.Make sure you set the date and time on the array to the correct values or preferably use a SNTP server. Also, make sure the Nagios server and the array use the same timezone, preferably UTC in both cases.
Not exactly an issue with the Nagios plugin per se, but related to the monitoring of Infortrend storage arrays in general, is an adapted SNMPTT configuration. Since all SNMP traps generated from events of Infortrend arrays are indiscriminately reported with the same OID, a bit more extensive parsing of the SNMP traps needs to occur. In order to achieve this, the following entries should be used in the
snmptt.conf.infortrend
SNMPTT configuration file:- /opt/snmptt/conf/snmptt.conf.infortrend
EVENT iftEventText .1.3.6.1.4.1.1714.0.1 "Status Events" Critical FORMAT The description of the event $* MATCH $*: ( \[Alert Condition\]) MATCH $*: ( \[Critical\]) MATCH $*: ( \[Critical Error\]) MATCH $*: ( \[Error\]) SDESC The description of the event Variables: EDESC EVENT iftEventText .1.3.6.1.4.1.1714.0.1 "Status Events" Warning FORMAT The description of the event $* MATCH $*: ( \[Warning Condition\]) MATCH $*: ( \[Warning\]) SDESC The description of the event Variables: EDESC EVENT iftEventText .1.3.6.1.4.1.1714.0.1 "Status Events" Normal FORMAT The description of the event $* MATCH $*: ( \[Information\]) MATCH $*: ( \[Notification\]) SDESC The description of the event Variables: EDESC
and the SNMPTT daemon should be restarted.
If you happen to find any additional issues with monitoring your Infortrend systems with this Nagios plugin, please feel free to leave a comment or drop me a note via email.
2014-05-18 // AIX and VIOS Performance with 10 Gigabit Ethernet (Update)
Error: Class "lessc" not found
An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the fontcolor plugin.
More info has been written to the DokuWiki error log.