A situação:Servidor com Gentoo Linux e Samba. Existem cerca de 15 PCs com Windows, um MacBook Pro e um laptop Samsung com Ubuntu. Não há domínio, apenas um grupo de trabalho e o servidor é usado apenas para compartilhamentos Samba. No Ubuntu eu uso gvfs para montar compartilhamentos de samba.
E o problema:Um dia, cerca de metade dos diretórios desapareceram, mas apenas durante a visualização neste laptop Ubuntu. Se eu fizer ssh para o servidor, posso ver os arquivos/diretórios ausentes e também posso ver as coisas que faltam nos computadores Win ou Mac.
O temporário:Quando eu renomeio alguns dos diretórios ausentes, mesmo que seja um símbolo, os diretórios ausentes reaparecem... mesmo sem recarregar/atualizar o compartilhamento montado no gvfs. Se eu renomear instantaneamente de volta para os diretórios/nomes de arquivos anteriores, todos os diretórios/arquivos ausentes anteriormente desaparecerão instantaneamente novamente.
Portanto, como esse problema reapareceu cerca de um mês depois, preciso de alguns conselhos sobre onde começar a verificar.
Responder1
Posso ter enfrentado um problema semelhante, mas apenas faltando um único arquivo. Eu suspeito que o auxiliar de montagem do Linux samba seja problemático.
Você poderia executar os seguintes testes em seu cliente?
cd [diretório com subdiretórios ausentes] ls -al | grep [nome ausente] -> nada encontrado (readdir está quebrado) ls -al [nome ausente] -> lista o elemento (estatística funcionando) - use -d quando [nome ausente] for um diretório Para descobrir se o kernel está escondendo esses arquivos de você: quantidade de compartilhamento SMB inicie "tcpdump -p -i [seu nic] -s0 -w net.dump host [seu host samba]" monte o compartilhamento execute o teste "ls -al | grep [nome ausente]" pare o tcpdump Verifique se o nome do arquivo está no tcpdump, mas não é mostrado no dirlisting. Portanto: strings --encoding=b net.dump | grep [nome ausente] strings --encoding=l net.dump | grep [nome ausente]
Se o nome for incluído pelo menos uma vez, isso indicaria que o servidor samba está enviando a listagem inteira, mas o Linux descarta algumas entradas.