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」を実行して解除します。

NetApp ONTAPのサポート期間とサポートバージョンの確認


NetApp ONTAPのサポート期間(End of support / EOS)を確認するときにどこを見ればいいか忘れてしまうのでメモ

基本的には 「Software Version Support 」でサポート期間を確認する

ただし、このページ、日本語表示だと情報が古くONTAP 9.9.1までしか掲載されていない(2022/11/02現在) 古い情報のままになっていることがある。

その場合は「English」に変更すると最新情報 ONTAP 9.11.1についても確認出来る。

また、別のページに「SU2: Minimum Recommended ONTAP releases on the NetApp Support Site」という形で各ONTAP OSバージョンでも、最低要求するパッチバージョンの指定、というのがされている。
詳細については→ Active Directoryサーバのセキュリティ強化アップデート(CVE-2022-38023)に伴うONTAPファイルサーバへの影響についてのメモ

2023/09/18付け更新ではONTAP 9.8~9.13.1について下記の様に定義されている。

  • For ONTAP 9.13x, the minimum recommended version is 9.13.1P1.
  • For ONTAP 9.12x, the minimum recommended version is 9.12.1P5.
  • For ONTAP 9.11x, the minimum recommended version is 9.11.1P11.
  • For ONTAP 9.10x, the minimum recommended version is 9.10.1P14.
  • For ONTAP 9.9x, the minimum recommended version is 9.9.1P15.
  • For ONTAP 9.8x, the minimum recommended version is 9.8P18.

なお、2023年7月のWindows UpdateによりActive Directoryサービスのセキュリティ強化が行われた影響で、これらのバージョンより低いとActive Directory連携が動かなくなっているので注意してください。

ちなみに、2022/10/24付け更新で、ONTAP 9.7~9.11.1については下記の様に定義されていた。

  • For ONTAP 9.11x, the minimum recommended version is 9.11.1P3.
  • For ONTAP 9.10x, the minimum recommended version is 9.10.1P8.
  • For ONTAP 9.9x, the minimum recommended version is 9.9.1P12.
  • For ONTAP 9.8x, the minimum recommended version is 9.8P14.
  • For ONTAP 9.7x, the minimum recommended version is 9.7P20.

実はこのページ、したの方が重要で、「Download」のリンク集からアクセスできない古いONTAP OSのパッチがダウンロードできるリンクがある。

Clustered Data ONTAP 8.3.2P12Clustered Data ONTAP 8.2.4P6がダウンロードできる。

7-modeのData ONTAP 8.2.5P5もダウンロードできる。


ONTAPと対象機種についてのメモ

・ONTAP 9.13.1 で追加
FAS2820, ASA A150, ASA A900

・ONTAP 9.12.1 で追加
AFF C250, AFF C400, AFF C800, AFF A150

・ONTAP 9.10.1 で追加
AFF A900

・ONTAP 9.9.1 で削除(非サポート)
FAS80xx, AFF80xx, FAS25xx

・ONTAP 9.8で追加
AFF A250, FAS500f, ASA AFF A800

・ONTAP 9.7で追加
FAS8300, FA8700, AFF A400, ASA AFF A220, ASA AFF A700

・ONTAP 9.6で追加
AFF C190, AFF A320
ディスクシェルフ NS224

・ONTAP 9.5で追加
AFF A300, FAS8200

・ONTAP 9.1で追加
FAS2720, FAS2750, AFF A220, AFF A800

・ONTAP 9.1でサポートしているハードウェア
FAS2600シリーズ, FAS8200, FAS9000, AFF A200, AFF A300, AFF A700, AFF A700s
ディスクシェルフ DS460C, DS224C, DS212C


ONTAPバージョンとsnapmirror互換性

以前はONTAPバージョンが3つ違いまでOK、というような感じだった

2023年9月時点での資料「Compatible ONTAP versions for SnapMirror relationships」(日本語ページは自動翻訳のためいらない場所まで翻訳することがあるため注意)

・Unified Replication(XDP)でのsnapmirrorの場合
ONTAP 9.13.1の対応範囲: ONTAP 9.14.0 ~ ONTAP 9.8
ONTAP 9.12.1の対応範囲: ONTAP 9.14.0 ~ ONTAP 9.7
ONTAP 9.11.1の対応範囲: ONTAP 9.14.0 ~ ONTAP 9.6
ONTAP 9.10.1の対応範囲: ONTAP 9.14.0 ~ ONTAP 9.5
ONTAP 9.9.1の対応範囲: ONTAP 9.14.0 ~ ONTAP 9.5
ONTAP 9.8の対応範囲: ONTAP 9.14.0 ~9.5, 9.3 (9.4は不可)
ONTAP 9.7の対応範囲: ONTAP 9.12.1 ~9.5, 9.3 (9.4は不可)

・SVM情報ごと同期を行うSVM-DRの場合
3バージョンしばりがある

・旧形式(DP)のsnapmirrorの場合
3バージョンしばりがある
また、DP形式は9.11.1までのサポートで、9.12.1では使えない

NetAppのボリューム上に.copy_offloadという隠しファイル?ディレクトリ?がある


ONTAPで重複排除を行っているボリュームでSMB 3.0によるODXオフロード機能が働くと.copy_offload という隠しファイルがある、というので確認してみた。

まず、NFSで該当ボリュームをマウントしてls -laで見てみる

# ls -la /mnt/shares/
合計 12
drwxrwxrwx. 3 nobody nobody 4096 10月 12 16:05 .
drwxr-xr-x. 4 nobody nobody 4096  9月 12 10:44 ..
-rwxrwxrwx. 1 nobody nobody   12 10月 12 16:05 test.txt
drwxr-xr-x. 2 nobody nobody 4096 10月 12 16:03 testqtree
#

次にNetAppのdiagモードにあるlsコマンドで見てみる

ontap::*> system node run -node ontap-01 -command ls -a /vol/shares
        64 .
        64 ..
        96 testqtree
        97 test.txt
ontap::*>

重複排除が稼働していない状態では .copy_offload は存在していないということを確認した。

次に、CIFS側からtest2というディレクトリを作って、そこに同じファイルを別名でコピーしてしてみた。

NFSでマウントしてみてみる。

# ls -la /mnt/shares/
合計 16
drwxrwxrwx. 5 nobody nobody 4096 10月 12 16:20 .
drwxr-xr-x. 4 nobody nobody 4096  9月 12 10:44 ..
-rwxrwxrwx. 1 nobody nobody   12 10月 12 16:05 test.txt
drwxrwxrwx. 2 nobody nobody 4096 10月 12 16:20 test2
drwxr-xr-x. 2 nobody nobody 4096 10月 12 16:03 testqtree
#

一般的なクライアントアクセスでは存在を確認できない。

では、NetApp内部で確認するとどうなるのか?

ontap::*> system node run -node ontap-01 -command ls -a /vol/shares/
        64 .
        64 ..
        96 testqtree
       101 .copy_offload
        97 test.txt
        98 test2
ontap::*> system node run -node ontap-01 -command ls -al /vol/shares/
d-rwxrwxrwx       1026         64      5             4096       Wed Oct 12 07:20:48 UTC 2022     .  1662947040
d-rwxrwxrwx       1026         64      5             4096       Wed Oct 12 07:20:48 UTC 2022     ..  1662947040
d-rwxr-xr-x       1026         96      2             4096       Wed Oct 12 07:03:49 UTC 2022     testqtree       43900
 ----------          0        101      0                0       Thu Jan  1 00:00:00 UTC 1970     .copy_offload      139686
 arwxrwxrwx       1026         97      1               12       Wed Oct 12 07:05:28 UTC 2022     test.txt       52407
d-rwxrwxrwx       1026         98      2             4096       Wed Oct 12 07:20:54 UTC 2022     test2      136061

ontap::*>

「.copy_offload」というファイルなのかディレクトリなのかよくわからない何かが作成されていることを確認した。

ONTAP 9.9.1では通常のNFS/CIFSアクセスでは認識できないものであるので、通常利用時は特に気にする必要がないものであるようだ。

なお、NFSアクセスで.copy_offloadというファイルが作成できるかを確認してみたところ、作成がエラーとなったが「そのようなファイルやディレクトリはありません(No such file or directory)」という微妙なメッセージでの失敗だった。

# touch /mnt/shares/.copy_offload
touch: '/mnt/shares/.copy_offload' に touch できません: そのようなファイルやディレクトリはありません
# echo test > /mnt/shares/.copy_offload
-bash: /mnt/shares/.copy_offload: そのようなファイルやディレクトリはありません
# echo test > /mnt/shares/.copy_offload2
# ls -l /mnt/shares/.copy_offload*
-rw-r--r--. 1 nobody nobody 5 10月 12 16:45 /mnt/shares/.copy_offload2
# ls -la /mnt/shares/.copy_offload*
-rw-r--r--. 1 nobody nobody 5 10月 12 16:45 /mnt/shares/.copy_offload2
# export LANG=C
# echo test > /mnt/shares/.copy_offload
-bash: /mnt/shares/.copy_offload: No such file or directory
#

ONTAPシミュレータを9.7から9.10.1にアップデートしようとしたらIllegal instructionとwaiting until daemon ktlsd starts upで失敗した


※ この問題はシミュレータ環境で実施した場合の話で、実機では発生しないはずです

ONTAP 9.7からONTAP 9.10.1へのアップデートを行おうとした場合の手順を確認してみたところ、ドキュメントによれば、ダイレクトマルチホップアップデートを行うとある。

具体的にどう操作すればいいのか確認するために、vSphere仮想環境上にONTAPシミュレータ 9.7のOVAファイルを展開して実験することにした。

手順としては、管理Webの[クラスタ]-[概要]の「ONTAPの更新」にて、イメージの追加から「ONTAP 9.8のアップデートファイル」と「ONTAP 9.10.1のアップデートファイル」の2種類を追加する。

読み込みが終わったら「9.10.1」の方を選択して「更新」を実行

あとは終わるまでユーザができることはなにも無い。

まずはONTAP 9.7からONTAP 9.8へのアップデートが実行される

しばらくすると、ノードが再起動してONTAP 9.8で起動してくる。そして、ONTAP 9.10.1へのアップデートが始まる

終わるとONTAP 9.10.1で起動している、ということとなる。

が・・・ここまで来るのにいくつか問題が発生した。

vol0容量問題

vol0の容量が10GBだと途中で失敗した。とりあえず15GBで実施し、成功した。

ONTAP 9.8とONTAP 9.10.1のイメージを2つ処理するには不足していた模様。

ONTAPシミュレータ構築時にディスク構成を変えておくことを推奨する→「NetApp ONTAPシミュレータのディスク構成を変更する

作成済みの場合は、ディスクを追加する、という手順でも良い→「ONTAP 9.7シミュレータのシステムボリュームを拡張する

システムメモリ問題

ONTAPシミュレータ仮想マシンに割り当てるメモリはONTAP 9.10.1シミュレータでも6GBなので、メモリ6GBならいけるのかなー、と思ってたんですが失敗した際のメッセージの1つに「WAFL is running low on memory, with 14MB remaining.」というものが見られた。

このため、アップグレード処理にメモリ容量が6GBでは足らないのでは?という疑惑があったため、10GBに増やして実施した。

Illegal instruction問題

ONTAP 9.7からONTAP 9.8へのアップデートは問題なく完了し、ONTAP 9.10.1へのアップデートが行われようとするタイミングで「Illegal instruction」というエラーが表示された。

そのあと「Waiting until daemon ktlsd starts up.」というメッセージが無限に出力され続けた。

こちらについてはNetApp KBに「ONTAP Select Node fails to boot 9.9.1 due to “Illegal instruction”」というものが載っている。

ONTAP シミュレータ 9.7 でONTAP 9.10.1にアップデートしようとしてIllegal instructionが表示される、というのは微妙に関係していて、vSphere仮想マシンのHWバージョンの問題だった。

ONTAP シミュレータHWバージョン説明書きHWバージョン
8.3.2ESX/ESXi 4.x 仮想マシン7
9.1ESX/ESXi 4.x 仮想マシン7
9.7ESX/ESXi 4.x 仮想マシン7
9.8ESXi 5.5 仮想マシン10
9.10.1ESXi 5.5 仮想マシン10
9.11.1ESXi 5.5 仮想マシン10

上記の様にONTAP 9.8から使用する仮想マシンHWバージョンが変更になっている。

ONTAP シミュレータ9.7仮想マシンの仮想マシンHWを10に変更したところ、Illegal instruction無しにアップデート動作が実行できるようになった。


2023/11/01追記

ONTAP 9.5シミュレータ 仮想マシンはHW 4であるところをHW10にアップデート、またメモリを8GBから10GBに変更して起動してみたらが、特に動作上問題は発生しなかった。

また、ONTAP 9.5でvol0容量を10GBに変更した上で、ONTAP9.5→ONTAP 9.7→(ONTAP9.8)→ONTAP 9.11.1 のアップデートを行い成功した。

NFS v4ではUTF-8ファイルのみ使用でき、EUCファイル名は使用できない


むかしからSolarisサーバを使っているユーザのとこにNetAppを入れることになった。

どうやらEUC-JPファイル名のものがあるらしいのでNetAppのvolume language を ja_v1で作成してから検証してみたところ、Solaris10環境からNFSマウントして書き込もうとすると「引数が正しくありません」というエラーとなり書き込みが出来ない。

しばらくあれやこれや悩んだ結果、「NFS v4で許されているファイル名は UTF-8 記述のものだけ」という仕様上の問題であることが判明した。(RFC7530 Network File System (NFS) Version 4 Protocol の 12.4. String Encoding に記載)

このため、EUC-JPのファイル名を使いたい場合は、NFS ver3でマウントすることが必須、ということが分かった。

検証過程

まず、Solaris10環境から、NFS ver4で /mnt4 にマウントし、NFS ver3で /mnt3 にマウントした。

# mount 172.17.44.103:/eucvol /mnt4
# mount -o vers=3 172.17.44.103:/eucvol /mnt3
# df -h|grep mnt
mnttab                   0K     0K     0K     0%    /etc/mnttab
172.17.44.103:/eucvol   1.9G   808K   1.9G     1%    /mnt4
172.17.44.103:/eucvol   1.9G   808K   1.9G     1%    /mnt3
# mount|grep /mnt
/etc/mnttab on mnttab read/write/setuid/devices/rstchown/dev=4c80001 on (金)  8 月 12 15:30:07 2022
/mnt4 on 172.17.44.103:/eucvol remote/read/write/setuid/devices/rstchown/xattr/dev=4f40004 on (金)  8月 12 15:33:31 2022
/mnt3 on 172.17.44.103:/eucvol remote/read/write/setuid/devices/rstchown/vers=3/xattr/dev=4f40005 on (金)  8月 12 15:33:38 2022
#

この状態でそれぞれを確認すると、下記の様になっている。

# ls -l /mnt3
合計 8
-rw-r--r--   1 root     root           6  8月 10日  14:37 test.txt
-rw-r--r--   1 root     root           0  8月 10日  14:51 てすと
drwxr-xr-x   2 root     other       4096  8月 10日  14:35 表計算
# ls -l /mnt4
合計 8
-rw-r--r--   1 root     root           6  8月 10日  14:37 test.txt
-rw-r--r--   1 root     root           0  8月 10日  14:51 礒窿
・rwxr-xr-x   2 root     daemon      4096  8月 10日  14:35 茵 ・
・
#

NFS ver4でマウントしている /mnt4 の方は日本語文字(EUC-JP)が正常に表示できていない。

次に /tmp/てすと2 のコピーを試みる

# cp  /tmp/てすと2 /mnt4
cp: /mnt4/てすと2 を作成できません: 引数が正しくありません。
# LANG=C
# export LANG
# date
Fri Aug 12 15:37:39 JST 2022
# cp  /tmp/てすと2 /mnt4
cp: cannot create /mnt4/てすと2: Invalid argument
#

NFS ver4でマウントしている領域へのコピーは「引数が正しくありません」、英語メッセージの場合は「Invalid argument」で失敗する。

対して、NFS ver3領域へのコピーは問題なく実施できる。

# LANG=ja
# export LANG
# date
2022年08月12日 (金) 15時39分11秒 JST
# cp /tmp/てすと2 /mnt3
# ls -l /mnt3
合計 8
-rw-r--r--   1 root     root           6  8月 10日  14:37 test.txt
-rw-r--r--   1 root     root           0  8月 10日  14:51 てすと
-rw-r--r--   1 root     root           8  8月 12日  15:39 てすと2
drwxr-xr-x   2 root     other       4096  8月 10日  14:35 表計算
#

なお、この領域をWindows側から見た場合はこのように正常に表示されている。

ちなみに・・・ONTAP CLIからvolume languageコマンドを実行してみたところ、標準権限(admin)とadvanced権限とで表示される内容が違う、というのが興味深かったです。

netapp101::> volume language -vserver netapp103 -volume eucvol

Volume language is ja_v1 (Japanese euc-j) for netapp103:eucvol

netapp101::> set adv

Warning: These advanced commands are potentially dangerous; use them only when directed to do so by NetApp personnel.
Do you want to continue? {y|n}: y

netapp101::*> volume language -vserver netapp103 -volume eucvol

Volume language is ja_v1 (Japanese euc-j) for netapp103:eucvol

Translation Versions
        OEM Character set is cp932_v1|cp932_v1|Wed Jan 22 23:18:24 UTC 2003 for netapp103:eucvol

        NFS Character set is eucj_v1|eucj_v1|Wed Jan 22 00:46:42 UTC 2003 for netapp103:eucvol

netapp101::*>