¿Es ext4 más costoso que ntfs?

11

Acabo de convertir una partición NTFS a ext4, sin embargo, el espacio total parece reducido de 421G a 415G. ¿A dónde fue el 6G? Y, el espacio reservado crece a 199M en ext4, mucho más grande en comparación con 78M en NTFS, ¿por qué?

La partición se usa principalmente para películas / músicas, por lo que la mayoría de los archivos son muy grandes (> 10M cada uno). Quiero usar el sistema de archivos ext4, ¿hay alguna sugerencia?

mkfs.ntfs:
    /dev/sdb4             421G   78M  421G   1% /mnt/mmedia

mkfs.ext4:
    /dev/sdb4             415G  199M  393G   1% /mnt/mmedia
                       (415G - 199M == 393G ?)

También es extraño que el tamaño restante de ext4 sea 393G, ¿no debería ser 415G o 414G? ¿Qué pasó con los desaparecidos 22G? En comparación con NTFS, ext4 consumió 6.6% del espacio total, eso es realmente un gran problema.

La pregunta es:

  1. ¿Para qué se usa principalmente 6G, para el diario, para la redundancia o para la indexación?
  2. ¿Por qué el espacio restante 393G no 415G? Hay un agujero de 22G que es bastante grande.
  3. ¿Qué parámetros recomendaría si esta partición ext4 se usa para almacenar archivos de películas / música? Se dice que ext4 funciona mejor que ext3 para particiones grandes, ¿es cierto? No volveré a ext2 que no es diario.
Xiè Jìléi
fuente

Respuestas:

8

¿Para qué se usa principalmente 6G, para el diario, para la redundancia o para la indexación?

(Todavía no se conoce)

¿Por qué el espacio restante 393G no 415G? Hay un agujero de 22G que es bastante grande.

Es un 5% de bloques reservados para superusuario, que se utiliza para evitar la fragmentación. Puede ajustarlo al 1% por mkfs.ext4 -m 1.

¿Qué parámetros recomendaría si esta partición ext4 se usa para almacenar archivos de películas / música?

Puede especificar una opción de uso para mkfs.ext4, por ejemplo, mkfs.ext4 -T large_fileesto permitirá que mkfs.ext4 decida los parámetros para las particiones que contienen archivos grandes.

Xiè Jìléi
fuente
1
el 6G será para las listas de inodo.
Sirex
1
Los bloques reservados también limitan el impacto de un ataque de denegación de servicio en el que los usuarios habituales llenan un disco hasta el punto en que ya no se pueden escribir archivos de registro. El espacio reservado al menos le dará a la raíz suficientes registros para atrapar al usuario infractor.
MSalters
Mi /etc/mke2fs.conf habla de los parámetros "largefile" y "largefile4" para -T, no "large_file".
user1338062
4
  1. El 6GB es inodes. ext4 por defecto es 1/64 (1.56%) para inodes, cada 256B; así que puede llenar con archivos de 16 KB
  2. El espacio disponible de df excluye el espacio reservado para root, 5% por defecto, usa tune2fs -m
  3. mkfs.ext4 -m 0 -N 4000000 / dev / whatever # reformats, 0 reservado, 4 millones de inodes usa 1GB
  4. ext4 fsck es mucho más rápido que ext3; aparte de eso no notarás ninguna diferencia

Cada archivo / directorio necesita 1 inodo. No puede cambiar la cantidad de inodes después de crear un sistema de archivos ext. Incluso 1000000 inodes serían suficientes para esa partición, si la usa solo para películas y música.

La tabla maestra de archivos NTFS (MFT) es un poco más flexible, por lo que NTFS puede incluir más datos de manera predeterminada.

La única buena razón para usar NTFS en Linux es compartir archivos con Windows. Funcionará bien para los medios, pero carece de varias características de UNIX, por lo que no es adecuado para fines generales en Linux. ¡No lo compiles!

Sam Watkins
fuente
Each inode 256B, so can fill with 16KB files¿Quiere decir que hay 16K-256 = 16128 bytes libres en cada inodo?
Xiè Jìléi
1
Quiero decir, si usas 1/64 de un dispositivo para tablas de inodes, y cada inodo es 256B, entonces obtienes un inodo por 16KB de dispositivo ... en realidad es 1 inodo por 15.75KB del dispositivo restante, pero lo suficientemente cerca. Entonces tiene suficientes inodos para llenar todo el disco con archivos de 16 KB. Si anticipa tener archivos mucho más grandes, por ejemplo, videos, puede arreglárselas con menos inodos y guardar quizás unos pocos GB del dispositivo.
Sam Watkins,
3

Sí, este es un tema pequeño y ordenado. Cada sistema de archivos implementa sus estructuras de datos de manera diferente. Algo bueno que puedes probar es formatear una partición con varios sistemas de archivos y compararlos. El espacio "libre" será diferente. Además, a medida que los llene, habrá una diferencia en la sobrecarga de almacenamiento y, en cierto sentido, cuánto espacio se requiere para almacenar el mismo archivo PUEDE diferir según el sistema de archivos. Por lo general, cuando formatea un sistema de archivos también puede seleccionar algunos parámetros de cómo se organizarán, lo que también tiene un impacto.

La respuesta a su pregunta es una de esas respuestas "depende" . Creo que, sobre todo, 6/400 GB no es una variación terrible, pero de hecho, eso es notable. Todavía el espacio de almacenamiento es cada vez más barato. Pero creo que los sistemas de archivos probablemente se están volviendo más pesados ​​ya que queremos características más sofisticadas en ellos. Sospecho que ext2 es un poco más delgado que ext4. Me interesaría ver algunos números del mundo real sobre eso. Por supuesto, esa "eficiencia" tiene un precio (el más importante es que no se registra en el diario y, por lo tanto, es más rápido Y se corrompe más fácilmente).

En cuanto a por qué ext4 ocupa más espacio en este caso, supondré que sus cúmulos de almacenamiento en NTFS se configuraron para abordar su espacio de almacenamiento son bloques mucho más grandes de lo que requieren sus parámetros ext4. Si esto es cierto, entonces debería obtener un uso de almacenamiento más eficiente si tiene muchos archivos relativamente pequeños.

Basta decir que todo el tema sigue y sigue. Si desea obtener más información, le sugiero que eche un vistazo a varias páginas de Wikipedia que comparen los sistemas de archivos que existen. Además, consulte las páginas de manual para cada FS que le interese.

Espero que lo encuentres útil.

James T Snell
fuente
1

Los superbloques reservados son una cosa, pero no la cantidad a la que se refiere. Cambiar los superbloques reservados no se muestra en el "espacio total disponible" ... eso no cambia. Es el número de inodes x su tamaño. En ext4 por defecto, espere algo así como 256 bytes por inodo y por 400 GB , Supongo que mkfs.ext4 hará ~ 25-30 mill tal vez. Use dumpe2fs -h para ver el número real. Esto representa los 6 GB que falta y no los bloques reservados de los que alguien está hablando (por ejemplo, inode- cuenta x tamaño de inodo b / 1024 ^ 3) GB.

Sospecho que la salida df -h podría tener que ver con cierta cojera; p Intente hacerlo nuevamente y especifique la mitad de sus nodos i (puede hacerlo con seguridad, y aún más si está en negrita), pero tenga en cuenta que muchos directorios podrían hacer que te quedes sin inodos antes del espacio.

P.ej. ext4 reserva varios inodos 93-4?) por directorio, suponiendo que tiene la intención de contener más de uno o dos archivos y, por lo tanto, hacerlo más eficiente. Si, sin embargo, tiene 1 millón de carpetas con 1 millón de archivos, se quedará sin inodos en ese diseño muuuucho antes de que realmente se quede sin espacio. Por lo general, los inodes solo se usan en un pequeño porcentaje de espacio, pero pueden aumentar al 35%, por lo que dividir por dos es bastante seguro para los usuarios de escritorio, pero no hagan más para estar seguros.

Aquí hay un ejemplo:

415 GB RAW (dev / sdb1 say) mkfs.ext4 -m0 -Ndefault # / 2 -Lext4-1 -O extensión, dir_index, large_file, sparse_super, uninit_bg / dev / sdb1

las opciones ayudarán para archivos / particiones grandes con medios, por ejemplo. uninit_bg es para núcleos recientes. Esto se publica incluso si es antiguo para futuros lectores.

Malina Salina

Mali
fuente
0

Tenía un sistema de archivos ntfs (completo) que contenía aproximadamente 1000 GB de datos con solo unos pocos cientos de megabytes libres. Incluso si la capacidad formateada de ext4 era mucho menor que ntfs, recuerdo que cuando copié todo todavía tenía alrededor de 70 GB libres en ext4, incluso si la capacidad formateada era menor. (Recuerda que el NTFS estaba lleno). No puedo prometer que esto te suceda, pero al menos para los archivos que tenía ext4 fue un verdadero ahorro de espacio. :)

Cabeza de cera
fuente