O Samba não reporta espaço livre suficiente

2

Depois de ter alguns problemas com o meu NAS, mudei para o Debian / Lenny. Consegui instalar e configurar a maior parte do software que preciso, mas acertei um muro de tijolos com o Samba. Eu posso acessar os compartilhamentos e ler todos os arquivos, mas se eu tentar enviar algo através dele, não haverá espaço suficiente.

Estou usando o Windows, então abri um prompt de comando e executei

> dir \MyNAS.home\Public  
1 File(s)     44,814,336 bytes  
12 Dir(s)  507, 998, 060, 544 bytes free

O espaço livre informado está correto (~ 500 GB), então qual é o problema? O seguinte é meu smb.conf:

[global]
  workgroup = MEDUS
  realm = WORKGROUP
  netbios name = MyNAS
  map to guest = bad user
  server string = My Book Network Storage
  load printers = no
  printing = bsd
  printcap name = /dev/null
  disable spoolss = yes
  log file = /var/log/samba/log.smbd
  max log size = 50
  dead time = 15
  security = share
  auth methods = guest, sam_ignoredomain, winbind:ntdomain
  encrypt passwords = yes
  passdb backend = smbpasswd:/opt/etc/samba/smbpasswd  
  create mask = 0664
  directory mask = 0775
  local master = no
  domain master = no
  preferred master = no
  socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
  min receivefile size = 128k
  use sendfile = yes
  dns proxy = no
  idmap uid = 10000-65000
  idmap gid = 10000-65000
  don't descend = /proc, /dev, /etc
  admin users =
  null passwords = yes
  guest account = nobody
  unix extensions = no 

[Public]
  path=/shares/internal/PUBLIC
  guest ok = yes
  read only = no
  dfree cache time = 10
  dfree command = /opt/etc/samba/dfree

Os parâmetros dfree command que eu adicionei, na tentativa de corrigir o problema (que não funcionou). No entanto, suspeito que o NAS esteja relatando o espaço em disco correto de qualquer maneira, como é evidente pelos resultados do comando que usei acima.

Eu também tentei brincar com o comando block size , sem sucesso. Eu era capaz de criar um arquivo de texto vazio no compartilhamento, e editei e salvei o arquivo repetidamente - ele parou em torno de 130 bytes.

Alguém tem alguma idéia do problema?

    
por Andy E 06.04.2011 / 14:10

2 respostas

1

Depois de passar pelo meu arquivo smb.conf e comentar quase tudo, descobri que o problema foi causado pela configuração min receivefile size .

This option changes the behavior of smbd(8) when processing SMBwriteX calls. Any incoming SMBwriteX call on a non-signed SMB/CIFS connection greater than this value will not be processed in the normal way but will be passed to any underlying kernel recvfile or splice system call (if there is no such call Samba will emulate in user space). This allows zero-copy writes directly from network socket buffers into the filesystem buffer cache, if available. It may improve performance but user testing is recommended. If set to zero Samba processes SMBwriteX calls in the normal way. To enable POSIX large write support (SMB/CIFS writes up to 16Mb) this option must be nonzero. The maximum value is 128k. Values greater than 128k will be silently set to 128k.

Comentando esta linha no arquivo conf corrigido o problema, eu acho que isso é o que acontece quando você usa as configurações de configuração recomendadas de outra pessoa. Não tenho certeza se entendi completamente o que essa configuração faz, de qualquer forma.

    
por 06.04.2011 / 16:47
2

As cotas estão ativadas? Verifique com:

sudo quotacheck -avugm

Tente desativá-lo:

sudo quotaoff -fvpa
    
por 06.04.2011 / 15:45