Nessun disco più sul server

dopo che qualche codice errato di php fosse stato estratto su uno dei nostri server, che ha tentato di aprire un file che non esisteva, abbiamo finito con enormi file di log apache che non erano ancora configurati per ruotare. Abbiamo appena cancellato quei file di registro. Dopo di che abbiamo visto che il nostro disco non ha davvero pulito. L'output di un df -h mostra quanto segue

Filesystem Size Used Avail Use% Mounted on /dev/sda1 18G 16G 1.1G 94% / udev 999M 12K 999M 1% /dev tmpfs 403M 848K 402M 1% /run none 5.0M 0 5.0M 0% /run/lock none 1007M 72K 1007M 1% /run/shm /dev/mapper/vg_ftp-ftp 9.9G 5.3G 4.2G 56% /mnt/local/ftp 

Inodes sembrano essere ok

 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 1168128 227009 941119 20% / udev 215094 442 214652 1% /dev tmpfs 219463 384 219079 1% /run none 219463 6 219457 1% /run/lock none 219463 3 219460 1% /run/shm /dev/mapper/vg_ftp-ftp 655360 1553 653807 1% /mnt/local/ftp 

Dopo aver esaminato con du e ncdu non abbiamo ancora potuto trovare where lo spazio è scomparso. Più tardi abbiamo pensato che erano gestori di file aperti che erano ancora lì, quindi abbiamo fatto il lsof | grep cancellato che ci ha dato alcuni file, tra cui il / sbin / mountall che è un po 'spaventoso.

 mountall 287 root txt REG 8,1 120404 9334 /sbin/mountall (deleted) mysqld 615 mysql 4u REG 8,1 0 416 /tmp/iba1fEnV (deleted) mysqld 615 mysql 5u REG 8,1 0 899 /tmp/ibcxXlJG (deleted) mysqld 615 mysql 6u REG 8,1 0 900 /tmp/ibdby44r (deleted) mysqld 615 mysql 7u REG 8,1 0 901 /tmp/ibYaPXvd (deleted) mysqld 615 mysql 11u REG 8,1 0 986 /tmp/ibS9XlvZ (deleted) ntpd 1231 ntp 3r REG 8,1 481 1427 /etc/network/interfaces~ (deleted) 

Stiamo cercando di evitare un riavvio . Qualcuno ha un'idea in cui potrebbe provenire questo o che altro potremmo verificare per trovare lo spazio mancante?

2 Solutions collect form web for “Nessun disco più sul server”

Il file che hai eliminato sarà ancora aperto e Apache scriverà. Dovrai riavviare Apache per consentirle di creare un nuovo file. Un riavvio grazioso dovrebbe fare il trucco

 apachctl -k graceful 

o

 apache2ctl -k graceful 

o qualunque utilizzi il tuo distro.

Hai provato anche l'esecuzione della sync ? Dovrebbe normalmente eseguire automaticamente alless una volta each pochi minuti, ma chissà.

Inoltre, come hai esattamente esaminato con du ? Forse alcuni di questi file sono stati ruotati da qualche altra directory e non hai notato che non sono stati ancora eliminati?

Potresti anche provare a find / -size +10000000c per trovare file superiori a 10 MB.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.