Portál AbcLinuxu, 30. května 2024 17:01


Dotaz: Nejde uvolnit místo na disku zabrané docker overlay2

28.9.2023 08:52 neal_cz | skóre: 29
Nejde uvolnit místo na disku zabrané docker overlay2
Přečteno: 734×
Odpovědět | Admin
Ahoj, seznamuji se s dockerem a narazil jsem na problém, se kterým si nevím rady. Zápisy kontejneru zaplnily disk, na kterém je (byl) overlay2:
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb2             109G  107G     0 100% /
když se ale podívám na obsazení disku, vidím, že by měl být prázdný:
du -h --max-depth=1 / --exclude=mnt --exclude=proc --exclude=srv | sort -rh
4.6G /
3.3G /usr
1.1G /var
222M /boot
30M /opt
6.9M /etc
2.2M /run
836K /root
16K /lost+found
8.0K /media
8.0K /.cache
4.0K /home
4.0K /export
Zkusil jsem bez úspěchu různé varianty prune, nakonec jsem kompletně smazal vše co souviselo s dockerem (zastavit v systemd, rm -rf /var/lib/docker), ale místo na disku se stále neuvolnilo.

Nevíte někdo, jak to místo uvolnit?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 28.9.2023 12:12 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jsou dvě možnosti. Buď jsi mázl něco, co ještě drží nějaká služba (k uvolnění místa dojde, až to ta služba pustí, nebo po restartu serveru), další možnost je, že místa máš dost, ale používáš nějaký hodně špatný filesystém jako třeba ext4, který je naprosto nevhodný na kontejnerizaci, protože má natvrdo stanovený počet inode a neumí je dynamicky zvyšovat podobně jako xfs. Tím pádem ti "df -h" ukáže spoustu volného místa, ale zápis se nikdy nezadaří a "df -i" ti řekne proč.
Každopádně podle popisu to nevypadá na problém s inode, ale s tím, že ti asi nějaká služba něco drží, co jsi už smazal.
Zdar Max
Měl jsem sen ... :(
28.9.2023 13:12 neal_cz | skóre: 29
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Diky, inodes je volnych 99%. Pocitac jsem nekolikrat restartoval, mezitim smazal vse spojene s dockerem a sluzbu zastavil. Presto je situace stejna. Nechapu co by mohlo takto data drzet :(
Max avatar 28.9.2023 14:17 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
O jaký jde filesystem? Nemáš tam třeba snapshoty?
Zdar Max
Měl jsem sen ... :(
28.9.2023 17:21 neal_cz | skóre: 29
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Ext4, ten snad ale snapshoty sam neumi? Je to system na hrani, tak to asi zformatuju a zacnu znova.
AraxoN avatar 28.9.2023 17:39 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemáš tam niečo veľké s názvom, ktorý si vylúčil? (mnt, proc, srv)

Prípadne, nemáš tam na tom disku náhodou skopírovaný /proc (vrátane kópie celej pamäte), ktorý zaberá všetko voľné miesto, ale je cez neho pripojený skutočný /proc, a preto obsah kópie nevidíš?

Pripojil by som disk externe z iného systému či liveCD, ak je taká možnosť. Tak je možné spraviť aj fsck.
29.9.2023 07:58 čavo | skóre: 14
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pripojil by som / do iného adresára cez bind a tam by som ho kontroloval bez akéhokoľvek --exclude, či tam nie je niečo schované:
mkdir /mnt/temproot
mount --bind / /mnt/temproot
cd /mnt/temproot
du -h --max-depth=1 ./ | sort -rh
4.10.2023 10:23 neal_cz | skóre: 29
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Diky za tip. Pokud se zase dostanu do uzkych, zkusim.
2.10.2023 14:13 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevíte někdo, jak to místo uvolnit?

Jedno vysvětlení, které mě tady napadá: Když smažeš soubor, ale nějaký proces ho má stále otevřený, smaže se sice z adresářových struktur (proto se ta funkce jmenuje unlink()), ale inode, metadata i data souboru tam pořád jsou, dokud se ten soubor nezavře. Teprve pak zmizí úplně a teprve pak se dá místo po něm uvolnit.

Jinými slovy: V době mezi tím smazáním všeho z Dockeru a hledáním volného místa, restartoval jsi to, pro jistotu? Restartování by nemělo být nutné, samozřejmě, pokud jsi si zcela jistý, že tam není

Snapshoty (jak už tu bylo řečeno) příčinou nebudou, protože Ext4 nic takového neumí. Leda že by tam snad byly „snapshoty“ na úrovni LVM (tedy na jiné úrovni abstrakce, kde nemají být, ale občas se takové věci bohužel stále ještě vidí).

4.10.2023 10:21 neal_cz | skóre: 29
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Ano, situace se nezmenila ani po opakovanych restartech. LVM jsem nemel, cisty ext4. Prostor na disku zustal beze zmeny i po umount overlaye. Protoze to je system na hrani, uz jsem ho zrusil a vytvoril znovu.
6.10.2023 17:08 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2

Škoda, no.

Sice Ext4 nepoužívám, ale fakt by mě zajímalo, co přesně to mohlo být, jestli by se to stalo i s jiným FS a podobně.

Mrzí mě, že mě nenapadlo navrhnout spustit na tom fsck, i když třeba dmesg nehlásil žádný problém a normálně se to mountovalo, čistě pro jistotu… Samozřejmě jsou stavy, ze kterých fsck nepomůže, ale pokud šlo „jenom“ o nějakou drobnou nesrovnalost kolem volného místa, kdoví, třeba by to bývalo pomohlo (nebo aspoň odhalilo případný problém).

3.10.2023 01:54 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Odpovědět | | Sbalit | Link | Blokovat | Admin
Něco namountované do neprázdného adresáře? Nebo něco v /mnt?
4.10.2023 14:01 MM
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Ano, taky bych to tipoval na něco takového...
4.10.2023 14:55 neal_cz | skóre: 29
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Vse se mountovalo jen do /srv, /mnt nic neobsahoval (kontrola pres df a mc), v prikazu zustal, protoze jsem ho prevzal z fora.
4.10.2023 15:01 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
A /dev/null je znakové zariadenie, alebo gigantický súbor?
k3dAR avatar 4.10.2023 18:29 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
teoreticky, mohl si mit na disku neco v /proc, /sys, /dev kam se ti jiste neco mountovalo ;-)
to by ti pak prave du neukazalo, proto se dela bind "/" jinam viz, kde pak je jistota ze vse co v tom filesystemu je, vidis...
porad nemam telo, ale uz mam hlavu... nobody
5.10.2023 08:07 neal_cz | skóre: 29
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Teoreticky ano, prakticky jsem adresare s nulovou velikosti do vypisu nezahrnul, takze si myslim, ze tam opravdu nic nebylo. Ten bind je moc dobry tip, jestli si zase tahle zavarim, zkusim.
5.10.2023 12:18 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Nejde uvolnit místo na disku zabrané docker overlay2
Tak preco si ho vyexcludoval?
du -h --max-depth=1 / --exclude=mnt --exclude=proc --exclude=srv | sort -rh
Ak sa ti tam nieco malo mountnut, ale nemountlo a potom sa tam nasypali data...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.