Sie sind nicht angemeldet.

1

16.01.2012, 11:53

No space left on device, df -i: IUse 100%

Hallo Leute,

ich hab meinen amd64-hardened-Server neu aufgesetzt, das Partitionsschema habe ich beibehalten, die root-Part. wurde nur neu formatiert lt. Handbuch mit mkfs.ext3 /dev/hda3.

Kernel wurde ebenfalls "from scratch" neu konfiguriert - ist sicherlich noch nicht korrekt - aber vorerst hab ich ein andres Problem:

EGAL was ich nun machen möchte (emerge, log öffnen, tail, crontab -e etc.), ich erhalte den Fehler:
No space left on device.

Quellcode

1
2
3
4
5
6
7
8
9
10
Server ~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/hda1        38M  7.4M   29M  21% /boot
rootfs          4.7G  3.3G  1.3G  73% /
[b]/dev/root       4.7G  3.3G  1.3G  73% /[/b]
rc-svcdir       1.0M   60K  964K   6% /lib64/rc/init.d
udev             10M  196K  9.9M   2% /dev
shm             989M     0  989M   0% /dev/shm
/dev/hda5       105G  6.0G   94G   7% /home
/dev/sda1       917G  869G   49G  95% /mnt/auto/wd.gp.1tb


Quellcode

1
2
3
4
5
6
7
8
9
10
Server ~ # df -i
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
rootfs           313248 313248        0  100% /
[b]/dev/root        313248 313248        0  100% /[/b]
rc-svcdir        252992     59   252933    1% /lib64/rc/init.d
udev             252992    782   252210    1% /dev
shm              252992      1   252991    1% /dev/shm
/dev/hda5       6955008 349576  6605432    6% /home
/dev/sda1      61054976   5438 61049538    1% /mnt/auto/wd.gp.1tb
/dev/hda1         10040     37    10003    1% /boot


Gut - Ursache gefunden, es sind alle iNodes auf / belegt.
Nur warum? Und muss ich die Partition neu formatieren oder kann ich das irgendwie anders "zurücksetzen"?

Achja:
Da meine root-Partition recht klein ist, hab ich fürs mergen der großen Pakete (in meinem Fall nur gcc) die PORTAGE_TMPDIR Variable in der /etc/fstab auf /home/tmp umgebogen.
Also nur für den gcc.
Damit kanns aber nix zu tun haben, oder?

danke für eure Hilfe!


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Server ~ # emerge --info
Portage 2.1.10.41 (hardened/linux/amd64, gcc-4.5.3, glibc-2.13-r4, 3.1.5-hardened x86_64)
=================================================================
System uname: Linux-3.1.5-hardened-x86_64-AMD_Athlon-tm-_X2_Dual_Core_Processor_BE-2300-with-gentoo-2.0.3
Timestamp of tree: Mon, 16 Jan 2012 09:15:01 +0000
app-shells/bash:          4.1_p9
dev-lang/python:          2.7.2-r3, 3.1.4-r3
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.68
sys-devel/automake:       1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://gentoo.supp.name/ http://gentoo.mneisen.org/ http://gentoo.tiscali.nl/ http://gentoo.wheel.sk/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext alsa amd64 apache2 berkdb bzip2 cli cracklib crypt cxx dri flac gdbm gpm hardened iconv justify mmx modules mp3 mudflap multilib mysql ncurses nls nptl nptlonly ogg openmp pam pax_kernel pcre pppd python readline session sse sse2 ssl sysfs tcpd unicode urandom xml xmlrpc xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tausche« (21.01.2012, 06:25)


2

16.01.2012, 15:46

Das Problem scheint zu sein, dass du deine inodes schneller verbraucht hast als die Sektoren.
Das liegt daran, dass du viele kleine Dateien in / liegen hast, was auch normal ist.
Kurzfristig schafft dir das Löschen von Dateien Abhilfe. Wenn du ccache verwendest, lösche den mal, der legt sehr viele Dateien an afaik.
Langfristig musst du was am Dateisystem ändern.
Du kannst deine Partition vergrößern von einem Live-System aus, bspw. /home verkleinern und / vergrößern(, mit gparted geht das wunderbar). Dann erhöhst du auch automatisch die Anzahl der inodes und du musst nichts neu installieren/formatieren.
Oder aber du kannst die Anzahl der Bytes pro inode verkleinern. Das ist bei mke2fs die Option -i. Laut man-page kann diese Option nicht nachträglich geändert werden. Wenn du also die anderen Partitionen in Ruhe lassen willst, musst du / neu formatieren.

Gruß
Foyaxe

3

17.01.2012, 08:58

danke für die Antwort!

Klingt auch alles soweit logisch...erklären kann ichs mir trotzdem nicht.

Die Kiste lief mit genau der selben Partitionierung jetz über 5 Jahre durch.
24/7 - mit gelegentlichen Updates etc...derartige Probleme hatte ich nie.
Einzig für den GCC musst ich das PORTAGE_TMPDIR umbiegen, ansonsten haben die 4.7GB für / locker ausgereicht.

Also wollt ich das Partitionsschema eigentlich so lassen, wie's is.

Achja:
Zum Formatieren das erste Mal mkfs.ext3 ohne extra options (wie im Handbuch) verwendet.
Bisher hab ich das (glaube ich) immer mit mke2fs -j gemacht, bin mir aber nicht mehr sicher, ob ich da andre options mitgegeben hab.

Die Block size steht auf 4096 - was wäre da ein besserer Wert dafür?

schöne Grüße!

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Server ~ # tune2fs -l /dev/hda2
tune2fs 1.41.14 (22-Dec-2010)
Filesystem volume name:   root
Last mounted on:          <not available>
Filesystem UUID:          cd7b7086-a17d-465d-a1ef-7fec6a61261c
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              313248
Block count:              1251061
Reserved block count:     62553
Free blocks:              398567
Free inodes:              32
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      305
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8032
Inode blocks per group:   502
Filesystem created:       Fri Jan 13 10:14:28 2012
Last mount time:          Tue Jan 17 08:37:15 2012
Last write time:          Fri Jan 13 13:17:36 2012
Mount count:              14
Maximum mount count:      35
Last checked:             Fri Jan 13 10:14:28 2012
Check interval:           15552000 (6 months)
Next check after:         Wed Jul 11 11:14:28 2012
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      4bb13577-d091-4b55-8b60-de046c77e1b2
Journal backup:           inode blocks

4

17.01.2012, 21:13

die block size ist nicht das gleiche wie die bytes per inode!

5

20.01.2012, 20:30

Hi, ich kenne das Problem von SD-Karten auf ARM Systemen bei 4,7GB sind die Anzahl der inodes einfach zu gering nachträglich ändern geht nicht da hilft nur mit tar nen Backup machen und mit mehr inodes formatieren bei wenigen Anwendungen reicht die doppelte Anzahl aus.

zu deinem beitrag mke2fs ohne -j ist es ext2 mit ext3 hat aber erst mal nichts mit den inodes zu tuhen.

6

21.01.2012, 06:25

thx.

Hab ich so gemacht, bei 2-3 GB rootfs geht das backup-en und zurückspielen ja recht schnell.
Formatiert hab ich mit mke2fs -j -T small. Passt jetzt, danke für die Hilfe.

Quellcode

1
2
3
Server ~ # df -i /
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/root      1251328 250359 1000969   21% /