Estou conectando de um cliente do Centos 7.2 a um compartilhamento de arquivos Netapp cifs. Tivemos que trocar de NFS, pois perdemos 30% do espaço devido à falta de “furação”.
O desempenho diminuiu devido a cifs e estou tentando torná-lo mais rápido.
Estou tentando aumentar o tamanho e tamanho:
linux.die.net/man/8/mount.cifs
rsize = arg
Para usar rsize maior que 127K (o protocolo cifs original máximo) também requer que o servidor suporte um novo sinalizador Unix Capability (para leitura muito grande) que alguns servidores mais recentes (por exemplo, Samba 3.0.26 ou posterior) fazem. rsize pode ser definido de um mínimo de 2048 a um máximo de 130048 (127K ou CIFSMaxBufSize, o que for menor)
wsize = bytes
A partir do RHEL6.2, o padrão depende se o cliente e o servidor negociam gravações grandes via extensões POSIX. Se o fizerem, o padrão é 1M e o máximo permitido é 16M. Se não, o padrão é 65536 e o máximo permitido é 131007.
Note que este valor é apenas um ponto de partida para negociação. O cliente e o servidor podem negociar esse tamanho para baixo de acordo com os recursos do servidor.
Eu habilitei as extensões unix (POSIX) do lado do netapp:
Y :: * > Opções do vserver cifs mostram -vserver X
Extensões do UNIX estão ativadas: true
[- is-unix-extensions-enabled {true | false}] - As extensões do UNIX estão ativadas (privilégio: avançado)
Quando configurado como true, esse parâmetro opcional ativa o recurso Extensões do UNIX no servidor CIFS. Se definido como false, o recurso Extensões do UNIX será desativado. O padrão para este parâmetro é falso. Extensões do UNIX permite que a segurança do estilo POSIX / UNIX seja exibida através do protocolo CIFS.
E parece que para permitir a grande leitura / escrita você precisa adicionar o seguinte ao /etc/samba/smb.conf: (seção global)
min tamanho do arquivo de recebimento = 16384 (definido para um valor diferente de zero)
link
“Min tamanho do arquivo de recebimento (G)
Para ativar o suporte de gravação grande POSIX (o SMB / CIFS grava até 16 MB), essa opção deve ser diferente de zero ”
No entanto, quando montei sem opções de tamanho especificadas, é possível ver o SMB negociando para rsize = 65536, wsize = 65536 e não um valor maior de 1M-16M
// IP / MOUNT em / opt / DIR tipo cifs (rw, relatime, vers = 3.0, sec = ntlmssp, cache = nenhum, nome de usuário = BLAH, domínio = DOMAIN, uid = 0, noforceuid, gid = 0, noforcegid, addr = IP, file_mode = 0755, dir_mode = 0755, substantivo, serverino, mapposix, rsize = 65536, wsize = 65536, actimeo = 1)
Eu também tentei configurar isso para um valor maior que 65k para nenhum efeito:
[X ~] # cat /etc/modprobe.d/cifs.conf
opções cifs CIFSMaxBufSize = 130048
O que estou perdendo? Eu não habilitei o flag correto do unix do netapp? Preciso habilitar um flag cifs de buffer grande em algum lugar no centos? Eu tenho camada 2, 9k jumbo frames entre o eo cliente tem um monte de RAM (32GB), então eu deveria estar bem batendo o tamanho do desempenho.