Ao montar um sistema de arquivos CIFS a partir de um arquivador NetApp e copiar arquivos de vários gigabytes para ele, o processo de cópia será interrompido por minutos a fio. O kernel grava mensagens no syslog como estas:
Nov 15 14:03:15 myclient kernel: [173570.048387] CIFS VFS: sends on sock ffff88003a2d4000 stuck for 15 seconds
Nov 15 14:03:15 myclient kernel: [173570.049115] CIFS VFS: Error -11 sending data on socket to server
Nov 15 19:01:22 myclient kernel: [191466.594088] CIFS VFS: Server myfileserver has not responded in 120 seconds. Reconnecting...
A última mensagem pode, de fato, se repetir antes de redigir os currículos.
Enquanto o processo está pendurado, não pode ser morto; até mesmo tentativas de reiniciar a máquina serão interrompidas.
O servidor é um NetApp, ainda não sei suas especificações.
O cliente é duas máquinas Ubuntu 14.04 LTS, uma delas virtual (acontece em ambas). Seus kernels são a versão 3.5.0-54-generic
e 3.13.0-68-generic
, respectivamente.
Eu tenho três perguntas.
- Se você já viu esse problema, em qual versão do Linux?
- Como esse problema pode ocorrer em primeiro lugar? O suporte ao sistema de arquivos CIFS não deveria ser mais inteligente do que desligar de forma ininterrupta?
- Quais opções de montagem são garantidas para eliminar esse problema?
Minha entrada do fstab é semelhante a essa (anônima):
//myfileserver/path/to/mydirectory /mnt/mydirectory cifs credentials=mycredentialsfile,rw,sec=ntlmv2,forceuid,forcegid,file_mode=0644,dir_mode=0755,noserverino,nounix,user,noauto 0 0
Adicionar cache=none
não resolve o problema. Adicionar directio
não: man mount.cifs
afirma que é uma opção suportada, mas não é. O que aparece para corrigir o problema é adicionar wsize=4096
ou wsize=8192
: até o momento, meus testes não mostraram nenhuma paralisação com essas opções. (Com wsize=16384
, a parada ainda ocorre.)
Em vez de apenas ir por tentativa e erro, eu gostaria de entender o que está acontecendo e eliminar o problema com 100% de certeza. Você pode me dizer por que isso está acontecendo ou o que fazer?
(Várias perguntas sobre Ask Ubuntu, Unix & Linux e ServerFault foram postadas parecidas com este problema, mas a maioria delas não são: elas reclamam de escrever em arquivos lendo ou em o sistema de arquivos sendo ocioso , enquanto no meu caso, isso nunca ocorre, o travamento ocorre apenas quando escritas arquivos