ext3 Filesystem mostra completo para a maioria dos aplicativos, mas apenas 77% completo para DF

6

O Var está sendo exibido como completo para muitos aplicativos, como o Nagios, o Puppet e as ferramentas do LVM (pvs, vgs, etc)

saída de df -h

6.0G  4.3G  1.4G  77% /var

vgs output

/var/lock/lvm/V_rootvg:aux: open failed: No space left on device
  Can't get lock for rootvg
  Skipping volume group rootvg

lsof +L1 não mostra nada sob var mais, então eu não acho que haja arquivos desvinculados que ainda precisam ser apagados do sistema de arquivos /var . Eu não entendo porque o 1.4G livre em um sistema de arquivos 6G é considerado completo. Eu sei que algum espaço é reservado pelo sistema em cada sistema de arquivos, mas isso não pode ser, é muito espaço. O sistema de arquivos é ext3 no Red Hat 5.

dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          c8f44510-e8f7-4e2e-950a-1410b069910e
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              393216
Block count:              1572864
Reserved block count:     78627
Free blocks:              1183083
Free inodes:              388144
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      63
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Mon Apr 29 13:12:02 2013
Last mount time:          Wed Oct 23 19:10:44 2013
Last write time:          Wed Oct 23 19:10:44 2013
Mount count:              6
Maximum mount count:      -1
Last checked:             Mon Apr 29 13:12:02 2013
Check interval:           0 (<none>)
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
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      8766dfd5-c802-4bc3-81cc-21869e810656
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             32M
Journal length:           8192
Journal sequence:         0x0112568e
Journal start:            3334
    
por Gregg Leventhal 02.04.2014 / 19:38

2 respostas

1

Olhando para os comentários, outros ajudaram você a diagnosticar que está sem inodes. Se você precisar disponibilizar alguns recursos para que possa obter algum acesso básico de volta ao seu sistema, poderá excluir os seguintes arquivos em uma instalação do CentOS 5, supondo que possa viver sem eles.

Exemplo

$ sudo rm -fr /var/log/*.[1-9]?(.gz)

Isso removerá os arquivos dos quais foi feito backup anteriormente em /var/log . Isso deve comprar algumas dúzias de inodes para começar.

Contando inodes

usando df

Eu costumo usar o comando df para determinar o número disponível.

$ df -i /
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/VolGroup00-LogVol00
                     59932672  807492 59125180    2% /
usando tune2fs

Você também pode usar tune2fs . Com isso, você precisará fornecer o caminho para o mapeador LVM LV.

$ tune2fs -l /dev/mapper/VolGroup00-LogVol00 | grep -i inode
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Inode count:              59932672
Free inodes:              59126861
Inodes per group:         32768
Inode blocks per group:   1024
First inode:              11
Inode size:       128
Journal inode:            8
First orphan inode:       21561629
Journal backup:           inode blocks

Libertou alguns inodes, e agora?

Com um pouco de espaço para respirar, você basicamente tem algumas opções.

  1. Gostaria de começar a tentar obter rapidamente uma lista de arquivos que podem ser segmentados para exclusão, para que você possa começar a ter mais espaço livre. Eu focaria em /tmp e /var alguns arquivos em potencial a serem removidos.

  2. Se você tiver versões antigas do Java ou qualquer coisa instalada em /usr/local ou /opt , escolheria as próximas.

  3. Eu começaria a formular uma lista de RPMs instalados que podem ser desinstalados

  4. Se você estiver usando o YUM para fazer atualizações neste servidor, poderá limpar o cache.

    $ sudo yum clean all
    
  5. Veja como adicionar mais espaço.

por 03.04.2014 / 01:19
1

Um provável motivo para ficar sem inodes é que um grande número de arquivos se acumulou em um determinado diretório por qualquer motivo. Você pode verificar os suspeitos usuais, por exemplo, /tmp , /var/tmp , /var/log etc. Se você não encontrar nada, aqui está um comando que eu compilei para listar os 50 principais diretórios no sistema de arquivos que contém mais arquivos / diretórios em seu primeiro nível.

find / -xdev -type d -exec sh -c '
  num=$(find "$0" -maxdepth 1 | wc -l); echo "$num $0"' {} \; |
  sort -n |
  tail -50

Observe que o nível superior dos pontos de montagem também estão incluídos - isso não é trivial para excluir.

    
por 03.04.2014 / 02:09