ext2 ou ext3 filesystem com o maior espaço disponível

2

Primeiro de tudo, a segurança é importante, então eu quero usar um tamanho razoável de backups de inode e coisas assim, sejam quais forem os significados ...

Eu quero usar ext2 ou ext3 para uma partição comum entre o Win7 e o Ubuntu (com ext2fsd ).

Meu problema é que criei uma partição ext2 de 850 gig e o GParted diz:

Size: 853.15 GiB
Used:  13.46 GiB

Este NÃO é o espaço de 5% reservado para o usuário root (seria mais de 40gigs). E é claro que eu tentei tune2fs -m 0 /dev/sda4 . É normal que 13 GB sejam perdidos apenas para o sistema de arquivos?

Toda ajuda é apreciada.

Alguns detalhes, se você precisar:

# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2048, size=   389120, Id=83, bootable
/dev/sda2 : start=   393214, size= 82028546, Id= 5
/dev/sda3 : start= 82429515, size= 81915435, Id= 7
/dev/sda4 : start=164345856, size=1789177856, Id=83
/dev/sda5 : start=   393216, size= 78123008, Id=83
/dev/sda6 : start= 78518272, size=  3903488, Id=82

df diz:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda5             38445384   5101796  31390516  14% /
none                   2021640       660   2020980   1% /dev
none                   2029348      1512   2027836   1% /dev/shm
none                   2029348       348   2029000   1% /var/run
none                   2029348         0   2029348   0% /var/lock
/dev/sda1               182331     22620    149983  14% /boot
/dev/sda4            880550492     73744 880476748   1% /media/334cb5f6-2f18-4193-b2c8-99bd42cd6f01

tune2fs -l /dev/sda4 diz:

tune2fs 1.41.14 (22-Dec-2010)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          334cb5f6-2f18-4193-b2c8-99bd42cd6f01
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              55918592
Block count:              223647232
Reserved block count:     0
Free blocks:              220119187
Free inodes:              55918581
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      970
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Sat May 21 10:35:15 2011
Last mount time:          n/a
Last write time:          Sat May 21 11:21:55 2011
Mount count:              8
Maximum mount count:      20
Last checked:             Sat May 21 10:35:15 2011
Check interval:           15552000 (6 months)
Next check after:         Thu Nov 17 09:35:15 2011
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Default directory hash:   half_md4
Directory Hash Seed:      7ba9b270-1cc8-4622-b25c-768497678f99

cat /etc/mke2fs.conf diz:

[defaults]
    base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
    blocksize = 4096
    inode_size = 256
    inode_ratio = 16384

[fs_types]
    ext3 = {
        features = has_journal
    }
    ext4 = {
        features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
        inode_size = 256
    }
    ext4dev = {
        features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
        inode_size = 256
        options = test_fs=1
    }
    small = {
        blocksize = 1024
        inode_size = 128
        inode_ratio = 4096
    }
    floppy = {
        blocksize = 1024
        inode_size = 128
        inode_ratio = 8192
    }
    news = {
        inode_ratio = 4096
    }
    largefile = {
        inode_ratio = 1048576
        blocksize = -1
    }
    largefile4 = {
        inode_ratio = 4194304
        blocksize = -1
    }
    hurd = {
         blocksize = 4096
         inode_size = 128
    }
    
por vbence 21.05.2011 / 14:15

1 resposta

2

Após ler e depois ler um pouco mais, cheguei à conclusão de que os inodes estão ocupando essa quantidade enorme de espaço.

Você pode confirmar isso com a saída tune2fs multiplicando os seguintes valores:

Inode count:              55918592
Inode size:               256

... e isso realmente lhe dará os 13 shows perdidos (14 315 159 552).

No arquivo make2fs.conf você pode ver o seguinte padrão: inode_ratio = 16384 . Multiplicar isso com o número de inodes fornece o tamanho total da partição (916 170 211 328), então é exatamente isso que parece. O número de inodes é calculado por partition size / inode_ratio .

Enquanto eu leio encolhendo o tamanho do inode não é recomendado, mas o inode_ratio em si lhe dará um amplo espaço para se mover. A predefinição largefile cria um inode para cada 1 MByte.

Eu não fui tão longe (nenhum pequeno sistema operacional de arquivos será armazenado nesta partição, mas os downloads e, às vezes, o código-fonte), então acabei com um moderado 128000 . Não tem que ser uma potência de 2, inodes não são um espelho 1-1 dos dados HD (como FAT16), eles são usados de forma mais dinâmica.

Isso (combinado com -m 0 , é claro) levou apenas 2 GB da minha grande partição. Com o qual eu posso viver.

mkfs.ext3 -i 128000 -m 0 /dev/sda4

Isso me deu 9 milhões de inodes (o que limita o número máximo de arquivos e dirs também, que podem ser armazenados no HD). Mas como eu disse anteriormente, nenhum sistema operacional será instalado nele, e considerando a fonte do kernel do Linux contém cerca de 25.000 arquivos, a etapa dos inodes anteriores, de 55 a 9 mill, parece ser um bom compromisso.

Aviso:

Você deve ter cuidado sobre a configuração do inode_ratio, já que seu sistema de arquivos suportará isso para sempre. Você não pode adicionar inodes a uma partição (ext2 ou ext3) depois sem reformatá-la.

Também é não possível apenas encolher a partição e criar uma nova no espaço livre se você ficar sem inodes, pois a diminuição da divisão diminuiria proporcionalmente inodes, então você não pode fazer isso com apenas alguns inodes livres.

    
por 21.05.2011 / 16:38