Por que uma verificação de disco Ext4 é muito mais rápida que a NTFS?

11

Eu tive uma situação hoje em que reiniciei meu computador e ele disse que eu precisava verificar a consistência do disco. Cerca de 10 minutos depois (em "1%" completo), desisti e decidi deixá-lo correr quando eu for para casa.

Para comparação, meu computador doméstico usa Ext4 para todas as partições e as verificações de disco (que são executadas uma vez por semana) levam apenas alguns segundos. Lembro-me de ter lido que ter verificações rápidas de disco era uma prioridade, mas não sei como poderiam fazer isso.

Então, como o Ext4 faz as verificações de disco tão rápido? Existe algum grande avanço em fazer isso depois que o NTFS saiu (~ 10 anos atrás)?

Nota: O disco NTFS tem ~ 300 GB e o disco Ext4 é ~ 500 GB. Ambos estão meio cheios.

    
por Brendan Long 11.03.2011 / 19:08

3 respostas

10

Existem duas razões principais para a diferença de desempenho e duas possíveis possíveis . Primeiro, as principais razões:

Maior desempenho do ext4 vs. NTFS

Vários pontos de referência concluíram que o sistema de arquivos ext4 real pode executar uma variedade de operações de leitura-gravação mais rápido do que uma partição NTFS. Observe que, embora esses testes não sejam indicativos de desempenho no mundo real, podemos extrapolar esses resultados e usar isso como um motivo.

Quanto ao motivo pelo qual o ext4 realmente funciona melhor, então o NTFS pode ser atribuído a uma grande variedade de razões. Por exemplo, ext4 suporta alocação atrasada diretamente. Novamente, porém, os ganhos de desempenho dependem estritamente do hardware que você está usando (e pode ser totalmente negado em certos casos).

Requisitos de verificação do sistema de arquivos reduzido

O sistema de arquivos ext4 também é capaz de realizar verificações de sistema de arquivos mais rápidas do que outros sistemas de arquivos de registro no diário equivalentes (por exemplo, NTFS) . Segundo a página da Wikipedia:

In ext4, unallocated block groups and sections of the inode table are marked as such. This enables e2fsck to skip them entirely on a check and greatly reduces the time it takes to check a file system of the size ext4 is built to support. This feature is implemented in version 2.6.24 of the Linux kernel.

E agora, os dois possíveis motivos:

Utilitários de verificação de sistema de arquivos

Certos aplicativos podem executar rotinas diferentes no sistema de arquivos para realmente executar a "verificação" de integridade. Isso pode ser visto facilmente se você usar o utilitário fsck definido no Linux versus o utilitário chkdsk no Windows. Esses aplicativos são gravados em sistemas operacionais diferentes para diferentes sistemas de arquivos. A razão pela qual eu levanto isso como uma razão possível é que as chamadas de sistema de baixo nível em cada sistema operacional são diferentes e, portanto, você pode não conseguir comparar diretamente os utilitários usando dois sistemas operacionais diferentes. / p>

Fragmentação de disco

Este é fácil de entender e também nos ajuda a entender as diferenças entre os sistemas de arquivos. Embora todos os dados digitais contidos em um arquivo sejam os mesmos, como ele é armazenado no disco rígido é bem diferente do sistema de arquivos para o sistema de arquivos. A fragmentação de arquivos pode obviamente aumentar as velocidades de acesso, atribuindo a uma maior diferença de velocidade.

    
por 11.03.2011 / 19:27
3

Do meu entendimento, o ext4 tenta gravar dados no maior espaço contínuo de inodes abertos, onde não existem dados atualmente. Isso reduz drasticamente a latência quando esses arquivos precisam ser lidos como, na maior parte, todo o conteúdo de um arquivo individual ficava em uma única trilha contínua, de modo que a cabeça de unidades teria menos necessidade de fazer quando encontrasse todos os blocos contendo os dados. que compõe esse arquivo.

Ele (ext4) ainda pode se tornar fragmentado, mas muito menos e não necessariamente de uma maneira que afeta o desempenho de leitura / gravação severamente como no NTFS. No NTFS, os dados são gravados nos primeiros blocos abertos no caminho da cabeça.

Assim, onde quer que a cabeça esteja e haja blocos abertos, ela grava o máximo de dados que couber e grava onde quer que ela esteja em outro lugar no disco quando a cabeça tiver que se mover para outra parte do disco. arquivo diferente que precisa ser aberto em um programa que você acabou de carregar enquanto o outro arquivo ainda estava sendo escrito.
Isso significa que, se o arquivo for grande, é provável que ele seja distribuído em blocos separados uns dos outros em faixas separadas e é por isso que a desfragmentação é necessária com frequência para o NTFS.

Além disso, por que os servidores geralmente não o usam, pois há E / S mais pesada acontecendo com um servidor onde os dados são constantemente gravados e lidos do disco 24/7.

Também não tenho certeza, mas se chkdsk verificar a integridade de cada arquivo (o que acredito que seja fsck ), também seria mais lento em comparação ao que acabei de descrever sobre fragmentação em NTFS .

    
por 20.06.2012 / 22:26
0

O Windows nunca deve precisar verificar um volume NTFS na inicialização. Se isso acontecer, algo está seriamente errado - algo muito pior do que uma mera BSOD ou falta de energia. Há uma chance significativa de que alguns dos seus dados também tenham sido corrompidos por qualquer coisa que tenha corrompido os metadados do sistema de arquivos. A verificação do disco não consegue detectar isso; seu único objetivo é evitar mais corrupção.

KB2854570 lista algumas razões pelas quais isso pode acontecer. Uma delas é a hibernação de um sistema operacional com um volume montado, modificando o conteúdo do volume e, em seguida, retomando da hibernação com o volume (re) conectado. Se você fizer isso, há uma alta probabilidade de corrupção silenciosa de dados.

Eu não sei porque o seu sistema de arquivos ext4 estava verificando a si mesmo uma vez por semana, mas foi provavelmente (espero) não devido a uma crise comparável que ocorreu semanalmente. Provavelmente estava apenas fazendo uma verificação de sanidade de rotina, e não uma verificação de consistência completa.

    
por 27.07.2016 / 22:50

Tags