Announcement Banner
未解決

uchiy

が更新しました

22日前

U

uchiy

4 Apprentice

•

453 投稿

•

1323 ポイント

0

76

2026年9月10日 01:08

PowerScale上のファイルへの同時アクセスに関して

PowerScale上にあるファイルに対して、ファイルの書き込みをしながら、同時にそのファイルを読み出しする作業をしています。

書き込みしているのは、Windowsサーバ(SMB)であり、

同時に読み出ししているのも、Windowsサーバ(SMB)です。

OneFSは、9.7.1.xです。

この時、読み出し側のサーバで、ファイルが別のプロセスで使用中のためアクセスできないといったエラーが発生しています。

このエラーをなくし、SMBで読み出しを可能としたいのですが何か方法はありますか?

 

別件で、FTPで書き込みをしつつ、SMBで読み出しをする際にも、同様に読み出し側でアクセス不可の事象が発生しましたが、これは、oplockの無効化により、解消されました。

今回のこのクラスタも、oplockは無効化されています。

 

oplockのほかに、何かlock的な設定があるのでしょうか?

 

 

  • ayas

    Community Manager

    •

    7497 投稿

    •

    68110 ポイント

    3

    0

    投稿済み 2026年9月10日 07:32

    Uchiyさん

     

    読み出し側のサーバで、ファイルが別のプロセスで使用中のためアクセスできないといったエラーが発生しています。このエラーをなくし、SMBで読み出しを可能としたいのですが何か方法はありますか?
    → oplockの無効化はすでにご確認済みとのことですので、別の観点をお伝えします。
    OneFSではDLM(分散ロックマネージャー)がファイルアクセス時のLock制御を行っており、その対象にはSMBのshare modeも含まれています。

    share modeは「ファイルを開いたプロセスが、後続のアクセスに何を許可するか」をクライアント側が宣言するもので、OneFSはその宣言を基に動作します。そのため、書き込み側のアプリケーションが読み取りを許可していない場合、OneFS側の設定で読み出しを可能にすることはできません。まずは書き込み側のWindowsサーバ(アプリケーション)のshare modeをご確認いただくのがよいかと思います。

     

    参考:CreateFileA 関数 (fileapi.h)

    ※dwShareMode に FILE_SHARE_READ が含まれているかがポイントになります

     

    oplockのほかに、何かlock的な設定があるのでしょうか?
    →はい、DLMが扱うロックタイプは複数あり、今回はShare Modeの確認が有効ではないかと思います。
    Advisory / Anti-virus / Data / Delete / Mark / Oplocks / Quota / Read / Share Mode / SMB byte-range / Snapshot / Write

     

    参考:OneFS File Locking and Concurrent Access(Lock Type: にリストがあります)
    OneFS has a fully distributed lock manager that marshals locks on data across all the nodes in a storage cluster.

     



  • uchiy

    4 Apprentice

    •

    453 投稿

    •

    1323 ポイント

    5

    0

    投稿済み 2026年9月10日 07:52

    @ayas​ さん

     

    返信ありがとうございます。

    書き込み側のwindowsサーバ(アプリケーション)で、ファイル書き込み中に、

    そのファイルは、書き込みはできないけど、読み出しならば可能だよという設定を

    share modeで設定すれば、

    読み出し側のwindowsサーバで、読み出しても、エラーは発生しないということですね。

     

    どのように設定するかわかりますか?

    microsoftのQ&Aなどで紹介されているものでしょうか?

     

  • ayas

    Community Manager

    •

    7497 投稿

    •

    68110 ポイント

    2

    0

    投稿済み 2026年9月14日 03:50

    Uchiyさん

     

    ご返信をありがとうございます。
    ご認識の通り、書き込み側が FILE_SHARE_READ を許可していれば、
    読み出し側からのアクセスは可能になります。

     

    どのように設定するかわかりますか?
    microsoftのQ&Aなどで紹介されているものでしょうか?
    →share mode (共有モード)は、OS の設定画面やレジストリではなく、アプリケーションがファイルを開く際に指定するものになりますので、設定手順はアプリケーションに依ります。

     

    ただその状態を調べる方法はマイクロソフトによるこちらの記事で確認できるので参考にできると思います。


    ファイルをオープンしているプロセスの特定方法について

    また、( ) 内には共有モードが記録されます。
    共有モードについて詳しくは こちらの弊社公開情報 をご参照いただきたく存じますが、 出力結果内の表記はそれぞれ下記を表します。
    ・R → FILE_SHARE_READ (後続のプロセスによる読み込み操作を許可します)
    ・W → FILE_SHARE_WRITE (後続のプロセスによる書き込み操作を許可します)
    ・D → FILE_SHARE_DELETE (後続のプロセスによる削除操作を許可します)