Digamos que eu tenha um disco rígido secundário que tenha sido desfragmentado e otimizado para que os dados sejam um bom bloco contínuo sem espaços / clusters ausentes. Como uma parede de tijolos sólidos.
- > Imagine esta imagem como esta para o armazenamento do sistema de arquivos:
[(data1) (data1) (data2) (data2) (data3) (data3) (data4) (data4) (data5) (data6) (vazio) (data7)]
Cada um dos itens em (..) é um tamanho de bloco, eles podem ser 4k, 8k, 16k, 32k blocos, .. o que for adequado às suas necessidades de armazenamento.
Se eu copiar um arquivo sobre o qual tem o mesmo nome e sobrescrever aquele no drive secundário, os dados serão armazenados exatamente no mesmo espaço / cluster?
- > Sim, embora você realmente não saiba.
Depende do tamanho do arquivo que está sendo copiado. Se o arquivo foi modificado para adicionar mais dados ao arquivo ou remover dados no arquivo, ele poderá usar mais blocos de dados ou menos blocos de dados. Para um arquivo de sistema de arquivos de 4k por bloco que foi usado para armazenar um arquivo, esse arquivo precisa ocupar espaço em clusters de 4k. Se os dados estivessem usando apenas 5k, seriam necessários dois clusters de 4k para armazenar o arquivo.
E se o arquivo for menor, isso criará uma nova lacuna nos clusters?
Se o arquivo fosse menor, essa lacuna seria apenas espaço de dados não utilizado no cluster, com base nos blocos mais próximos necessários para armazenar o novo arquivo.
E se o arquivo for maior, a parte dos dados preencherá o cluster e usará um no final da unidade livre, tornando-o fragmentado?
- > Geralmente sim, embora hoje em dia os sistemas de arquivos sejam problemas que não são tão visíveis.
A menos que você tenha um processo de leitura / gravação continuamente em um sistema de arquivos de bloco ... e para esta instância, eu criaria uma unidade de memória RAM apenas para o processo funcionar.
Em resumo, eu gostaria de encorajá-lo a se concentrar em muitos outros fatores de desempenho, como usar prelink e preload ... e mudar o 'vm.swappiness = 10' no arquivo /etc/sysctl.conf se você tiver um sistema debian.
Felicidades Rick:)