Sous Windows, il est très rapide de formater avec NTFS. J'ai une machine Linux de faible puissance, avec peu de RAM. Le formatage d'un volume de 2 To en ext4 prend beaucoup de temps.
Puis-je faire quelque chose pour accélérer le formatage? Je ne peux pas imaginer ce qui prend si longtemps? (qu'est-ce qui prend si longtemps)
Des solutions comme -E lazy_itable_init
ne change pas le résultat, accélère seulement le processus. C'est ce qui a été explicitement demandé, mais dans de nombreux cas, les gens ont besoin de plus.
Dans la plupart des cas, vous voulez en fait des options qui correspondent à vos modèles d'utilisation et non seulement accélérer la création du système de fichiers, mais également permettre une utilisation plus rapide et un espace plus utilisable.
Je viens de faire un test. Même sans utiliser -E lazy_itable_init
, les options ci-dessous accélèrent le temps de création d'un système de fichiers de 2 To de 16 minutes 2 secondes à 1 minute 21 secondes (noyau 3.5.0 64 bits sur Intel i7 2,2 GHz, disque 2 To sur connexion USB2 - SATA serait probablement plus rapide).
Pour un système de fichiers qui contiendra de gros fichiers, j'utilise cette combinaison:
mkfs.ext3 /dev/sdXX -O sparse_super,large_file -m 0 -T largefile4
où -T largefile4
sélectionne les options dans /etc/mke2fs.conf
qui contiennent généralement quelque chose comme:
inode_ratio = 4194304
blocksize = -1
Fait une man mke2fs
pour plus de détails sur chacune de ces options.
Voici des extraits pertinents:
sparse_super
Create a filesystem with fewer superblock backup copies (saves space on large filesystems).
large_file
Filesystem can contain files that are greater than 2GB. (Modern kernels set this feature automatically
when a file > 2GB is created.)
-i bytes-per-inode
Specify the bytes/inode ratio. mke2fs creates an inode for every bytes-per-inode bytes of space on the disk. The
larger the bytes-per-inode ratio, the fewer inodes will be created. This value generally shouldn't be smaller than
the blocksize of the filesystem, since in that case more inodes would be made than can ever be used. Be warned that
it is not possible to expand the number of inodes on a filesystem after it is created, so be careful deciding the
correct value for this parameter.
-m 0
dit seulement de ne pas réserver 5% pour root, ce qui est correct pour un système de fichiers de données (pas boot/root). 5% d'un disque de 2 To signifie 100 Go. C'est une différence assez importante.
Ajoutez le drapeau -E lazy_itable_init
Voici ce que dit la page de manuel:
Si elle est activée et que la fonction uninit_bg est activée, la table d'inode ne sera pas complètement initialisée par mke2fs. Cela accélère sensiblement l'initialisation du système de fichiers, mais cela nécessite que le noyau termine l'initialisation du système de fichiers en arrière-plan lors du premier montage du système de fichiers. Si la valeur de l'option est omise, sa valeur par défaut est 1 pour activer l'initialisation de la table d'inode paresseux.
La valeur par défaut est un format rapide; la configuration des structures pour un volume ext * prend beaucoup plus de temps que pour un volume NTFS, car il y en a plus. Vous pouvez réduire le nombre de superblocs, mais même cela ne va que si loin.
Si vous stockez principalement des fichiers plus volumineux, vous pouvez augmenter le nombre d'octets par inode, diminuant ainsi le nombre d'inodes créés. Cela peut considérablement accélérer le temps de création.