Overflow / tmp montato quando c'è spazio libero su /


26

Di recente ho riscontrato un problema di "overflow" su /tmp. Non ho una /tmppartizione separata e il 17% è gratuito in /- quindi perché ho ottenuto un tmpfilesystem overflow ?

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/safesquid-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=d029e04b-11e9-42e1-b1d3-9cde73cb3b67 /boot           ext2    defaults        0       2
/dev/mapper/safesquid-swap_1 none            swap    sw              0       0

mount produzione

/dev/mapper/safesquid-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
overflow on /tmp type tmpfs (rw,size=1048576,mode=1777)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)


root@safesquid:~# free -m
             total       used       free     shared    buffers     cached
Mem:          2009        182       1826          0          9         48
-/+ buffers/cache:        124       1885
Swap:          715        130        585
root@safesquid:~# uname -a

Linux safesquid 2.6.32-41-server #94-Ubuntu SMP Fri Jul 6 18:15:07 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Sto eseguendo Ubuntu 12.04.1 LTS.

Ho anche controllato df -i, ci sono inode gratuiti.


Interessante. Potresti mostrare l'output del mountcomando e il contenuto di / etc / fstab?
Dchirikov,

@dchirikov post aggiornato ..
Rahul Patil

Non stai semplicemente esaurendo la memoria? ( free -m) E quale kernel stai eseguendo? ( uname -a)
gertvdijk,

@gertvdijk controlla di aver aggiornato quelle cose ...
Rahul Patil

1
Spiega Linux 2.6.32-41-serversu "Ubuntu 12.04.1 LTS". Questo dovrebbe essere 3.2.0-*. Dai maggiori informazioni. È un aggiornamento incompleto? Stai eseguendo una virtualizzazione basata su VPS / container? ecc.
gertvdijk,

Risposte:


14

Quando il sistema si avvia e il disco rigido è pieno, nulla può scrivere su / tmp. Quindi durante init viene creato e montato un tmpfs. In questo modo il tuo sistema può avviarsi in sicurezza, perché può scrivere in / tmp.

Liberare spazio su disco e riavviare il dispositivo. (O semplicemente smonta / tmp, se sei sicuro che nulla lo utilizza).

L'impostazione di questo valore su 0 disabilita l'impostazione. , che mi aspetterei comporta il rischio di errore di init o di non essere in grado di accedere al sistema.

Penso che la risposta di Nitesh B. sia pericolosa e debba essere evitata.


Possiamo forse trovare un modo per ripristinare automaticamente il tmp supportato da ramdisk quando avremo spazio su disco?
CMCDragonkai,

Libero molto spazio, riavvio e ora non riesco ad accedere. Forse l'alternativa a @mpontillo era più sicura?
Pablo A

@PabloBianchi Forse è stato pubblicato 6 mesi dopo il mio, quindi non l'ho ancora valutato. Sembra una soluzione temporanea, e al riavvio saresti di nuovo nello stesso posto, quindi penso più a nascondere il problema che a risolverlo.
user50849

12

Stavo affrontando lo stesso problema su uno dei miei server Ubuntu, dopo aver cercato in rete ho ottenuto la soluzione.

Come protezione dallo spazio su disco insufficiente, alcuni demoni "ombreggiano" automaticamente l'attuale / tmp / dir con un disco ram se la partizione root esaurisce lo spazio su disco. Purtroppo non c'è inversione automatica di quel processo quando lo spazio su disco è di nuovo libero.

Per risolvere questo problema, smonta il tuo / tmp ed esegui questo comando:

echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp

Questo risolverà sicuramente il tuo problema.


7
E cosa succederà la prossima volta che il sistema si avvia senza abbastanza spazio su disco una volta che gli hai chiesto di non creare un tmpfs? Penso che il tuo consiglio sia pericoloso e scorretto per la stragrande maggioranza degli utenti / casi.
user50849,

Cosa sta facendo questo? echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp?
CMCDragonkai

@CMCDragonkai Vedi la mia risposta per una spiegazione di ciò.
user50849,

Ha funzionato per me dopo che il disco era pieno. Impostalo su 0, riavviato e ripristinalo su 1 dopo. Quindi la prossima volta che il disco sarà pieno, il sistema mostrerà lo stesso comportamento.
Marco Hegenberg,

Come si "smonta il tuo / tmp"? L'esecuzione sudo umount /tmpgenera l'errore/tmp: device is busy.
Cerin,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.