2

ファームに 2 つの VPS があり、それらを sshfs に接続して、Java アプリケーションでいくつかのディレクトリを共有したいと考えています。

Source                  Destination
-------------------------------------------
VPS1:/app/path/data --> VPS2:/app/path/data

VPS 2 は、sshfs マウントで読み書きし、シェル スクリプトを介して、ギガビット イーサネット接続により、定期的かつ非常に高速に動作します。

アプリケーションが VPS 2 でファイルの書き込みを開始すると、予期しない方法でファイルの書き込みに失敗します。

場所をアンマウントしてファイルをローカルに書き込もうとしましたが、例外なく正常に動作します。

java.io.FileWriter と fuse の間に奇妙な非互換性がありますか? または、fsのマウントで何かが足りないのですか?

このマウントオプションを試しました:

sshfs user@VPS1_IP:/app/path/data /app/path/data 
      -o rw,allow_other,uid=${uid},gid=${gid}

追加も:

reconnect,cache=no

私がJavaで行う唯一の非標準的なことは、ファイルの名前を変更するのではなく、アトミック操作を行うためにファイルを書き込むことですが、失敗した場合、何も書き込まれたり名前が変更されたりしません..

どんな助けでも大歓迎です!

どうもありがとう、ダビデ

4

0 に答える 0