ファームに 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で行う唯一の非標準的なことは、ファイルの名前を変更するのではなく、アトミック操作を行うためにファイルを書き込むことですが、失敗した場合、何も書き込まれたり名前が変更されたりしません..
どんな助けでも大歓迎です!
どうもありがとう、ダビデ