O que não precisa de desfragmentação? Linux ou o ext2 ext3 FS?

32

Por que você não precisa desfragmentar um sistema Linux? Porque está usando o sistema de arquivos ext2 / ext3, ou porque é o Linux?

Isso é relevante, pois tenho um sistema de inicialização dupla (W7 / Ubuntu) e uma partição comum (NTFS) que pode ser acessada por ambos os sistemas. Se eu estiver usando essa partição com o Linux, ela ficará fragmentada?

Outra questão são os contêineres Truecrypt. Eu também os acesse com Linux e Windows, e eles são FAT32. Eles são fragmentados pelo Linux operando neles?

    
por xyz 13.05.2013 / 15:22

4 respostas

27

Veja um artigo sobre como How To Geek sobre como ext2 / ext3 aloca arquivos no disco. E eles também têm um artigo perguntando " Você realmente precisa de desfragmentar ? "

Por que o FAT se torna fragmentado:

"Quando você salva um arquivo em um sistema de arquivos FAT, [o arquivo é salvo] o mais próximo possível do disco. Quando você salva um segundo arquivo, [o arquivo é salvo] logo após o primeiro arquivo - e assim por diante. Quando os arquivos originais crescem em tamanho, eles sempre se tornarão fragmentados. Não há espaço para eles crescerem. " Como-Geek

E a wikipedia tem mais informações sobre a fragmentação do FAT .

Sobre como EXT2,3,4 aloca arquivos:

"os sistemas de arquivos ext2, ext3 e ext4 [...] alocam arquivos de uma maneira mais inteligente. Em vez de colocar vários arquivos próximos uns dos outros no disco rígido, os sistemas de arquivos Linux espalham arquivos diferentes por todo o disco, deixando uma grande quantidade de espaço livre entre eles. "
-How To Geek

(e mais informações sobre desfragmentação no ext3, da wikipedia )

"Modernos sistemas de arquivos Linux mantêm a fragmentação no mínimo, mantendo todos os blocos em um arquivo juntos, mesmo que eles não possam ser armazenados em setores consecutivos. Alguns sistemas de arquivos, como o ext3, efetivamente alocam o livre bloco que está mais próximo de outros blocos em um arquivo.Portanto, não é necessário se preocupar com a fragmentação em um sistema Linux. "
- TLDP

    
por 13.05.2013 / 15:30
23

A fragmentação é sempre uma preocupação, não importa o sistema de arquivos. Ext3 / Ext2, no entanto, minimizaram o problema até o ponto em que a maioria dos administradores apenas opera como se não fosse uma preocupação. Isso é minimizado pelo uso de um agendador de E / S competente e pelo sistema de arquivos deixando um espaço posterior após cada arquivo para acomodar o crescimento. Além disso, fragmentos adicionais são armazenados mais próximos, então, mesmo quando há fragmentação, os efeitos são severamente silenciados. A comutação Ext4 para extensões também foi planejada para ajudar a mitigar a fragmentação ainda mais.

A fragmentação ainda existe, o ext2 tinha uma ferramenta de desfragmentação offline, o ext4 está recebendo um on-line e o btrfs (só porque está relacionado à questão) já tem uma desfragmentação online. Se você está no ext3, sua única opção real é converter para ext4 (via tune2fs ) ou tentar ver quanta sorte você tem com ferramentas de espaço do usuário como shake .

Dependendo do tipo de E / S que seu sistema de arquivos está passando, ainda pode ser uma preocupação mesmo em seu nível silencioso, e é por isso que as ferramentas on-line foram consideradas úteis para começar.

Para a pergunta sobre o FAT32, a fragmentação não acontece quando você simplesmente opera em um arquivo, isso acontece quando você escreve no arquivo. Para responder à sua pergunta diretamente, a fragmentação é um aspecto do design do sistema de arquivos, portanto, seu sistema de arquivos FAT32 tem o potencial de fragmentação sempre que você escreve algo nele.

    
por 13.05.2013 / 16:14
4

Responda às suas perguntas, uma por uma:

Why don't you have to defrag a Linux system? Because it's using the ext2/ext3 file system or because it's Linux?

Como o ext2 / 3/4 tem uma abordagem diferente sobre os arquivos e pastas, eles mal ficam fragmentados. Outros já responderam sobre isso, e você pode ler mais detalhes aqui

That's relevant, because a have a double boot system (W7 / Ubuntu) and a common partition (NTFS) that can be accessed by both system. If I'm using this partition with Linux, will it get fragmented?

Sim, pode ficar fragmentado. Não é uma questão se o Windows ou Linux ou qualquer outra coisa está acessando, é como cada sistema de arquivos lida com o tamanho do arquivo, como ele armazena todos esses blocos, se ele deixa espaços vazios entre cada arquivo ...

Another issue are the Truecrypt containers. I also access them with Linux and Windows, and they are FAT32. Do they get fragmented by Linux operating on them?

Contêineres Truecrypt são um arquivo, para todos os assuntos práticos. Quando você cria um contêiner usando TrueCrypt, você está criando um arquivo do tamanho que você escolher. Para o seu sistema operacional, é como qualquer outro arquivo. Se você fizer cópias dele, etc, talvez as cópias possam acabar sendo salvas fragmentadas.

Mas, lembre-se, nunca é bom ter várias cópias do mesmo contêiner, isso pode ajudar a reduzir a segurança dele. Sempre faça um novo contêiner.

Quando você salva, apaga, copia, move, etc, arquivos dentro do container, os sistemas operacionais não sabem, é o mesmo de abrir, editar e salvar qualquer outro arquivo, sem mudando de tamanho.

E se você estiver preocupado com a segurança do TrueCrypt sobre fragmentação, faça algumas pesquisas sobre o uso do TrueCrypt com SSDs: como o SSD tenta alavancar o desgaste de toda a memória interna, você pode ter o mesmo efeito de copiar o contêiner.

    
por 13.05.2013 / 21:04
3

No final, os drivers do sistema de arquivos estão no sistema operacional.

Os sistemas de arquivos ext2 e FAT são métodos para registrar quais blocos no disco pertencem a qual arquivo. Quando nem todos os blocos de um arquivo são contíguos, o arquivo é chamado de fragmentado. Mas, como deveria ser óbvio, a fragmentação é causada pela estratégia de alocação de blocos ao escrever um arquivo, e não pela maneira como você grava esses blocos.

O que faz a diferença é quão à frente os drivers do sistema de arquivos podem ser exibidos. Se o motorista souber que há mais 10 blocos para escrever, ele poderá escolher uma área livre contígua e evitar uma futura fragmentação. Isso depende da arquitetura do driver, que é específica do sistema operacional. Mas exatamente a mesma pesquisa de espaço livre pode ser feita em FAT e ext2.

Na verdade, ext2 e FAT não são tão diferentes quanto você pode pensar. Eu escrevi a parte ext2 de um gerenciador de inicialização sobre o código FAT existente, e isso exigia menos de 100 linhas extras de código.

    
por 13.05.2013 / 22:44