uso de disco e sistema de arquivos

1

Como o diretório raiz pode ter 100% de uso de disco enquanto seus subdiretórios não são? O espaço é alocado por diretório? No exemplo abaixo, mostra que a raiz é 100% usada. Isso significa que, se eu tentar adicionar conteúdo a um dos diretórios não raiz, ele deve funcionar, mas se eu tentar adicionar à raiz, ele não funcionará? Eu esperava que 100% de uso fosse o total de TODOS os diretórios adicionados, mas, como mostra o exemplo abaixo, esse não é o caso:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/eubuntu10x32-root
                      3.5G  3.3G     0 100% /
none                  1.5G  180K  1.5G   1% /dev
none                  1.5G     0  1.5G   0% /dev/shm
none                  1.5G   40K  1.5G   1% /var/run
none                  1.5G     0  1.5G   0% /var/lock
none                  1.5G     0  1.5G   0% /lib/init/rw
none                  3.5G  3.3G     0 100% /var/lib/ureadahead/debugfs
/dev/sdb               50G   27G   21G  57% /home
/dev/sda1             228M   35M  181M  17% /boot

Obrigado por alguma explicação sobre o uso do disco no sistema de arquivos.

    
por JohnMerlino 06.02.2013 / 16:06

3 respostas

0

Sistemas de arquivos e pontos de montagem

Você está perdendo uma maneira muito importante como o Ubuntu / Linux lida com sistemas de arquivos: tudo se resume à mesma raiz ( / ) e outros sistemas de arquivos ("volumes", "discos", "partições") ser montado em um local dentro da raiz.

Para explicar duas linhas mais interessantes:

  • Seu / é completo:

    /dev/mapper/eubuntu10x32-root   3.5G  3.3G     0 100% /
    

    Aqui você vê um meta-dispositivo "mapeador de dispositivos" sendo usado para o seu sistema de arquivos raiz. Eu acho que você está usando o LVM aqui ou criptografia.

    3.5GiB para / é uma capacidade muito baixa para uma instalação de área de trabalho, a menos que você tenha diretórios como /usr , /var movidos para fora dela. No seu caso, claramente não é suficiente.

  • Seu segundo disco ( sdb , sem partições) está montado em /home e uma partição de sda está montada como /boot :

    /dev/sdb               50G   27G   21G  57% /home
    /dev/sda1             228M   35M  181M  17% /boot
    

    Este /boot separado é comum para uma instalação LVM / criptografada para permitir que o carregador de inicialização (Grub) carregue o software / driver relevante para alcançar seus outros sistemas de arquivos para realmente inicializar o sistema operacional.

Então, basicamente, seus /home e /boot não são apenas diretórios. Eles são diretórios no sistema de arquivos / , mas há outro sistema de arquivos montado no topo dele. Isso significa que, sempre que você descer, você está procurando um sistema de arquivos diferente. Cada sistema de arquivos tem sua própria capacidade, listada por df .

Enquanto você movia /home e /boot , isso não era suficiente para ter espaço suficiente disponível em / . Soluções: aumente o sistema de arquivos / , mova-se mais como /usr ou /var para outro sistema de arquivos.

Todos os diretórios estão em / pontos de montagem?

Os diretórios que não são um ponto de montagem são partes regulares do sistema de arquivos, montadas como / . Há também alguns especiais, que na verdade não representam dados em discos, mas no UNIX / Linux, tudo é representado como arquivos como sockets, interfaces de kernel ( /proc , /sys ), etc e até diretórios em si são arquivos.

Como isso se compara ao Windows?

O Windows tende a esconder a diferença entre os dispositivos / partições e o sistema de arquivos real que está sendo montado. Isso significa que um C: "drive" também pode ser montado como tal. No Ubuntu / Linux, você verá que uma partição, por exemplo /dev/sda1 (primeira partição em sda ) pode ser montada (conteúdo disponibilizado para o usuário) para qualquer localização. Não há uma segunda raiz para isso, como o Windows faz com que a segunda unidade seja um D: .

    
por gertvdijk 06.02.2013 / 16:13
0

O Linux funciona de maneira um pouco diferente do Windows. Você tem um "sistema de arquivos raiz", e esse é o disco que você montou (apontou) para o diretório chamado / . Mas outros discos, como por exemplo o seu disco /home , podem estar lá. Onde no windows eles estariam por exemplo c:\ e d:\ , você acaba com eles em "subdiretórios" no linux, chamados "mountpoints".

Assim, enquanto o disco que você usa como / pode estar cheio, se você montar um disco de terabyte vazio como /home , isso será: vazio.

Isso também significa que, se você tiver espaço suficiente em /home , não será possível adicionar um arquivo a /otherdir : que será adicionado a um subdiretório real na partição / !

    
por Nanne 06.02.2013 / 16:12
0

Como df mostra, /dev/mapper/eubuntu10x32-root está montado em / (a raiz do seu sistema de arquivos).

As outras "pastas" que df mostra não são realmente pastas, mas também o que é chamado de "ponto de montagem".

Por exemplo,

  • a partição real /dev/mapper/eubuntu10x32-root montada em / está cheia.

  • a partição real /dev/sdb montada em /home não está cheia (57%).

O problema é que você não pode acessar essas partições de disco diretamente . Portanto, as partições devem ser montadas em alguns pontos de montagem (pastas). Por exemplo, a pasta /home é chamada de ponto de montagem para /dev/sdb , pois o disco físico está "vinculado" a essa pasta.

Isso significa que, quando você escreve algo em /home , seus dados são realmente gravados em /dev/sdb , não /dev/mapper/eubuntu10x32-root . 3.5G é pequeno para uma partição raiz e você não tem espaço, mas você ainda pode escrever em seu diretório home porque há 21G disponíveis nele.

    
por user129005 06.02.2013 / 16:12