Tento výukový program pojednává o způsobech kontroly místa na disku v systému Linux pomocí příkazového řádku nebo grafických nástrojů.
Jako správce systému se vždy chcete ujistit, že máte dostatek místa aby vaši hostitelé běželi.
Naštěstí pro vás existuje spousta příkazů, které můžete použít ke kontrole místa na disku v Linuxu .
Kontrola místa na disku je zásadní:pokud jej nebudete monitorovat, možná se nebudete moci připojit k hostiteli nebo na něm provádět jakékoli příkazy.
V důsledku toho uvidíme, jak můžete zkontrolovat místo na disku , ale také jak to můžete sledovat abyste se ujistili, že nepřijdete příliš pozdě.
Zkontrolujte místo na disku v systému Linux pomocí df
Nejjednodušší a oblíbenější způsob, jak zkontrolovat místo na disku, je spustit příkaz df.
$ df <options>
Pokud spustíte příkaz „df“, toto je výstup, který byste dostali.
ubuntu:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 2007152 0 2007152 0% /dev
tmpfs 403960 716 403244 1% /run
/dev/vda1 81120644 31236604 49867656 39% /
tmpfs 2019792 0 2019792 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 2019792 0 2019792 0% /sys/fs/cgroup
/dev/vda15 106858 3668 103190 4% /boot/efi
tmpfs 403956 0 403956 0% /run/user/0
tmpfs 403956 0 403956 0% /run/user/1000
Ve výchozím nastavení příkaz df zobrazuje šest sloupců:
- Systém souborů :název souborového systému, který se může shodovat s názvem oddílu ve vašem souborovém systému (například /dev/vda1 nebo /dev/sda1);
- 1000 bloků :počet bloků na souborovém systému o velikosti 1Kb. /dev/vda1 obsahuje 81120644 1K-bloků, má 81120644000 bajtů nebo celkem 78,5 gigabajtů prostoru;
- Použito :počet 1K-bloků použitých v souborovém systému;
- K dispozici :počet 1K bloků dostupných pro souborový systém;
- Použít % :procento disku použitého na souborovém systému;
- Připevněno :přípojný bod použitý k připojení souborového systému.
Jak vidíte, výstup příkazu df není pro člověka příliš čitelný ani uživatelsky přívětivý.
Počítání počtu 1K bloků není příliš praktické, pokud chcete zkontrolovat místo na disku na systémech Linux.
Zkontrolujte místo na disku ve formátu čitelném pro člověka
Naštěstí pro vás existuje možnost, kterou můžete poskytnout příkazu df, abyste mohli změnit uspořádání konečného výstupu.
Chcete-li zkontrolovat místo na disku způsobem čitelným pro člověka, musíte použít příznak „-h“.
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 395M 716K 394M 1% /run
/dev/vda1 78G 30G 48G 39% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 395M 0 395M 0% /run/user/0
tmpfs 395M 0 395M 0% /run/user/1000
Jak můžete vidět, místo zobrazení počtu 1K bloků na vašich souborových systémech se vám zobrazí celková velikost vašich souborových systémů.
Místo toho, abyste museli provádět konverzi sami, můžete přímo vidět, že váš disk má velikost 78 G, že má využitých 30 GB a že 48 GB je stále k dispozici.
Všimněte si, že možnost „-h“ poskytuje velikosti v mocninách 1024.
Pokud chcete vypočítat celkové velikosti pomocí mocnin 1000 , budete muset použít možnost „-H“.
$ df -H
udev 2.1G 0 2.1G 0% /dev
tmpfs 414M 734k 413M 1% /run
/dev/vda1 84G 32G 52G 39% /
tmpfs 2.1G 0 2.1G 0% /dev/shm
tmpfs 5.3M 0 5.3M 0% /run/lock
tmpfs 2.1G 0 2.1G 0% /sys/fs/cgroup
/dev/vda15 110M 3.8M 106M 4% /boot/efi
tmpfs 414M 0 414M 0% /run/user/0
tmpfs 414M 0 414M 0% /run/user/1000
Ve většině případů se možná budete chtít držet možnosti „-h“, protože budete moci vidět „skutečnou“ velikost dostupnou na vašich souborových systémech.
Zkontrolujte konkrétní místo na disku souborového systému
V některých případech můžete chtít omezit vyhledávání na konkrétní souborové systémy na vašem hostiteli.
Chcete-li zkontrolovat místo na disku pro konkrétní souborový systém, musíte spustit následující příkaz
$ df <options> <path>
Chcete-li například zkontrolovat informace o disku související s kořenovým přípojným bodem, spusťte
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 78G 30G 48G 39% /
V některých případech se možná budete chtít podívat na konkrétní pole na výstupu.
Chcete-li dosáhnout tohoto výsledku, jednoduše připojte ke svým příkazům příznak „–output“.
$ df -h --output='field1','field2' /
Chcete-li například zobrazit pouze velikost a procento využití, spustíte
$ df -h --output='size','pcent' /
Size Use%
78G 39%
Zde je seznam všech sloupců dostupných pro filtrování pomocí příkazu df:'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail' , 'pcent', 'file' a 'target'
Zkontrolujte použití Inode v systému Linux
V některých velmi specifických případech možná budete muset zkontrolovat využití inodů na vašich linuxových souborových systémech.
Proč byste ověřovali použití inodu?
Jak jsme zjistili v článku o pevných a měkkých odkazech, soubory jsou v souborovém systému pevně spojeny s inody.
Také jste se dozvěděli, že váš systém spravuje tabulku inodů, kde položky ukazují na bloky dat na vašem fyzickém disku.
Tato tabulka inodů má však omezenou velikost:v důsledku toho vám mohou docházet položky inodů dříve, než vám dojde místo na disku.
Stručně řečeno, pokud váš systém již zpracovává příliš mnoho souborů (malých nebo ne), nebude schopen přidělit více místa novým souborům, i když má váš disk k dispozici 30 GB.
Chcete-li zkontrolovat využití inodů v systému Linux, přidejte k příkazu „df“ příznak „–inodes“.
$ df --inodes
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 501788 384 501404 1% /dev
tmpfs 504948 617 504331 1% /run
/dev/vda1 10321920 320672 10001248 4% /
tmpfs 504948 1 504947 1% /dev/shm
tmpfs 504948 4 504944 1% /run/lock
tmpfs 504948 18 504930 1% /sys/fs/cgroup
/dev/vda15 0 0 0 - /boot/efi
tmpfs 504948 19 504929 1% /run/user/0
tmpfs 504948 10 504938 1% /run/user/1000
Podobně můžete zkontrolovat použití inodu způsobem čitelným pro člověka zadáním možnosti „-h“.
$ df -h --inodes /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda1 9.9M 314K 9.6M 4% /
V této části jste se naučili, jak můžete zkontrolovat místo na disku pomocí df.
Pokud však chcete zkontrolovat využití disku pro adresáře a soubory, použijete příkaz „du“.
Zkontrolujte místo na disku v systému Linux pomocí du
Příkaz du znamená „využívání disku“ a používá se k získání informací o využití disku souvisejících s adresáři a soubory ve vašem systému.
$ du <option> <path|file>
$ du <option> <path1> <path2> <path3>
Jak je uvedeno, můžete mít buď využití disku pro konkrétní soubor, nebo pro cestu v systému.
Zkontrolujte využití disku souboru
Chcete-li zkontrolovat využití disku konkrétního souboru, stačí připojit název souboru k příkazu du.
Například pro kontrolu velikosti souboru .bashrc byste spustili
$ du ~/.bashrc
4 /home/schkn/.bashrc
Ve výchozím nastavení se velikosti zobrazují v kilobajtech, ale výchozí zobrazení můžete změnit zadáním formátu velikosti pomocí možnosti „-B“.
$ du -BM ~/.bashrc
1M /home/schkn/.bashrc
Všimněte si, že velikosti budou zaokrouhleny na nejbližší celé číslo. V tomto případě není soubor .bashrc velký 1 Mb, ale byl automaticky zaokrouhlen.
Můžete si také zvolit, aby se velikosti zobrazovaly ve formátu čitelném pro člověka, abyste ověřili, že se velikosti skutečně zobrazují v kilobajtech.
$ du -h ~/.bashrc
4.0K /home/schkn/.bashrc
Volbu „-h“ lze kombinovat s možností „–zdánlivá-velikost“, abyste získali skutečnou velikost souboru bez zaokrouhlování.
$ du -h --apparent-size ~/.bashrc
3.7K /home/schkn/.bashrc
Zkontrolujte využití disku adresáře
Na druhou stranu můžete zkontrolovat využití disku adresáře zadáním cesty k příkazu du.
Pokud například hledáte využití disku pro všechny domovské adresáře v souborovém systému, spustíte
$ du /
0 /sys/kernel/slab/:d-0002048/cgroup
0 /sys/kernel/slab/:d-0002048
0 /sys/kernel/slab/:A-0000704/cgroup/files_cache(74510:logstash.service)
0 /sys/kernel/slab/:A-0000704/cgroup/files_cache(96484:systemd-udevd.service)
0 /sys/kernel/slab/:A-0000704/cgroup/files_cache(70164:kibana.service)
V některých případech však nechcete vidět výstup pro každý jednotlivý soubor nebo adresář na cestě, ale součet pro danou cestu.
Chcete-li zkontrolovat celkové využití disku pro danou cestu, použijte „du“ s volbou „-shc“.
V některých adresářích budete muset mít oprávnění sudo (na Debian/Ubuntu nebo na RHEL/CentOS)
$ sudo du -shc /home
2.8G /home
2.8G total
$ sudo du -shc /home /var/log
2.8G /home
15G /var/log
18G total
Zde je rozpis použitých možností:
- -s :pro shrnutí zobrazí součet pro každou poskytnutou cestu namísto úplného seznamu každého jednotlivého souboru a adresáře v ní;
- -c :pro celkový součet, pokud zadáte více cest, sečte je, aby se pro ně vytvořil celkový součet;
- -h :pro lidskou čitelnost zobrazí výsledky s jednotkami.
Zkontrolujte místo na disku pomocí zástupných znaků
V některých případech můžete chtít, aby byl disk využit pro všechny textové soubory nebo všechny obrázky.
Naštěstí pro vás můžete použít zástupné znaky za účelem filtrování položek vrácených příkazem du.
Chcete-li například vyhledat všechny obrázky ve vašem systému a místo na disku, které využívají, spusťte
Chcete-li, aby místo na disku využívaly všechny vaše soubory PNG ve vašem systému, můžete svázat příkaz find s příkazem du.
$ find / -name *.png 2> /dev/null | xargs du -ch
8.0K /usr/share/grafana/public/app/plugins/datasource/graphite/img/graphite_logo.png
44K /usr/share/grafana/public/app/plugins/app/example-app/img/logo.png
4.0K /usr/share/grafana/public/img/fav32.png
12K /usr/share/grafana/public/img/mstile-150x150.png
34M total
Podobně můžete hledat textové soubory ve vašem systému pomocí stejného zástupného znaku.
find / -name *.txt 2> /dev/null | xargs du -ch
4.0K /usr/lib/vendor/tensorboard-1.12.2.dist-info/top_level.txt
4.0K /usr/lib/vendor/urllib3-1.24.1.dist-info/LICENSE.txt
4.0K /usr/lib/vendor/urllib3-1.24.1.dist-info/top_level.txt
22M total
Na druhou stranu, pokud chcete některé vzory vyloučit, je to také možné pomocí příkazu du a možnosti „–exclude“.
$ du --exclude='*.o'
Zkontrolujte místo na disku v systému Linux pomocí pydf
du a df příkazy jsou mezi správci systému velmi oblíbené.
Nicméně příkaz pydf může být také užitečné, pokud hledáte diskový nástroj, který zobrazuje informace uživatelsky přívětivým způsobem.
Chcete-li nainstalovat pydf , musíte být sudo na vašem hostiteli.
Chcete-li to ověřit, spusťte následující příkaz.
$ sudo -l
User <user> may run the following commands on user-ubuntu:
(ALL : ALL) ALL
Dále, v závislosti na vaší distribuci, spusťte jeden z následujících příkazů k instalaci pydf.
$ sudo apt-get install pydf [For Ubuntu / Debian ]
$ sudo yum install pydf [For RHEL / CentOS ]
Poté, když je pydf nainstalován, spusťte příkaz a zadejte přípojný bod, který chcete zkontrolovat.
$ pydf
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 77G 30G 48G 38.5 [#########...............] /
/dev/vda15 104M 3668k 101M 3.4 [#.......................] /boot/efi
$ pydf /
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 77G 30G 48G 38.5 [##########...............] /
Zkontrolujte místo na disku v GNOME
V moderních grafických desktopových prostředích máte k dispozici také sadu nástrojů, které analyzují váš disk za účelem poskytování statistik využití disku.
Jeden z nich se nazývá Analyzátor využití disku .
Disk Usage Analyzer, který je standardně zabudován do GNOME 3.30, je grafický nástroj, který analyzuje využití disku ve vašem systému a také způsob, jakým je distribuován mezi vaše různé složky.
Chcete-li otevřít analyzátor využití disku, přejděte na panel Aktivity v GNOME.
Na panelu Aktivity vyhledejte „Disk Usage Analyzer “.

Měla by se vám zobrazit následující možnost, kliknutím na ni spustíte DUA.

Na stránce „Zařízení a umístění “, měli byste vidět svůj domovský adresář a různé disky.
V nástroji Disk Usage Analyzer máte možnost prohledat složku nebo zkontrolovat celý disk.
Prohledat složku v GNOME
Chcete-li skenovat konkrétní složku, klikněte na „Skenovat složku… ” v levém horním rohu okna.

V dalším okně si můžete vybrat složku, kterou chcete zkontrolovat.
Vyberte svůj domovský adresář a klikněte na „Otevřít ” pro zahájení analýzy disku.

V dalším okně byste měli vidět kompletní analýzu disku pro vybranou složku.
Můžete procházet různými složkami, abyste viděli, jak je prostor rozdělen ve vašich různých složkách.
Na straně je také přítomen distribuční a interaktivní graf.

Disk Usage Analyzer je skvělý nástroj, pokud nejste příliš obeznámeni s příkazovým řádkem a pokud chcete mít grafické znázornění využití disku.
Nyní, když víte, jak zkontrolovat místo na disku v GNOME, pojďme se podívat, jak můžete dosáhnout stejného výsledku v KDE.
Zkontrolujte místo na disku v KDE
Pro ilustraci této kapitoly použijeme čerstvou distribuci Kubuntu 19.10.
Chcete-li zjistit rozložení místa na disku v KDE, nainstalujete Filelight .
$ sudo apt-get install filelight [Ubuntu / Debian ]
$ sudo yum install filelight [CentOS / RHEL]
Filelight je grafická aplikace, která také zobrazuje využití disku v konkrétních složkách nebo na discích.
Chcete-li spustit Filelight, jednoduše spusťte příkaz „filelight“ v konzole terminálu.
$ filelight

Ve výchozím nastavení se Filelight otevře a zobrazí místo použité pro váš kořenový oddíl v %Used vs %Free.
Pokud potřebujete přesnější distribuci, klikněte na „Skenovat ” v levém horním rohu aplikace a vyberte “Skenovat kořenovou složku”.

Po chvíli byste měli být schopni vidět kompletní analýzu vašeho kořenového oddílu.
Pamatujte, že filelight musíte spouštět jako uživatel sudo, abyste se vyhnuli problémům s oprávněními při kontrole složek v kořenovém oddílu.

Monitorování místa na disku v reálném čase
V některých případech může být nutné mít živé a „v reálném čase“ monitorování vašich disků.
Zde je několik možností, které můžete použít ke sledování místa na disku:
- Implementujte Prometheus pomocí nástroje Node Exporter a kolektoru „systému souborů“.
Připomínáme, že Node Exporter je exportér, který zpřístupňuje metriky hostitele databázi časových řad Prometheus. Kolektor „systém souborů“ se specializuje na agregaci dat o využití disku pro všechny distribuce.
Pokud potřebujete průvodce pro exportér uzlů, přečtěte si náš vyhrazený článek.
Pokud také potřebujete průvodce ke správné instalaci Promethea, přečtěte si o něm naši příručku.
- Implementujte InfluxDB a Telegraf pomocí vstupního pluginu „Disk“.
Další alternativou je implementace zásobníku TIG a povolení vstupního pluginu „Disk“, který se specializuje na monitorování využití disku v systémech Linux.
Chcete-li nastavit Telegraf, InfluxDB a Grafana , přečtěte si našeho podrobného průvodce.
Nezapomeňte si také přečíst podrobnou dokumentaci zásuvného modulu pro vstup disku na Github.
Závěr
V tomto podrobném tutoriálu jste se naučili, jak můžete kontrolovat a monitorovat místo na disku v Linuxu.
Dozvěděli jste se o nástrojích příkazového řádku, jako jsou „df“ a „du “ a možnosti, které máte k dispozici.
Také jste se dozvěděli, že můžete monitorovat místo na disku pomocí moderních nástrojů:grafických (Filelight nebo Disk Usage Analyzer) nebo platforem (jako je Prometheus nebo InfluxDB).
Pokud vás zajímá Správa systému Linux , na webových stránkách máme sekci věnovanou tomu:nezapomeňte ji zkontrolovat, aby vám neunikl průvodce.