AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 799295
Accepted
user121391
user121391
Asked: 2016-08-27 03:37:42 +0800 CST2016-08-27 03:37:42 +0800 CST 2016-08-27 03:37:42 +0800 CST

OmniOS/ZFS/Windows 7: "Salvar como" nos aplicativos demora 5 segundos para todos os tamanhos de arquivo em CIFS/SMB

  • 772

Situação:

O seguinte problema estranho ocorreu em um único servidor de arquivos executando o OmniOS r151018 (95eaa7e) que atende arquivos por SMB para Windows e OS X convidados.

Salvar determinados arquivos (.docx, .xlsx, algumas imagens) por meio da janela de diálogo "Salvar como..." em um compartilhamento SMB resulta em um atraso de cerca de 3 a 5 segundos, em que o aplicativo não responde. arquivo é salvo normalmente.

O problema ocorreu "durante a noite", sem fazer nada para o servidor, mas é difícil precisar a data exata, pois as reclamações dos usuários só chegaram algum tempo depois da primeira ocorrência. Após uma reinicialização do servidor, um vdev do pool raiz espelhado não estava disponível, mas uma inspeção mais detalhada não encontrou nenhuma falha no dispositivo e ele foi reanexado ao pool. O problema ainda persiste.

Algumas observações:

  • Acontece em todos os clientes do Windows 7
  • Isso acontece para todos os tamanhos de arquivo
  • Acontece em todos os compartilhamentos desta máquina, independentemente das permissões
  • Isso acontece para armazenamento mais rápido importado no host por iSCSI de outro servidor
  • A velocidade normal de cópia é de 110 MB/s em GBit Ethernet
  • Os dados e o pool raiz parecem estar bem
  • Isso não acontece em outros servidores de arquivos
  • Isso não acontece quando o arquivo é salvo localmente e depois copiado pelo explorer
  • Não acontece no OS X (só poderia testar com o OpenOffice)
  • dmesgmostra várias contagens NOTICE: bge0: interrupt: flags 0x0 - not updated?com vários valores, mas também era o caso antes e não prejudicou

Outras ideias/planos:

Como não há uma mensagem de erro clara a ser encontrada, talvez seja necessário fazer algumas tentativas e erros para procurar a causa. Algumas coisas que considerarei ( os resultados estão em itálico ):

  • Substitua a placa de rede Broadcom por uma placa Intel => não fez diferença
  • Substitua o pool raiz por SSDs SATA (atualmente pendrives de memória SLC que funcionaram bem por mais de 3 anos) => não fez diferença
  • Verifique a rede intermediária (hardware, por conexão direta ao servidor)
  • Captura de tráfego com WireShark: difícil se você não sabe exatamente o que está procurando
  • Reverta para um ambiente/versão de inicialização anterior do OmniOS para descartar conflitos de software => não fez diferença
  • Reverta as atualizações do Windows/Office para descartar bugs
  • Remover arquivos com :(dois pontos) em nomes de arquivos de instantâneos, sugestão de txgsync no tópico do reddit criado por ewwhite => não fez diferença

    Eu vi algo semelhante a isso quando o recurso "versões anteriores" do Windows é ativado com instantâneos automáticos que incluem um caractere ":". Apenas tiro ao vento com isso, mas pode valer a pena dar uma olhada, pois o caractere ":" não é permitido nos nomes de arquivo do Windows.

  • Monitoramento de acesso a arquivos: conforme sugerido por shodanshok, usei DTracee este script para monitorar o acesso a arquivos. Usei-o enquanto salvava o arquivo já aberto, removi saídas não relacionadas e informações pessoais, e o resultado gira em torno de três arquivos:

    CPU ID       FUNCTION:NAME
    1   18753    fop_open:entry Open: Workbook
    0   18181 fop_create:return Create: temp_1
    0   18753    fop_open:entry Open: temp_1
    0   18753    fop_open:entry Open: Workbook
    0   18753    fop_open:entry Open: Workbook
    0   18753    fop_open:entry Open: temp_1
    0   18888  fop_rename:entry Rename: Workbook -> temp_2
    0   18888  fop_rename:entry Rename: temp_1 -> Workbook
    0   18753    fop_open:entry Open: Workbook
    0   18753    fop_open:entry Open: temp_2
    0   18892  fop_remove:entry Remove: temp_2
    0   18753    fop_open:entry Open: Workbook
    0   18753    fop_open:entry Open: Workbook
    

    O mesmo procedimento em outro servidor onde o problema não ocorre produz um resultado semelhante:

    CPU ID       FUNCTION:NAME
    1   25182 fop_create:return Create: temp_1
    1   25750    fop_open:entry Open: temp_1
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: temp_1
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: temp_1
    1   25889  fop_rename:entry Rename: Workbook -> temp_2
    1   25889  fop_rename:entry Rename: temp_1 -> Workbook
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: temp_2
    1   25893  fop_remove:entry Remove: temp_2
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: Workbook
    1   25750    fop_open:entry Open: Workbook
    

    Também adicionei timestamps ( walltimestamp) ao script, mas em ambos os casos todas as operações de arquivo ocorrem no mesmo segundo. => não fez diferença

  • Importar discos em outro host para verificar se a fragmentação do pool ou os discos estão com defeito => não fez diferença
  • Mova os dados e o pool raiz para uma máquina idêntica para descartar cabeamento, placa principal etc. => o problema persiste, então deve ser o pool raiz (software) ou um hardware específico que é incompatível com o software (ou se tornou incompatível repentinamente. ..)

Você poderia sugerir mais alguma coisa que seja a causa desse comportamento? Ou você experimentou algo semelhante? como não consegui encontrar nada útil online, suspeito que seja um problema estranho de hardware (porque está limitado a uma máquina) ou um problema com o Windows/Office.

zfs server-message-block file-server omnios microsoft-office-2010
  • 1 1 respostas
  • 869 Views

1 respostas

  • Voted
  1. Best Answer
    user121391
    2016-09-02T01:08:04+08:002016-09-02T01:08:04+08:00

    Solução:

    O problema afeta apenas o OmniOS r151018, não as versões anteriores. Este tópico na lista de discussão omnios-discuss era exatamente sobre o meu problema, citação de Geoff:

    Eu vi um tópico semelhante no fórum Nexenta. Parece haver um problema com o opslock. Desativei o opslock e estamos bem agora.

    svccfg -s network/smb/server setprop smbd/oplock_enable=false

    Não sei por que isso não está mordendo mais pessoas.

    Então, biteCount++;eu acho. O problema foi resolvido aplicando a correção e fazendo uma reinicialização rápida.

    Lições para o futuro: antes de tentar qualquer solução de problemas, basta usar a busca avançada nas listas de discussão oficiais, pois muito provavelmente o seu problema já ocorreu na máquina de outra pessoa. Além disso, crie uma VM rápida para descartar qualquer software, atualização ou erro de configuração antes de procurar por erros de hardware.


    Como cheguei lá:

    Depois de vários testes diferentes, conforme visto na pergunta atualizada, reduzi-o a problemas de software ou conflitos de hardware/driver no hardware específico. Para descartar o segundo, instalei duas novas máquinas virtuais OmniOS, r151018 e r151016 em outro host e configurei manualmente um compartilhamento SMB básico em cada uma delas.

    O r151018 apresentou o problema, o r151016 funciona bem. Suspeito que não percebi isso nos meus primeiros testes, porque reverti apenas algumas atualizações no r151018, não em uma versão anterior. Acho que o problema deve ter existido por mais tempo do que eu supunha.

    Ao procurar uma maneira de atualizar apenas os pacotes um por um, olhei para a lista de discussão e procurei smbnos últimos 6 meses, onde a solução correta/mesmo problema apareceu, datada de maio.

    • 4

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve