Il -T largefile
flag regola la quantità di inode assegnati alla creazione del file system. Una volta assegnato, il loro numero non può essere modificato (almeno per ext2 / 3, non completamente sicuro di ext4). L'impostazione predefinita è un inode per ogni 16 KB di spazio su disco.-T largefile
lo rende un inode per ogni megabyte.
Ogni file richiede un inode. Se non hai più inode, non puoi creare nuovi file. Ma anche questi inode allocati staticamente occupano spazio. Puoi aspettarti di salvare circa 1,5 gigabyte per ogni 100 GB di disco impostando -T largefile
, al contrario di quello predefinito. -T largefile4
(un inode per 4 MB) non ha un effetto così drammatico.
Se si è certi che la dimensione media dei file memorizzati sul dispositivo sarà superiore a 1 megabyte, quindi impostare -T largefile
. Lo sto usando felicemente sulle mie partizioni di archiviazione e penso che non sia troppo radicale in un ambiente.
Tuttavia, se scompattate un tarball sorgente molto grande di molti file (pensate a centinaia di migliaia) in quella partizione, avrete la possibilità di rimanere senza inode per quella partizione. C'è poco che puoi fare in quella situazione, oltre a scegliere un'altra partizione su cui annullare l'operazione.
Puoi controllare quanti inode hai disponibile su un filesystem live con il dumpe2fs
comando:
# dumpe2fs /dev/hda5
[...]
Inode count: 98784
Block count: 1574362
Reserved block count: 78718
Free blocks: 395001
Free inodes: 34750
Qui, posso ancora creare 34 mila file.
Ecco cosa ho ottenuto dopo aver fatto mkfs.ext3 -T largefile -m 0
su una partizione da 100 GB:
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/loop1 102369 188 102181 1% /mnt/largefile
/dev/loop2 100794 188 100606 1% /mnt/normal
La versione per file di grandi dimensioni ha 102 400 inode mentre quella normale ha creato 6 553 600 inode e risparmiato 1,5 GB nel processo.
Se si ha una buona idea di quali file dimensioni verranno inseriti nel file system, è possibile ottimizzare la quantità di inode direttamente con lo -i
switch. Imposta il rapporto byte per inode. Otterresti il 75% dei risparmi di spazio se lo utilizzassi -i 65536
pur essendo in grado di creare oltre un milione di file. In genere calcolo per conservare almeno 100000 inode di riserva.