Problema: Arquivo de poucos gigabytes de tamanho (por exemplo, ISO de DVD do Debian) é corrompido quando baixado usando curl ou wget para um compartilhamento do Windows do Alpine Linux em execução no Hyper-V na mesma máquina Configuração:
- Dell T20, Xeon e 32 GB de RAM
- Windows Server 2016 com os últimos patches, etc.
- Alpine 3.20 rodando em Hyper-V
- Switch virtual de 10 GB, MTU 1500, exposto a WS2016 e Alpine
- Compartilhamento do Windows montado no Alpine em /etc/fstab
Testes que executei:
- curl/wget em Alpine, salvar para compartilhar - a execução sha256 em Alpine difere do esperado. Várias execuções obtêm sha256 diferente.
- curl no Windows, salvar no disco local - sha256 executado no Alpine corresponde ao valor esperado
Criei uma nova VM com disco vazio, instalei o Alpine 3.20 com os patches mais recentes e obtive o mesmo comportamento.
Fiquei sem ideias de onde procurar e o que verificar, então qualquer ideia será muito bem-vinda.
Respondendo a mim mesmo:
Problema resolvido adicionando a opção 'cache=none' à entrada de montagem cifs em /etc/fstab.
Isso permitiu que uma imagem Debian 12.7 fosse transferida do IIS local para o compartilhamento Windows a 30 MB/s via Linux wget. Sem dados corrompidos.
Seguindo a sugestão de @GregAskew, desabilitei todos os recursos de "hardware" do switch virtual, e a velocidade aumentou algumas vezes, quase igualando a velocidade de gravação do disco.