Solución 1:
Añade la bandera -E lazy_itable_init
Esto es lo que dice la página man:
Si está habilitado y la función uninit_bg está habilitada, mke2fs no inicializará completamente la tabla de inodos. Esto acelera notablemente la inicialización del sistema de archivos, pero requiere que el núcleo termine de inicializar el sistema de archivos en segundo plano cuando se monta por primera vez. Si se omite el valor de la opción, el valor predeterminado es 1 para habilitar la inicialización de la tabla de inodos diferidos.
Solución 2:
Respuesta estricta
Soluciones como -E lazy_itable_init
no cambies el resultado, solo acelera el proceso. Esto es lo que se pidió explícitamente, pero en muchos casos la gente necesita más.
Bonificación adicional
En la mayoría de los casos, realmente desea algunas opciones que coincidan con sus patrones de uso y no solo aceleren la creación del sistema de archivos, sino que también permitan un uso más rápido y más espacio utilizable.
Acabo de hacer una prueba. Incluso sin usar -E lazy_itable_init
, las siguientes opciones aceleran el tiempo de creación de un sistema de archivos de 2 TB de 16 minutos 2 segundos a 1 minuto 21 segundos (kernel 3.5.0 de 64 bits en Intel i7 de 2,2 GHz, disco de 2 TB en conexión USB2; SATA probablemente sería más rápido).
Para un sistema de archivos que contenga archivos grandes, uso esta combinación:
mkfs.ext3 /dev/sdXX -O sparse_super,large_file -m 0 -T largefile4
donde -T largefile4
elige opciones en /etc/mke2fs.conf
que generalmente contienen algo como:
inode_ratio = 4194304
blocksize = -1
Haz un man mke2fs
para obtener detalles sobre cada una de estas opciones.
Aquí hay extractos relevantes:
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
solo dice que no reserve el 5% para la raíz, lo cual está bien para un sistema de archivos de datos (no de arranque/raíz). El 5% de un disco de 2TB significa 100Gb. Esa es una diferencia bastante significativa.
Solución 3:
El valor predeterminado es un formato rápido; configurar las estructuras para un volumen ext* lleva mucho más tiempo que para un volumen NTFS, ya que hay más. Puede reducir la cantidad de supermanzanas, pero incluso eso solo llega hasta cierto punto.
Solución 4:
Si va a almacenar principalmente archivos más grandes, puede aumentar la cantidad de bytes por inodo, disminuyendo así la cantidad de inodos creados. Esto puede acelerar sustancialmente el tiempo de creación.