どのようにSolaris ZFSファイルシステムの空き容量を取得するか、Javaを使用して?

StackOverflow https://stackoverflow.com/questions/759912

  •  09-09-2019
  •  | 
  •  

質問

Javaを使用して、どのようにSolaris ZFSファイルシステムの空き容量を得るのですか?

私は、内蔵HDD /としてマウント付きのSunFire X4140のを持っています。また、ZFSファイルシステムとして構成及び/アプリケーションとして実装、HDD容量の7.6TBに接続されたJBODを有している。

私は、ファイルシステムの空き容量を取得するためにjava.io.File.getUsableSpaceまたはjava.io.File.getFreeSpaceを使用しています。 /(オンボード)HDDのFS上では正しく動作します。

/アプリ(ZFSパーティション)File.getFreeSpace、File.getUsableSpaceとFile.getTotalSpace上のすべての戻り0(ゼロ)。誰もがなぜ知っていますか? ZFS上java.io.File.getUsableSpaceの作業を行い、もしそうなら、どのように?

以下は、問題のマシン上のZFSファイルシステムを示しています:

  

は/ usr / sbinに/ ZFSリスト

NAME                USED  AVAIL  REFER  MOUNTPOINT
internal            196K  98.4G     1K  none
internal/logs        18K  98.4G    18K  /logs
j4200-1             442G  7.57T  2.44K  none
j4200-1/app         442G  7.57T   153M  /app
j4200-1/app@first   442G      -   442G  - 
役に立ちましたか?

解決

私はなぜ知らないが、あなたは libzfs のを見てみましょうすることができ、その素敵なJava APIのZFSコマンドをラップ

他のヒント

DF -kPコマンドは、空き容量を返します しかし、ほとんどの普遍的な方法を使用することです。

はApache CommonsのIO FileSystemUtils.freeSpaceKb ( "/体積");

それはDFだけでなく、Windows用のディレクトリを利用

「DF」コマンドのレポートとは何でしょうか?また、正しくZFS上の空き領域を報告していないということですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top