O que faz a opção mkfs.ext4 -G?

4

Na página Práticas Recomendadas para executar o Linux no Hyper-V da Microsoft, é recomendável usar ext4 e não ext3 e "especifica o número de grupos a serem 4096" usando mkfs.ext4 –G 4096 /dev/sdX1 . O que isso está fazendo exatamente?

A página man diz que os blocos por grupo (opção -g) não devem ser alterados e usando tune2fs -l eu posso ver que está configurado para 32768. Isso significa grupos de blocos entre 128 e 512 GiB (dependendo do tamanho do bloco) serão embalados juntos, mas como isso se compara ao padrão? A man page não diz qual é o padrão, e eu não vejo isso na saída tune2fs -l .

    
por Sacha K 12.07.2015 / 21:37

1 resposta

2

A opção -g é muito, muito diferente da opção -G para mkfs.ext4 .

A Microsoft está recomendando definitivamente alterar a opção -G no documento de práticas recomendadas, não a opção -g , que é claramente desencorajada de ser usada / alterada / ajustada, conforme observado na man page.

-G number-of-groups

Specify the number of block groups that will be packed together to create a larger virtual block group (or "flex_bg group") in an ext4 filesystem. This improves meta-data locality and performance on meta-data heavy workloads. The number of groups must be a power of 2 and may only be specified if the flex_bg filesystem feature is enabled.

Você pode ver os padrões executando dump2fs -h /my/file/system e procurando por Flex block group size . Por exemplo, para uma partição ext4 minha, os resultados são:

Flex block group size: 16

Que é exatamente o que Theodore Tso diz que deveria ser da sua apresentação Acelerando verificações de sistemas de arquivos no ext4 na página 17.

By default mke2fs uses 16 block groups/flex_bg group (must be power of 2)

Quanto ao que faz, você pode ver as diferenças de desempenho em fsck operações em grandes sistemas de arquivos em Esboço do sistema de arquivos Ext4 e previsão de desfragmentação online do Ext4 , a partir da página 14.

De acordo com o wiki do kernel do Linux, isso funciona agrupando os metadados para um carregamento mais rápido e para permitir que arquivos maiores sejam contíguos no disco. wiki do kernel ext4: grupos de blocos flexíveis

A última parte da citação da entrada da wiki enable larger files to be contiguous on disk é a parte chave do motivo pelo qual é considerada uma prática recomendada do Hyper-V configurá-la como 4096, porque permite o uso de espaço em disco real menor dos arquivos VHDX dinâmicos , porque os arquivos não são tão fragmentados no sistema de arquivos do disco rígido virtual, e as estruturas de dados são agrupadas de forma mais eficiente.

Mais detalhes sobre o raciocínio por trás das recomendações de práticas recomendadas da Microsoft no lado do Linux podem ser encontradas nas Notas de versão do OpenSuSE 12.1. Formatando partições de disco grandes no Windows Server e as notas técnicas do Red Hat Enterprise Linux 6 6.4 Virtualização também.

Espero que isso ajude a esclarecer sua confusão e responda suas perguntas. =)

    
por 11.09.2015 / 03:17

Tags