web-dev-qa-db-fra.com

Combien d'octets par inode?

J'ai besoin de créer un très grand nombre de fichiers qui ne sont pas très volumineux (comme 4 Ko, 8 Ko). Ce n'est pas possible sur mon ordinateur car cela prend tous les inodes jusqu'à 100% et je ne peux pas créer plus de fichiers:

$ df -i /dev/sda5
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda5            54362112 36381206 17980906   67% /scratch

(J'ai commencé à supprimer des fichiers, c'est pourquoi c'est maintenant 67%)

Les octets par nœud sont de 256 sur mon système de fichiers (ext4)

$ Sudo tune2fs -l /dev/sda5 | grep Inode
Inode count:              54362112
Inodes per group:         8192
Inode blocks per group:   512
Inode size:               256

Je me demande s'il est possible de régler cette valeur très bas même en dessous de 128 (lors du reformatage). Si oui, quelle valeur dois-je utiliser? THX

25
oyo

Les octets par défaut par inode sont généralement 16384, ce qui est la valeur par défaut inode_ratio dans /etc/mke2fs.conf (lu avant la création du système de fichiers). Si vous manquez d'inodes, vous pouvez essayer par exemple:

mkfs.ext4 -i 8192 /dev/mapper/main-var2

Une autre option qui affecte cela est -T, généralement -T news ce qui le réduit encore à 4096.

De plus, vous ne pouvez pas modifier le nombre d'inodes dans un système de fichiers ext3 ou ext4 sans le recréer ou le modifier en hexadécimal. Les systèmes de fichiers Reiser sont dynamiques, vous n'aurez donc jamais de problème avec eux.

32

Vous pouvez connaître le rapport approximatif des inodes en divisant la taille de l'espace disponible par le nombre d'inodes disponibles. Par exemple:

$ Sudo tune2fs -l /dev/sda1 | awk -F: ' \
    /^Block count:/ { blocks = $2 } \
    /^Inode count:/ { inodes = $2 } \
    /^Block size:/ { block_size = $2 } \
    END { blocks_per_inode = blocks/inodes; \
          print "blocks per inode:\t", blocks_per_inode, \
                "\nbytes per inode:\t", blocks_per_inode * block_size }'

blocks per inode:    3.99759 
bytes per inode:     16374.1