Quantos arquivos é igual a 1 inode

1

Estou bastante confuso sobre os i-nodes. Eles dizem excluir arquivos para reduzir os i-nodes, mas eu deletei 100s de arquivos de log de diferentes cpanels no meu servidor, mas a contagem de inodes ainda é a mesma.

    
por Fahad 06.05.2013 / 10:45

2 respostas

1

Você pode determinar a divisão de seus inodes em um determinado sistema de arquivos usando o comando tune2fs .

Você geralmente chama tune2fs com a opção -l e o dispositivo que deseja consultar, normalmente /dev/sda1 ou /dev/sdb1 . Para o meu exemplo, eu tenho um dispositivo RAID, /dev/md0 .

Exemplo

$ tune2fs -l /dev/md0 | grep -i inode

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Inode count:              22872064
Free inodes:              6270088
Inodes per group:         128
Inode blocks per group:   8
First inode:              11
Inode size:               256
Journal inode:            8
Journal backup:           inode blocks

O comando acima mostra o número total de inodes junto com o número disponível.

Você pode usar o comando blkid para obter uma lista de seus dispositivos se não tiver certeza do que tem.

$ blkid 
/dev/mapper/VolGroup00-LogVol01: TYPE="swap" 
/dev/mapper/VolGroup00-LogVol02: UUID="3130f689-814a-436d-8c0a-feb271c06245" SEC_TYPE="ext2" TYPE="ext3" 
/dev/mapper/VolGroup00-LogVol00: UUID="7a2a5b5b-8c20-4925-a359-c6574d9bc1fd" TYPE="ext3" 
/dev/sda1: LABEL="/boot" UUID="ed298397-2e7e-4e18-80c3-4ecd00e4cab9" TYPE="ext3" 
/dev/VolGroup00/LogVol00: UUID="7a2a5b5b-8c20-4925-a359-c6574d9bc1fd" TYPE="ext3" 
/dev/VolGroup00/LogVol01: TYPE="swap" 
/dev/sr0: LABEL="CentOS_5.6_Final" TYPE="iso9660" 
    
por 06.05.2013 / 19:13
1

Em geral, você tem razão - se você excluir todas as referências aos arquivos (que podem ser > 0 se os arquivos tiverem hardlink), os inodes deverão ser liberados quando você excluir os arquivos.

No entanto, se algum processo tiver o arquivo aberto (como qualquer processo que esteja gravando nos arquivos de log), os inodes não serão liberados até que o (s) processo (s) feche os arquivos. Assim como o espaço em disco usado pelos arquivos não é liberado até que os arquivos sejam fechados.

Antes de apagar os arquivos, você poderia ter usado o comando lsof nos arquivos para ver se algum processo tinha os arquivos abertos. Agora que você excluiu os arquivos, ainda é possível usar o lsof para examinar todos os arquivos abertos no sistema e procurar os arquivos que você excluiu.

    
por 06.05.2013 / 22:42