Come posso creare una partizione EXT4 con un gran numero extra di inode?


15

Informazioni sugli inode

In Ubuntu, ogni file e directory è un cosiddetto inode. È possibile utilizzare df -iper controllare il numero di inode in uso e disponibile per tutti i filesystem montati.

Domanda

Se si crea una nuova partizione EXT4, utilizza il numero predefinito di inode, che in condizioni normali dovrebbe essere sufficiente. Tuttavia, se si esegue un sistema che produce milioni di piccoli file, come è necessario creare una nuova partizione EXT4 con un numero extra elevato di inode? Qual è il massimo?

Commenti

  • NON è possibile modificare il numero di inode disponibili DOPO che la partizione EXT4 è stata creata


@Rinzwind Questa non è la stessa domanda in quanto chiede solo come trovare un gran numero di piccoli file ... non spiega come formattare una nuova partizione EXT4 con un numero extra elevato di inode. Riaprirò la mia domanda.
Zero

Come posso disabilitare quel banner in alto dicendo che a questa domanda potrebbe essere già stata data una risposta? Questa è una questione diversa.
Zero

Risposte:


12

L'uso di mkfs -t ext4 -N iNumberOfINodes /dev/XdYwhere iNumberOfINodesè un numero a 32 bit, quindi il numero massimo possibile di inode su qualsiasi file system ext2 / 3/4 è 2 ^ 32-1 o 4.294.967.295 (~ 4 miliardi).


5
Ci sono degli svantaggi prestazionali noti durante la configurazione di 4.000.000.000 di iNode?
bzero

1
in realtà non lo è: mkfs.ext4: troppi inode (4294967296), specifica <2 ^ 32 inode
dalore

@dalore errore off-by-one: 2 ^ 32-1 ... Grazie per il
feedback

Nota che ho provato anche quello, ma ho avuto un altro errore che non era molto informativo su quale numero è accettato.
dalore,

hai provato 2 ^ 31 ???
Fabby,

3

Vedi la pagina man per mkfs.ext4.

man mkfs.ext4

L'opzione -Nconsente di impostare il numero di inode creati nel filesystem e l'opzione -Iconsente di aumentarne le dimensioni (in modo che possano gestire attributi di file più estesi). Adatta in base alla tua situazione quando crei il filesystem.


Grazie, quindi -N viene utilizzato al momento della creazione, mentre -l possono essere utilizzati per regolare il numero di inode dopo che la partizione è stata creata? Ora darò un'occhiata più da vicino alle pagine man ...
bzero

Il -Icambia la dimensione di ogni inode in byte al momento della creazione. Non ti permetterà di aumentarne il numero disponibile su filesystem esistenti.
Due giorni

"allows you to increase their size (so they can handle more files)"Aumentare la dimensione dell'inode non significa che è possibile gestire più file, maggiore è il rapporto byte per inode, minore sarà la creazione di inode, il che significa che è possibile gestire meno file.
ZN13

1

È sempre un compromesso tra gli inode e la dimensione del blocco. 32 bit è il massimo, ma il massimo effettivo dipende dalla dimensione del disco / file system divisa per la dimensione del blocco. Ogni file è almeno un blocco. Puoi anche specificare la dimensione del gruppo che determina quanti blocchi per inode. (es. byte / inode)

Tutto ciò determinerà il numero di inode che è possibile allocare per una determinata dimensione del disco e dimensione del blocco.

È anche un compromesso tra prestazioni e capacità dei file. Le dimensioni più piccole del blocco comportano la frammentazione di file di grandi dimensioni e richiedono più operazioni di I / O per caricare il file.

Se hai intenzione di personalizzare devi leggere o altrimenti finisci con un filesystem totalmente inadatto a ciò che pensavi di voler.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.