NetAppの設定内容をcsvファイルに出力したい

NetAppで現在設定されているCIFS共有情報を取得するため、「vserver cifs share show」を実行。

netapp::> vserver cifs share show
Vserver        Share         Path              Properties Comment  ACL
-------------- ------------- ----------------- ---------- -------- -----------
svm0           c$            /                 oplocks    -        BUILTIN\Administrators / Full Control
                                               browsable
                                               changenotify
                                               show-previous-versions
svm0           ipc$          /                 browsable  -        -
svm0           shares        /shares_dr        oplocks    -        Everyone / Full Control
                                               browsable
                                               changenotify
                                               show-previous-versions
svm0           testqtee      /shares_dr/       oplocks    -        Everyone / Full Control
                             testqtree         browsable
                                               changenotify
                                               show-previous-versions
4 entries were displayed.

netapp::>

ちょっと再利用しにくい形式となっている

-fieldsオプションで上記で表示されている内容を列挙すればもうちょっと分かりやすくなるはず…

netapp::> vserver cifs share show -fields vserver,share-name,path,share-properties,acl
vserver share-name path share-properties                                      acl                               
------- ---------- ---- ----------------------------------------------------- ---------------------------------------
svm0    c$         /    oplocks,browsable,changenotify,show-previous-versions "BUILTIN\Administrators / Full Control"
svm0    ipc$       /    browsable                                             -                                 
svm0    shares     /shares_dr
                        oplocks,browsable,changenotify,show-previous-versions "Everyone / Full Control"         
svm0    testqtee   /shares_dr/testqtree
                        oplocks,browsable,changenotify,show-previous-versions "Everyone / Full Control"         
4 entries were displayed.
netapp::>

各要素の区切りが不定となっていてやはり使いにくい。

調べると「set」コマンドでいろいろ調整できることが分かった

netapp::> set
User Name:             admin
Profile Name:          admin
Privilege Level:       admin
Confirmation Messages: on
Show All Fields:       false
Show Field Separator:
Data Units:            auto
Pagination Rows:       24
Default Vserver:
Default Node:
Stop On Error:         false
Prompt Timestamp:
netapp::>

このオプション群の中でよく設定される項目は下記2個

・Pagination Rows: これを「0」と設定すると、出力が長い場合でも途中で止まらない
・Data Units:これがautoの場合、出力される単位がGB,TBで不定となる。「GB」と指定すると全てGB換算で表示されるようになる。

「Show Field Separator:」は標準では何も設定されていないので、ここに「,」を指定してみるため「set -showseparator “,”」と実行。

netapp::> set -showseparator ","

netapp::> set
User Name:             admin
Profile Name:          admin
Privilege Level:       admin
Confirmation Messages: on
Show All Fields:       false
Show Field Separator:  ,
Data Units:            auto
Pagination Rows:       24
Default Vserver:
Default Node:
Stop On Error:         false
Prompt Timestamp:

netapp::>

「vserver cifs share show」を実行してみると

netapp::> vserver cifs share show
Vserver        Share         Path              Properties Comment  ACL
-------------- ------------- ----------------- ---------- -------- -----------
svm0           c$            /                 oplocks    -        BUILTIN\Administrators / Full Control
                                               browsable
                                               changenotify
                                               show-previous-versions
svm0           ipc$          /                 browsable  -        -
svm0           shares        /shares_dr        oplocks    -        Everyone / Full Control
                                               browsable
                                               changenotify
                                               show-previous-versions
svm0           testqtee      /shares_dr/       oplocks    -        Everyone / Full Control
                             testqtree         browsable
                                               changenotify
                                               show-previous-versions
4 entries were displayed.

netapp::> vserver cifs share show -fields vserver,share-name,path,share-properties,acl
vserver,share-name,path,share-properties,acl,
Vserver,Share,Path,Share Properties,Share ACL,
svm0,c$,/,oplocks,browsable,changenotify,show-previous-versions,"BUILTIN\Administrators / Full Control",
svm0,ipc$,/,browsable,-,
svm0,shares,/shares_dr,oplocks,browsable,changenotify,show-previous-versions,"Everyone / Full Control",
svm0,testqtee,/shares_dr/testqtree,oplocks,browsable,changenotify,show-previous-versions,"Everyone / Full Control",

netapp::>

-fieldsオプションをつけている場合に、「,」区切りになっているように見える。

しかし・・・よく見てみるとおかしい

「Properties」の値は元々「oplocks,browsable,changenotify,show-previous-versions」だったのだが、showseparator設定後は、Properites内の「,」と、各値の区切りの「,」の見分けがつかない状態で出力されています。

果たしてどんな記号をseparatorとして設定すれば適切なのかぐぐってみるとNetApp communityの「Netapp cli output to csv or excel」に「!」を設定すれば?という記載を発見。

確かに!を設定内で使うことは少ないので、見分けはつきそうです。

netapp::> set -showseparator "!"

netapp::> set
User Name:             admin
Profile Name:          admin
Privilege Level:       admin
Confirmation Messages: on
Show All Fields:       false
Show Field Separator:  !
Data Units:            auto
Pagination Rows:       24
Default Vserver:
Default Node:
Stop On Error:         false
Prompt Timestamp:

netapp::>

「vserver cifs share show」の結果を確認してみます。

netapp::> vserver cifs share show -fields vserver,share-name,path,share-properties,acl
vserver!share-name!path!share-properties!acl!
Vserver!Share!Path!Share Properties!Share ACL!
svm0!c$!/!oplocks,browsable,changenotify,show-previous-versions!"BUILTIN\Administrators / Full Control"!
svm0!ipc$!/!browsable!-!
svm0!shares!/shares_dr!oplocks,browsable,changenotify,show-previous-versions!"Everyone / Full Control"!
svm0!testqtee!/shares_dr/testqtree!oplocks,browsable,changenotify,show-previous-versions!"Everyone / Full Control"!

netapp::>

これでなんとか見分けはつきそうです。

さて、setで表示される設定で「Show All Fields」という項目があります。

これをtrueと設定すると、filedsを指定しなくとも、全ての設定が表示されるようになります。

netapp::> set -showallfields true
::> vserver cifs share show
vserver!share-name!cifs-server!path!share-properties!symlink-properties!file-umask!dir-umask!comment!acl!attribute-cache-ttl!volume!offline-files!vscan-fileop-profile!max-connections-per-share!force-group-for-create!
Vserver!Share!CIFS Server NetBIOS Name!Path!Share Properties!Symlink Properties!File Mode Creation Mask!Directory Mode Creation Mask!Share Comment!Share ACL!File Attribute Cache Lifetime!Volume Name!Offline Files!Vscan File-Operations Profile!Maximum Tree Connections on Share!UNIX Group for File Create!
svm0!c$!SHARE56A!/!oplocks,browsable,changenotify,show-previous-versions!symlinks!-!-!-!"BUILTIN\Administrators / Full Control"!-!svm0_root!-!standard!4294967295!-!
svm0!ipc$!SHARE56A!/!browsable!-!-!-!-!-!-!svm0_root!-!standard!4294967295!-!
svm0!shares!SHARE56A!/shares_dr!oplocks,browsable,changenotify,show-previous-versions!symlinks!-!-!-!"Everyone / Full Control"!-!shares_dr!manual!standard!4294967295!-!
svm0!testqtee!SHARE56A!/shares_dr/testqtree!oplocks,browsable,changenotify,show-previous-versions!symlinks!-!-!-!"Everyone / Full Control"!-!shares_dr!manual!standard!4294967295!-!
netapp::>

ただ、これを常に設定してしまうとdfコマンドなどでも詳細表示となってしまうため、使用には注意が必要です。

netapp::> df
vserver!volume!aggregate!fs-type!filesys-name!total-space!total-hybrid-cache-size!used-space!percent-used-space!available-space!reserved-space!total-space-bin1!used-space-bin1!available-space-bin1!inodes-used!percent-inodes-used!inodes-free!total-saved!percent-total-saved!dedupe-saved!percent-dedupe-saved!compression-saved!percent-compression-saved!mounted-on!bin1-name!
Vserver Name!Volume Name!Aggregate Name!Snapshot or Active File System!Volume File System Name!Total Space!Total Size of SSD Tier of a Flash Pool!Used Space!Percentage of Used Space!Available Space!Reserved Space!Total Space in First Bin!Used Space in First Bin!Available Space in First Bin!Inodes Used!Percentage of Inodes Used!Inodes Available!Total Space Saved!Percentage Total Space Saved!Space Saved by Deduplication!Percentage Saved by Deduplication!Space Saved by Compression!Percentage Saved by Compression!Mount Path of the File System!Composite Aggr Name for First Bin!
svm0!shares_dr!""!active!/vol/shares_dr/!22072528!-!25512!0%!22047016!0!-!-!-!174!0%!655104!21716!46%!21716!46%!0!0%!/shares_dr!-!
svm0!shares_dr!""!snapshot!/vol/shares_dr/.snapshot!0!-!6876!0%!0!0!-!-!-!0!0%!0!0!0%!0!0%!0!0%!/shares_dr/.snapshot!-!
svm0!svm0_root!""!active!/vol/svm0_root/!19456!-!1828!9%!17628!0!-!-!-!102!18%!464!0!0%!0!0%!0!0%!/!-!
svm0!svm0_root!""!snapshot!/vol/svm0_root/.snapshot!1024!-!2348!229%!0!0!-!-!-!0!0%!0!0!0%!0!0%!0!0%!//.snapshot!-!
netapp-01!vol0!""!active!/vol/vol0/!7081552!-!2331900!32%!4749652!0!-!-!-!36502!16%!184784!0!0%!0!0%!0!0%!---!-!
netapp-01!vol0!""!snapshot!/vol/vol0/.snapshot!372712!-!0!0%!372712!0!-!-!-!0!0%!0!0!0%!0!0%!0!0%!---!-!

netapp::>

必要が無くなったら「set -showallfields false」を実行して解除します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください