新しい会話を開始

未解決

M

1 Rookie

 • 

13 メッセージ

34

2025年8月6日 08:43

Unity:NFSマウントしたフォルダのタイムスタンプ(更新日時)が更新されない

以下の構成でUnityXTを利用しています。

・NFSサーバー

 UnityXT480(Unity OE バージョン:5.4.0.0.5.094

 →NFSv4は無効にしているため、NFSのバージョンは3です。

・NFSクライアント(複数台)

 Red Hat Enterprise Linux 8.9

Unityは、NFSサーバ(Mailサーバ)として稼働しており、

NFSクライアントとして、複数のLinuxサーバーがUnityの同じディレクトリにマウントし、同時に読み書きをしています。

また、NFSマウントしたディレクトリは毎日1回、保持期間7日でスナップショットを取得しています。

・質問1

NFSクライアントでNFSマウントしているディレクトリに対し、 ls -al を実行すると、NFSマウントしているディレクトリのタイムスタンプおよびスナップショット スケジュールで生成されたディレクトリ(.ckpt_UTC_2025-xx-xx_xx:xx:xx)のタイムスタンプが更新されずに表示されます。(いずれのディレクトリもNFSマウントを実施したタイムスタンプから更新されていない模様です)

これは、Unityの仕様通りの動作になりますでしょうか

・質問2

複数のNFSクライアントが同時に同じNFSマウントしたディレクトリに対し、 ls -al を実行すると、

スナップショット スケジュールで生成されたディレクトリ(.ckpt_UTC_2025-xx-xx_xx:xx:xx)の表示がNFSクライアントによって、正しく表示されない(7日前の.ckptが表示(実際は削除済み)され、最新の.ckptが表示されない)場合がありました。

これは、NFSクライアント側でキャッシュを利用したか否かのNFSクライアント側の動作によるものと推測しておりますが、Unity側で行えるワークアラウンドが有りましたらご教授いただけないでしょうか。

また、クライアント側でのワークアラウンドとして(NFSのキャッシュを保持・利用しないように)にマウントオプションで、「noac」,「actimeo=0」,「lookupcache=none」などを想定していますが、どのオプションを使うのが適切かアドバイスいただけるますようお願いします。

よろしくお願いします。

Community Manager

 • 

5.3K メッセージ

2025年8月7日 07:30

・質問1

NFSクライアントでNFSマウントしているディレクトリに対し、 ls -al を実行すると、NFSマウントしているディレクトリのタイムスタンプおよびスナップショット スケジュールで生成されたディレクトリ(.ckpt_UTC_2025-xx-xx_xx:xx:xx)のタイムスタンプが更新されずに表示されます。(いずれのディレクトリもNFSマウントを実施したタイムスタンプから更新されていない模様です)

 

これは、Unityの仕様通りの動作になりますでしょうか

タイムスタンプが更新されないスナップショットディレクトリが、前回(もしくは更にそれよりも前のタイミング)のスナップショット取得時からファイルシステムの内容が全く変更されていない環境でスナップショットを取得しいていた場合は、仕様通りの動作とお考え下さい。

 

 

ラボマシンで確認をしてみて分かったのですが、ファイルシステムに何も変更を行わずにスナップショットを複数取得していくと、(デフォルト名では).ckpt_UTCで始まるスナップショットディレクトリ名は変わっていきますが、取得時刻は一番最初のスナップショット取得時と同じものが記録されていくことが確認できました。

 

[実際の出力例]
drwxr-xr-x 5 root root   8192  8月  7 11:07 .ckpt_UTC_2025-08-07_02:15:18
drwxr-xr-x 5 root root   8192  8月  7 11:07 .ckpt_UTC_2025-08-07_02:20:13
(ディレクトリ名を見ると取得時刻には5分程度の違いがあるが、タイムスタンプは同じ)

 

 

一方で、ファイルシステムの情報を変更した後にスナップショットを取得すると、きちんとその取得時刻が反映されることも確認できました。

 

[実際の出力例]
drwxr-xr-x 5 root root   8192  8月  7 11:07 .ckpt_UTC_2025-08-07_02:15:18
drwxr-xr-x 5 root root   8192  8月  7 11:07 .ckpt_UTC_2025-08-07_02:20:13
drwxr-xr-x 5 root root   8192  8月  7 11:26 .ckpt_UTC_2025-08-07_02:27:45
drwxr-xr-x 5 root root   8192  8月  7 11:27 .ckpt_UTC_2025-08-07_02:34:10

 

 

これは、ファイルシステムに変更がない場合には、前回(もしくはそれ以前)に取得したスナップショットをそのまま利用/参照することができるために、新たな容量等は利用せずに、ディレクトリ名のメタ情報のみを追加しているために発生している事象と考えられます。

 

 

 

・質問2

複数のNFSクライアントが同時に同じNFSマウントしたディレクトリに対し、 ls -al を実行すると、

スナップショット スケジュールで生成されたディレクトリ(.ckpt_UTC_2025-xx-xx_xx:xx:xx)の表示がNFSクライアントによって、正しく表示されない(7日前の.ckptが表示(実際は削除済み)され、最新の.ckptが表示されない)場合がありました。

これは、NFSクライアント側でキャッシュを利用したか否かのNFSクライアント側の動作によるものと推測しておりますが、Unity側で行えるワークアラウンドが有りましたらご教授いただけないでしょうか。

 

また、クライアント側でのワークアラウンドとして(NFSのキャッシュを保持・利用しないように)にマウントオプションで、「noac」,「actimeo=0」,「lookupcache=none」などを想定していますが、どのオプションを使うのが適切かアドバイスいただけるますようお願いします。

ラボマシンを利用して「noac」、「actimeo=0」、「lookupcache=none」などを指定してマウントしてみましたが、スナップショットディレクトリの追加/削除をクライアントがリアルタイムで認識することはありませんでした(UbuntuとAlmaで確認)。

 

 

Linuxのディストリビューションによっては有用なオプションがあるかもしれませんが、確実に動作する(スナップショットディレクトリの追加/削除を認識させる)方法は、クライアントからファイルシステムに対してtouchなどで何か変更を行うことだと思います。
(Unity側で対応する方法はないです・・・)

 

 

[参考]
Untiy NFS のSnapshotリストア

 

 

1 Rookie

 • 

13 メッセージ

2025年8月7日 08:08

@Uehara Y.​ さん

ご回答ありがとうございます。

質問1に関して、補足させていただきます。

ちょっと古いデータ(7/16に採取したデータ)ですが、NFSクライアンから Ls -al を実行した出力は以下のとおりになっていました。

$ ls -al /pool0001/ /pool0002/
/pool0001/:
合計 1476
drwxr-xr-x   16 mail0001 mail0001    8192  9月 25  2023 .
dr-xr-xr-x.  22 root    root       4096  5月 28 15:59 ..
drwxr-xr-x   16 mail0001 mail0001    8192  9月 25  2023 .ckpt_UTC_2025-07-10_15:15:00
drwxr-xr-x   16 mail0001 mail0001    8192  9月 25  2023 .ckpt_UTC_2025-07-11_15:15:00
drwxr-xr-x   16 mail0001 mail0001    8192  9月 25  2023 .ckpt_UTC_2025-07-12_15:15:00
drwxr-xr-x   16 mail0001 mail0001    8192  9月 25  2023 .ckpt_UTC_2025-07-13_15:15:00
drwxr-xr-x   16 mail0001 mail0001    8192  9月 25  2023 .ckpt_UTC_2025-07-14_15:15:00
drwxr-xr-x   16 mail0001 mail0001    8192  9月 25  2023 .ckpt_UTC_2025-07-15_15:15:00
drwxr-xr-x   16 mail0001 mail0001    8192  9月 25  2023 .ckpt_UTC_2025-07-16_15:15:00
dr-xr-xr-x    2 root    bin         152  8月  7  2023 .etc

 ・

 ・

 ・

該当のファイルシステムは、mailサーバとして利用していますので日々更新されています。

しかしながら、NFSマウントしているディレクトリおよび7日間の各.ckpt のタイムスタンプが同一(9月 25  2023)のものになってしまっています。

この事象は、どのように解釈すればよろしいでしょうか。

お忙しいところ恐縮ですが、ご回答のほどよろしくお願いします。

なお、SRでの対応が必要であれば、その旨ご返信いただけると幸いです。

Community Manager

 • 

5.3K メッセージ

2025年8月8日 01:57

masa2さん

 

詳細情報をありがとうございます。

 

ラボマシンでNFSマウントをしていくつかファイルを追加削除しながらマニュアルでスナップショットを取った後、スケジュールでスナップショットを作成した結果、以下のようなls -al出力が得られました。
(LinuxはUbuntuとAlmaで確認)

 

drwxr-xr-x 5 root    root       8192  8月  7 17:24 .ckpt_UTC_2025-08-07_08:25:26
drwxr-xr-x 5 root    root       8192  8月  7 17:33 .ckpt_UTC_2025-08-07_08:35:44
drwxr-xr-x 5 root    root       8192  8月  7 17:35 .ckpt_UTC_2025-08-07_16:00:00
drwxr-xr-x 5 root    root       8192  8月  7 17:35 .ckpt_UTC_2025-08-07_20:00:00
drwxr-xr-x 5 root    root       8192  8月  7 17:35 .ckpt_UTC_2025-08-07_22:00:00
drwxr-xr-x 5 root    root       8192  8月  7 17:35 .ckpt_UTC_2025-08-08_00:00:00

 

やはり内容が変わっていない場合には.ckptディレクトリの名前は変わりますがタイムスタンプは変わらず、かつタイムスタンプはスナップショット取得時のものが入るというわけではなく、スナップショットを取得した時点で、最後に.ckptディレクトリ内(=ファイルシステム内)に変更があったファイルの変更時間が入るようです。

 

実際に.ckptのタイムスタンプに違いがあるもの(上記例では上から2番目と3番目)をdiffコマンドで例えば

 

$ diff .ckpt_UTC_2025-08-07_08:35:44 .ckpt_UTC_2025-08-07_16:00:00

 

というように確認してみると、差分が表示されるのに対し

.ckptのタイムスタンプが同じものをdiffで比較すると差分がない(そのためにタイムスタンプが変わっていない)ことが確認できました。

 

一度masa2さんの環境でも、同じタイムスタンプを持つ.ckptディレクトリをdiffコマンドで比較して差分が実際にあるのかどうか、及び実際に.ckptディレクトリにアクセスをして、その中にあるファイルのタイムスタンプをls -alコマンドなどで確認し、.ckptディレクトリの作成時間と整合性があるか(記載して頂いた例では実際に.ckptディレクトリ内にあるファイル等の最後の更新が2023年9月25日のものであるのか)を確認して頂けると問題の特定に近づけると思います。

 

その結果、想定とは異なる動作、例えばdifコマンドで差分がでているのに.ckptディレクトリのタイムスタンプが更新されていないなどが判明した場合には、SRでの対応を行っていただいた方がよいと思います。

2 Intern

 • 

399 メッセージ

2025年8月8日 08:55

Uehatra.Yさん
検証ならびに詳細なご説明をして頂きありがとうございます。

masa2さんと本件対応しております。

masa2さんから報告させて頂いてる通り、Unityをmailサーバとして利用しており、ファイルシステム内に更新がないことはございませんため、SRで対応させて頂きます。

イベントは見つかりませんでした!

Top