Sziasztok!
Van egy webszerver, amin ubuntu 6.06 server fut (nem én telepítettem fel).
Egy partíció, a /var/log-nak, 20 GB.
Történt ma délután, hogy leállt az apache.
Probléma oka, betelt a /var/log. Na jó, törlöm a *.gz fájlokat.
Felszabadult 200 mega, az apache elindult. De:
a /var/log-on a szabad terület csökken. (óránként kb 10 megát).
A problémám az, hogy a /var/log alatt kb 50 megányi fájl van. Hova tűnhetett a többi 19 GB?
- 1412 megtekintés
Hozzászólások
RTM: lsof (hint: deleted) Tippelem, hogy a logrotate nem állít le a rotálás során valamit, "csak" kirotálja alóla a nyitott fájlokat...
- A hozzászóláshoz be kell jelentkezni
nincsenek fájlok... Csak fogy a hely.
- A hozzászóláshoz be kell jelentkezni
Attól, hogy a könyvtárfájlokban nincsenek bejegyzések, attól fájlok még lehetnek: "A" processz megnyitja írásra a fájlt (open()), közben a "B" process mond rá egy unlink()-et, azaz eltűnik a könyvtárfájlból a bejegyzés. DE a fájl nyitva van, az azt nyitva tartó processz vígan foshatja bele a dolgait, és majd ha ő (pontosabban az utolsó, az adott fájlt nyitvatartó processz is) bezárja (close()), vagy kilép, no akkor a fájl törlése, azaz a blokkjainak a szabad listára való felkerülése is megtörténik. Addig nem.
Szóval mit is mond az "lsof | grep deleted" ?
- A hozzászóláshoz be kell jelentkezni
$ sudo lsof | grep deleted
mysqld 4944 mysql 6u REG 253,0 0 147464 /tmp/ibCHLkSB (deleted)
mysqld 4944 mysql 7u REG 253,0 20 147465 /tmp/ibncvnRY (deleted)
mysqld 4944 mysql 8u REG 253,0 0 147466 /tmp/ib96wqQl (deleted)
mysqld 4944 mysql 9u REG 253,0 0 147467 /tmp/ibRmmXTI (deleted)
mysqld 4944 mysql 13u REG 253,0 0 147468 /tmp/ibsi3mf6 (deleted)
ezt mondja. /var/log-ba nem piszkol semmit.
- A hozzászóláshoz be kell jelentkezni
Ez korrekt(!) a mysql a /tmp alatt nyit néhány fájlt, majd nyitva tartva törli azokat, ezzel nem kell foglalkozni, ez a helyes működése a cuccnak.
- A hozzászóláshoz be kell jelentkezni
en utoljara akkor talalkoztam ilyen jelenseggel (debian/ubuntu) amikor az okos "fonok(ok)" webmin-eztek, esetleg nalatok van telepitve hasznalva? - magyarul o lotte el a logrotate-et
- A hozzászóláshoz be kell jelentkezni
nem, nincs instalálva...
- A hozzászóláshoz be kell jelentkezni
df -i nem mond érdekeset inode-okról?
Esetleg egy próba: dd if=/dev/null of=/var/log
bár nem hinnék benne a leírtak alapján.
Szerintem a var/log -ot valami folyamatosan írja (ld. előző hozzászólások), és nyitva marad. --> reboot, vagy a gyanús szolgáltatások megkereséses és újraindítása (apache, mysql például)
- A hozzászóláshoz be kell jelentkezni
lsof + daemon restart elég, mert a reboot csak tüneti kezelés, a probléma fennmarad, csak az újabb megjelenés ideje kitolódik.
--
hup.user.js
- A hozzászóláshoz be kell jelentkezni
És a te módszered nem tüneti kezelés? Én a service felderítése után beszereznék egy frissebb verziót.
- A hozzászóláshoz be kell jelentkezni
De akkor már megvan a szolgáltatás, nem? :) Egyébként meg lehet, hogy csak nagyon sok kérés jön a webszerverhez...
--
hup.user.js
- A hozzászóláshoz be kell jelentkezni
Ha megvan, hogy melyik szolgáltatás fog már letörölt fájlt, akkor tünetileg a szolgáltatás restart, majd pedig a logrotate (tippelem, van...) adott szolgáltatáshoz tartozó scriptjébe belerakni a szolgáltatás újraindítását.
- A hozzászóláshoz be kell jelentkezni
igen, a restart jó volt: felszabadult 19,8 giga hely.
Viszont, óránként átlag 20 mega fogy, terheléstől függően. Ez napi kb 400 mega. Azaz: Kb 40 naponként újra kell indítani. (eddig valszeg azért nem jött elő a probléma, mert új linux kernel esetén rebootoltam.)
- A hozzászóláshoz be kell jelentkezni
mysql ujraindíthatatlan volt: nem lehetett leállítani. Ha kilőttem, elindult mégegyszer:
kijött belőle egy újabb verzió, apt-get-el nem volt frissíthető.
Megoldás:
apt-get remove mysql
majd:
apt-get install mysql5-server
de továbbra is zabálja a /var/log-ot
- A hozzászóláshoz be kell jelentkezni
a mysql.log növekszik, viszont nem olyan ütemben, ami indokolná a /var/log felzabálását
$ sudo lsof | grep mysql | grep log
mysqld 4944 mysql 3w REG 253,2 306304642 2457604 /var/log/mysql/mysql.log
mysqld 4944 mysql 4u REG 253,2 416 2457603 /var/log/mysql/mysql-bin.index
mysqld 4944 mysql 10uW REG 253,3 5242880 49155 /var/lib/mysql/ib_logfile0
mysqld 4944 mysql 11uW REG 253,3 5242880 49156 /var/lib/mysql/ib_logfile1
mysqld 4944 mysql 12w REG 253,2 8818400 2457615 /var/log/mysql/mysql-bin.000048
mysqld 4944 mysql 21u REG 253,3 231900 557196 /var/lib/mysql/mindenki/login.MYD
mysqld 4944 mysql 30u REG 253,3 250880 557195 /var/lib/mysql/mindenki/login.MYI
mysqld 4944 mysql 123u REG 253,3 231900 557196 /var/lib/mysql/mindenki/login.MYD
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy sérült a filerendszer.
lsof |grep /var/log ?
df mit ír ?
- A hozzászóláshoz be kell jelentkezni
$ sudo lsof | grep /var/log
acpid 4431 root 1w REG 253,2 2017 33 /var/log/acpid
acpid 4431 root 2w REG 253,2 2017 33 /var/log/acpid
Xorg 4708 root 0w REG 253,2 57652 12 /var/log/Xorg.0.log
mysqld 4944 mysql 3w REG 253,2 346563537 2457604 /var/log/mysql/mysql.log
mysqld 4944 mysql 4u REG 253,2 416 2457603 /var/log/mysql/mysql-bin.index
mysqld 4944 mysql 12w REG 253,2 10891650 2457615 /var/log/mysql/mysql-bin.000048
apache2 5455 root 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 5455 root 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 5455 root 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 13989 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 13989 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 13989 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 14092 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 14092 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 14092 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 14158 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 14158 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 14158 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 14413 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 14413 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 14413 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
syslogd 16437 syslog 1w REG 253,2 13397 43 /var/log/auth.log
syslogd 16437 syslog 2w REG 253,2 34031 26 /var/log/syslog
syslogd 16437 syslog 3w REG 253,2 0 40 /var/log/daemon.log
syslogd 16437 syslog 4w REG 253,2 0 35 /var/log/kern.log
syslogd 16437 syslog 5w REG 253,2 0 15 /var/log/lpr.log
syslogd 16437 syslog 6w REG 253,2 25504 32 /var/log/mail.log
syslogd 16437 syslog 7w REG 253,2 0 34 /var/log/user.log
syslogd 16437 syslog 8w REG 253,2 0 18 /var/log/uucp.log
syslogd 16437 syslog 9w REG 253,2 25504 39 /var/log/mail.info
syslogd 16437 syslog 10w REG 253,2 2478 14 /var/log/mail.warn
syslogd 16437 syslog 11w REG 253,2 0 45 /var/log/mail.err
syslogd 16437 syslog 12w REG 253,2 0 25 /var/log/debug
syslogd 16437 syslog 13w REG 253,2 815 23 /var/log/messages
apache2 17914 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 17914 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 17914 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 17961 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 17961 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 17961 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 17991 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 17991 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 17991 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 18877 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 18877 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 18877 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 18938 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 18938 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 18938 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 18939 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 18939 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 18939 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
apache2 19147 www-data 2w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 19147 www-data 6w REG 253,2 497048 851970 /var/log/apache2/error.log
apache2 19147 www-data 7w REG 253,2 2631303 851971 /var/log/apache2/access.log
szerintem semmi szokatlan...
$ sudo df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv01
40G 26G 13G 67% /
varrun 1010M 84K 1010M 1% /var/run
varlock 1010M 4.0K 1010M 1% /var/lock
udev 1010M 92K 1010M 1% /dev
devshm 1010M 0 1010M 0% /dev/shm
/dev/mapper/vg01-lv02
30G 351M 28G 2% /var
/dev/mapper/vg01-lv04
20G 222M 19G 2% /var/lib/mysql
/dev/mapper/vg01-lv03
20G 478M 19G 3% /var/log
/dev/mapper/vg01-lv06
185G 28G 147G 16% /var/www
/var/run/mysqld 1010M 84K 1010M 1% /var/spool/postfix/var/run/mysqld
innen látszik hogy zabálódik a /var/log. 4-5 hét alatt elfogy.
- A hozzászóláshoz be kell jelentkezni
Tipp: naponta csinálj egy du -ks /var/log kimenetet, és nézd meg, mi nő rettenet mértékben.
- A hozzászóláshoz be kell jelentkezni
Nálam volt ilyesmi intranet szerver, azt a samba okozta. Nézz körül, mennyit logol, és miket!
- A hozzászóláshoz be kell jelentkezni