Cópia de arquivo corrompido Windows 2012 -> VPN -> Windows 2012

Cópia de arquivo corrompido Windows 2012 -> VPN -> Windows 2012

Estou tendo problemas para copiar arquivos de um servidor Windows 2012 para outro por meio da VPN Cisco ASA5505. Eu tive uma configuração semelhante com servidores Win2008 e nunca vi o problema (mesmo ASA5505 neste final)

Para cerca de 1 em cada 20 arquivos (uma ou duas vezes por dia) de cerca de 20 MB ou mais, tenho tendência a ter dados corrompidos.

A corrupção tende a ocorrer na forma de cerca de 5 áreas de corrupção (às vezes todas localizadas em uma seção de 1 MB do arquivo), e cada área tem cerca de 12 bytes de comprimento, totalizando aproximadamente 60 bytes corrompidos em todo o arquivo. O tamanho do arquivo não muda.

Eu já vi isso com o log-ship-copy nativo do SQLServer e com o robocopy.

Conectado a isso é que quando eu uso arrastar/soltar o Windows para copiar um arquivo de 40 GB, a cópia geralmente falha após 15-30 GB (ou cópias com alguma corrupção). Isso não parece acontecer quando copio Win2012 -> VPN -> SBS2011 e copio SBS2011 -> Win2012.

A compactação não parece estar habilitada no ASA5505. Nenhum erro detectado no rastreamento SMBErrors padrão do NetMonitor.

Responder1

Foi a VPN (ou rede - TBC), não um problema do Windows.

Veja como eu encontrei.

Depois de executar o Microsoft Network Monitor em ambas as extremidades da VPN, consegui capturar um pacote TCP/IP relacionado ao conteúdo corrompido do arquivo. O pacote capturado na extremidade remota não estava corrompido. O pacote no destino estava corrompido.

Para encontrar o pacote de rede ruim, despejei hexadecimalmente a versão boa e ruim do arquivo e usei o KDiff3 para comparar o hexadecimal. Em seguida, procurei na captura do NetMonitor um padrão hexadecimal de 4 bytes que ocorreu pouco antes da corrupção no arquivo. Não consegui encontrar esse padrão, então tentei outro padrão logo após a corrupção, encontrei-o e, em seguida, trabalhei de trás para frente através dos bytes até o bloco em questão (o primeiro padrão cruzou o limite do pacote).

informação relacionada