Come posso visualizzare l'utilizzo della quota del disco su una condivisione CIFS da un client Linux?


6

Ho diversi client Linux che montano una condivisione su un computer remoto che esegue Windows Server 2012. La riga in questione /etc/fstabè simile alla seguente:

//server.address.com/share /media/share cifs rw,user,noauto,_netdev,soft,cred=/etc/samba/cred/share 0 0

Se utilizzo dfper interrogare la quantità di spazio libero, ottengo:

~$ df -kh /media/share
Filesystem                 Type  Size  Used Avail Use% Mounted on
//server.address.com/share cifs  1.8T  1.1T  803G  57% /media/share

Ricevo sostanzialmente le stesse statistiche di utilizzo usando stat -f:

~$ stat -f /media/share
  File: "/media/share"
    ID: 0        Namelen: 4096    Type: cifs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 483183820  Free: 210294051  Available: 210294051
Inodes: Total: 0          Free: 0

Qui, 4096 * 210294051/2 ^ 30 = 802.2 GB gratuiti. Tuttavia so per certo che la condivisione è quasi completamente riempita - da un client Windows vedo che viene utilizzato 1.79 / 1.80T.

Sospetto che la discrepanza possa essere correlata a questo problema . Secondo tale thread di discussione (avviato nel 2012), il client del kernel CIFS non supporta l'utilizzo della quota di reporting. Non ho trovato alcuna informazione più recente sull'argomento (i miei client eseguono Ubuntu 14.04, kernel v3.13.0-46-generic, mount.cifs v6.0).

Ho provato a montare con la nounixbandiera, ma ho ancora statistiche di utilizzo errate:

~$ df -kh /media/share
Filesystem                 Type  Size  Used Avail Use% Mounted on
//server.address.com/share cifs  1.8T  1.1T  803G  57% /media/share

~$ stat -f /media/share
  File: "/media/share"
    ID: 0        Namelen: 4096    Type: cifs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 483183820  Free: 210294040  Available: 210294040
Inodes: Total: 0          Free: 0

Ho anche provato a utilizzare quota, ma questo presumibilmente funziona solo per i montaggi NFS, poiché non stampa nulla per la mia condivisione CIFS:

~$ quota -v
~$

Risposte:


2

Se non si specifica un'opzione di montaggio per la versione del protocollo SMB, utilizza l'impostazione predefinita, che è 1.0. La segnalazione della quota è supportata solo dal protocollo SMB versione 2.0 e successive. La versione SMB in fstab è specificata come:

man mount.cifs
...
OPTIONS 
...

     vers=
           SMB protocol version. Allowed values are:

           ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.

           ·   2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and Windows Server 2008.
               Note that the initial release version of Windows Vista spoke a slightly different dialect (2.000) that is not
               supported.

           ·   2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2.

           ·   3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012.

           Note too that while this option governs the protocol version used, not all features of each version are available.

Quindi aggiungi vers = 2.0 o versioni successive al tuo esempio e dfdovresti segnalare la quota correttamente:

//server.address.com/share /media/share cifs rw,user,noauto,_netdev,soft,cred=/etc/samba/cred/share,vers=2.0 0 0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.