Usando o Java, como você obtém a quantidade de espaço livre em um sistema de arquivos Solaris ZFS?

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

  •  09-09-2019
  •  | 
  •  

Pergunta

Usando o Java, como você obtém a quantidade de espaço livre em um sistema de arquivos Solaris ZFS?

Eu tenho um Sunfire X4140 com HDD embutido montado como /. Ele também possui um JBOD conectado com 7,6 TB de espaço em HDD, configurado como um sistema de arquivos ZFS e montado como /aplicativo.

Eu uso java.io.file.getusableSpace ou java.io.file.getfreespace para obter a quantidade de espaço livre no sistema de arquivos. On / (o bordo) HDD FS Funciona corretamente.

ON /APP (The ZFS Partition) file.getfreespace, file.getusableSpace e file.gettotalspace All Return 0 (zero). Alguem sabe por quê? Java.io.file.getusableSpace funciona no ZFS e, em caso afirmativo, como?

A seguir, mostra o sistema de arquivos ZFS na máquina em questão:

Lista/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  - 
Foi útil?

Solução

Eu não sei por que, mas você pode dar uma olhada em libzfs, que envolve o comando ZFS em uma boa API Java

Outras dicas

O comando df -kp retorna o espaço livre, mas a maneira mais universal é usar

Apache Commons io Filesystemutils.freespacekb ("/volume");

Utiliza o DF e também o Dir for Windows

O que o relatório de comando "DF"? Isso também não está relatando espaço livre no ZFS corretamente?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top