Suporte a NTFS no Linux, lidando com grandes arquivos esparsos, impacto no desempenho

0

Histórico:

Eu tentei recuperar dados de um disco rígido com falha usando o ddrescue em um ambiente recente do Knoppix. Primeiro armazenei a saída em uma partição NTFS, mas em algum momento a taxa de cópia ficou muito lenta (~ 600KB / s), e li em algum guia francês para aquela ferramenta que a recuperação para NTFS não foi recommanded, especialmente para um grande volume, como foi relatado para resultar em uma grande desaceleração. Então mudei para ext4 e o desempenho pareceu melhorar significativamente. (Veja esta questão .

Notei que o “tamanho no disco” para os arquivos de imagem de saída gerados pelo ddrescue era muito menor que seu tamanho real, o que significa que o ddrescue apenas aloca os dados que foram lidos com sucesso da entrada, resultando em “parcialmente sparse ”, mesmo quando o switch -S (“ sparse writes ”) não é usado. Neste caso, o uso da opção -S resulta em setores vazios que são realmente lidos a partir da entrada, sendo também não alocados na saída, tornando-a assim “totalmente” esparsa. (Veja essa outra questão .)

Pergunta:

Como essa lacuna de desempenho pode ser explicada entre o NTFS e o ext4? Está de fato relacionado à escassez? O driver NTFS do Linux tem problemas para lidar com grandes arquivos esparsos?

    
por GabrielB 11.09.2017 / 17:19

1 resposta

0

Para começar, você provavelmente estava usando o NTFS-3G, que é implementado no espaço do usuário, não no kernel. Isso sozinho significa que você tinha pelo menos o dobro das alternâncias de contexto ao usar o NTFS que você usou ao usar o ext4.

Além disso, eu não posso comentar muito sobre o que o problema pode ser, além de mencionar que, com base em meus próprios testes, o NTFS não parece lidar com arquivos esparsos de maneira muito eficiente no LInux, usando o NTFS-3G, ou usando o driver nativo do kernel (que quase ninguém usa porque o NTFS-3G tem um suporte geral muito melhor).

    
por 11.09.2017 / 21:26