[gpfsug-discuss] Getting inode information with REST API V2
Sven Siebler
sven.siebler at urz.uni-heidelberg.de
Wed Sep 5 12:44:32 BST 2018
Hi Andreas,
i've forgotten to mention that we are currently using ISS v4.2.1, not
v5.0.0.
Invastigating the command i got the following:
# /usr/lpp/mmfs/gui/cli/runtask FILESETS --debug
debug: locale=en_US
debug: Running 'mmlsfileset 'lsdf02' -di -Y ' on node localhost
debug: Raising event: inode_normal
debug: Running 'mmsysmonc event 'filesystem' 'inode_normal'
'lsdf02/sd17e005' 'lsdf02/sd17e005,' ' on node localhost
debug: Raising event: inode_normal
debug: Running 'mmsysmonc event 'filesystem' 'inode_normal'
'lsdf02/sd17g004' 'lsdf02/sd17g004,' ' on node localhost
[...]
debug: perf: Executing mmhealth node show --verbose -N 'llsdf02e4' -Y
took 1330ms
[...]
debug: Inserting 0 new informational HealthEvents for node llsdf02e4
debug: perf: processInfoEvents() with 2 events took 5ms
debug: perf: Parsing 23 state rows took 9ms
debug: Deleted 0 orphaned states.
debug: Loaded list of state changing HealthEvent objects. Size: 4
debug: Inserting 0 new state changing HealthEvents in the history table
for node llsdf02e4
debug: perf: processStateChangingEvents() with 3 events took 2ms
debug: perf: pool-90578-thread-1 - Processing 5 eventlog rows of node
llsdf02e4 took 10ms in total
debug: Deleted 0 orphaned states from history.
debug: Loaded list of state changing HealthEvent objects. Size: 281
debug: Inserting 0 new state changing HealthEvents for node llsdf02e4
debug: perf: Processing 23 state rows took 59ms in total
The command takes very long due to the -di option.
I tried also your posted zimon command:
# echo "get -a metrics
max(gpfs_fset_maxInodes),max(gpfs_fset_freeInodes),max(gpfs_fset_allocInodes)
from gpfs_fs_name=lsdf02 group_by gpfs_fset_name last 13 bucket_size
300" | /opt/IBM/zimon/zc 127.0.0.1
Error: No data available for query: 6396075
In the Admin GUI i noticed that the Information in "Files -> Filesets ->
<Filesetname> -> Details" shows inconsistent inode information, e.g.
in Overview:
Inodes: 76M
Max Inodes: 315M
in Properties:
Inodes: 1
Max inodes: 314572800
thanks,
Sven
On 05.09.2018 11:13, Andreas Koeninger wrote:
> Hi Sven,
> the REST API v2 provides similar information to what v1 provided. See
> an example from my system below:
> /scalemgmt/v2/filesystems/gpfs0/filesets?fields=:all:
> [...]
> "filesetName" : "fset1",
> "filesystemName" : "gpfs0",
> "usage" : {
> "allocatedInodes" : 51232,
> "inodeSpaceFreeInodes" : 51231,
> "inodeSpaceUsedInodes" : 1,
> "usedBytes" : 0,
> "usedInodes" : 1
> }
> } ],
> *In 5.0.0 there are two sources for the inode information: the first
> one is mmlsfileset and the second one is the data collected by Zimon.*
> Depending on the availability of the data either one is used.
>
> To debug what's happening on your system you can *execute the FILESETS
> task on the GUI node* manually with the --debug flag. The output is
> then showing the exact queries that are used to retrieve the data:
> *[root at os-11 ~]# /usr/lpp/mmfs/gui/cli/runtask FILESETS --debug*
> debug: locale=en_US
> debug: Running 'mmlsfileset 'gpfs0' -Y ' on node localhost
> debug: Running zimon query: 'get -ja metrics
> max(gpfs_fset_maxInodes),max(gpfs_fset_freeInodes),max(gpfs_fset_allocInodes),max(gpfs_rq_blk_current),max(gpfs_rq_file_current)
> from gpfs_fs_name=gpfs0 group_by gpfs_fset_name last 13 bucket_size 300'
> debug: Running 'mmlsfileset 'objfs' -Y ' on node localhost
> debug: Running zimon query: 'get -ja metrics
> max(gpfs_fset_maxInodes),max(gpfs_fset_freeInodes),max(gpfs_fset_allocInodes),max(gpfs_rq_blk_current),max(gpfs_rq_file_current)
> from gpfs_fs_name=objfs group_by gpfs_fset_name last 13 bucket_size 300'
> EFSSG1000I The command completed successfully.
> *As a start I suggest running the displayed Zimon queries manually to
> see what's returned there, e.g.:*
> /(Removed -j for better readability)/
>
> *[root at os-11 ~]# echo "get -a metrics
> max(gpfs_fset_maxInodes),max(gpfs_fset_freeInodes),max(gpfs_fset_allocInodes),max(gpfs_rq_blk_current),max(gpfs_rq_file_current)
> from gpfs_fs_name=gpfs0 group_by gpfs_fset_name last 13 bucket_size
> 300" | /opt/IBM/zimon/zc 127.0.0.1*
> 1:
> gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|.audit_log|gpfs_fset_maxInodes
> 2: gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|fset1|gpfs_fset_maxInodes
> 3: gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|root|gpfs_fset_maxInodes
> 4:
> gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|.audit_log|gpfs_fset_freeInodes
> 5: gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|fset1|gpfs_fset_freeInodes
> 6: gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|root|gpfs_fset_freeInodes
> 7:
> gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|.audit_log|gpfs_fset_allocInodes
> 8: gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|fset1|gpfs_fset_allocInodes
> 9: gpfs-cluster-1.novalocal|GPFSFileset|gpfs0|root|gpfs_fset_allocInodes
> Row Timestamp max(gpfs_fset_maxInodes)
> max(gpfs_fset_maxInodes) max(gpfs_fset_maxInodes)
> max(gpfs_fset_freeInodes) max(gpfs_fset_freeInodes)
> max(gpfs_fset_freeInodes) max(gpfs_fset_allocInodes)
> max(gpfs_fset_allocInodes) max(gpfs_fset_allocInodes)
> 1 2018-09-05 10:10:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 2 2018-09-05 10:15:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 3 2018-09-05 10:20:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 4 2018-09-05 10:25:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 5 2018-09-05 10:30:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 6 2018-09-05 10:35:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 7 2018-09-05 10:40:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 8 2018-09-05 10:45:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 9 2018-09-05 10:50:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 10 2018-09-05 10:55:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 11 2018-09-05 11:00:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 12 2018-09-05 11:05:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> 13 2018-09-05 11:10:00 100000 620640 65792 65795
> 51231 61749 65824 51232 65792
> .
>
> Mit freundlichen Grüßen / Kind regards
>
> Andreas Koeninger
> Scrum Master and Software Developer / Spectrum Scale GUI and REST API
> IBM Systems &Technology Group, Integrated Systems Development / M069
> -------------------------------------------------------------------------------------------------------------------------------------------
> IBM Deutschland
> Am Weiher 24
> 65451 Kelsterbach
> Phone: +49-7034-643-0867
> Mobile: +49-7034-643-0867
> E-Mail: andreas.koeninger at de.ibm.com
> -------------------------------------------------------------------------------------------------------------------------------------------
> IBM Deutschland Research & Development GmbH / Vorsitzende des
> Aufsichtsrats: Martina Koederitz
> Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen /
> Registergericht: Amtsgericht Stuttgart, HRB 243294
>
> ----- Original message -----
> From: Sven Siebler <sven.siebler at urz.uni-heidelberg.de>
> Sent by: gpfsug-discuss-bounces at spectrumscale.org
> To: gpfsug-discuss at spectrumscale.org
> Cc:
> Subject: [gpfsug-discuss] Getting inode information with REST API V2
> Date: Wed, Sep 5, 2018 9:37 AM
> Hi all,
>
> i just started to use the REST API for our monitoring and my
> question is
> concerning about how can i get information about allocated inodes with
> REST API V2 ?
>
> Up to now i use "mmlsfileset" directly, which gives me information on
> maximum and allocated inodes (mmdf for total/free/allocated inodes of
> the filesystem)
>
> If i use the REST API V2 with
> "filesystems/<filesystem_name>/filesets?fields=:all:", i get all
> information except the allocated inodes.
>
> On the documentation
> (https://www.ibm.com/support/knowledgecenter/en/STXKQY_5.0.0/com.ibm.spectrum.scale.v5r00.doc/bl1adm_apiv2getfilesystemfilesets.htm)
> i found:
>
> > "inodeSpace": "Inodes"
> > The number of inodes that are allocated for use by the fileset.
>
> but for me the inodeSpace looks more like the ID of the inodespace,
> instead of the number of allocated inodes.
>
> In the documentation example the API can give output like this:
>
> "filesetName" : "root",
> "filesystemName" : "gpfs0",
> "usage" : {
> "allocatedInodes" : 100000,
> "inodeSpaceFreeInodes" : 95962,
> "inodeSpaceUsedInodes" : 4038,
> "usedBytes" : 0,
> "usedInodes" : 4038
> }
>
> but i could not retrieve such usage-fields in my queries.
>
> The only way for me to get inode information with REST is the
> usage of V1:
>
> https://REST_API_host:port/scalemgmt/v1/filesets?filesystemName=FileSystemName
>
> which gives exact the information of "mmlsfileset".
>
> But because V1 is deprecated i want to use V2 for rewriting our
> tools...
>
> Thanks,
>
> Sven
>
>
> --
> Sven Siebler
> Servicebereich Future IT - Research & Education (FIRE)
>
> Tel. +49 6221 54 20032
> sven.siebler at urz.uni-heidelberg.de
> Universität Heidelberg
> Universitätsrechenzentrum (URZ)
> Im Neuenheimer Feld 293, D-69120 Heidelberg
> http://www.urz.uni-heidelberg.de
>
> _______________________________________________
> gpfsug-discuss mailing list
> gpfsug-discuss at spectrumscale.org
> http://gpfsug.org/mailman/listinfo/gpfsug-discuss
>
>
--
Sven Siebler
Servicebereich Future IT - Research & Education (FIRE)
Tel. +49 6221 54 20032
sven.siebler at urz.uni-heidelberg.de
Universität Heidelberg
Universitätsrechenzentrum (URZ)
Im Neuenheimer Feld 293, D-69120 Heidelberg
http://www.urz.uni-heidelberg.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5437 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://gpfsug.org/pipermail/gpfsug-discuss_gpfsug.org/attachments/20180905/3e4f65e6/attachment-0001.bin>
More information about the gpfsug-discuss
mailing list