¿Cuáles son las diferencias entre el diario HFS + y el no diario HFS +?

41

Estoy a punto de formatear un disco duro externo (HDD).

¿Cuáles son las diferencias clave entre HFS + en diario y HFS + sin diario? Además del hecho de que uno tiene registro en diario y el otro no, ¿cómo afecta el rendimiento del disco (con números)?

Mi intuición es que, en el uso "normal", el diario sería el camino a seguir, pero ¿hay alguna situación en la que se deba considerar el HFS + que no es diario? La compatibilidad con Linux es una, ya que parece que el módulo hfsplus del kernel admite lectura y escritura en HFS + no registrado, pero solo lee en HFS + registrado.

¿Algo más que valga la pena mencionar?

Jari Keinänen
fuente

Respuestas:

35

No tengo números para respaldar la declaración, pero usar HFS + no registrado es una buena idea en ciertos volúmenes que requieren velocidad absoluta, sin preocuparse (demasiado) por una posible "pérdida de datos" o "corrupción de datos" en caso de que de falla de energía o similar.

¿Cuándo usar HFS + no registrado es una idea MALA ?

  • Unidades externas (USB, FW, ESata) que están conectadas y reconectadas con frecuencia: por lo general, es una mala idea, ya que estas unidades tienden a desconectarse accidentalmente muy a menudo o sus fuentes de alimentación se desconectan.

  • Las particiones donde la integridad de los datos es importante y la protección contra una pérdida de energía inesperada es imprescindible. (Documentos, música, videos, copias de seguridad, etc.).

¿Cuándo es una buena idea usar HFS + no registrado ?

  • Scratch, Temp, almacenamiento trivial y unidades y particiones similares, donde la velocidad es> integridad de datos en caso de falla de energía. Desea que su volumen de scratch de Final Cut no se registre (tiene un UPS de todos modos, ¿no?). Desea que su temperatura de Photoshop no se registre. Unidades para copiar cosas (una memoria USB, por ejemplo, si se encarga de expulsar correctamente).

  • Cualquier otra unidad que requiera portabilidad y compatibilidad como usted señaló correctamente.

Recuerde, mantener el diario agrega una pequeña sobrecarga, pero el beneficio en caso de desmontaje de volumen incorrecto es importante, no solo para evitar un "escaneo" de disco completo al inicio o volver a montar, sino también en términos de asegurarse de que los datos no sean corrompido en primer lugar.

Montar una unidad no registrada que se ha desmontado incorrectamente, provocará un escaneo fsck , mientras que la unidad registrada podrá estar en funcionamiento en un período de tiempo más corto (escaneando el diario y aplicando transacciones no confirmadas).

Con respecto a la velocidad y las pruebas, no tengo mucha información para respaldar la afirmación anterior, sin embargo, hasta donde sé, la diferencia de velocidad no solo es muy pequeña e incluso difícil de notar, sino que, en algunos casos, el sistema de archivos registrado es más rápido que -Journeled.

Resulta que a pesar de la sobrecarga del diario, algunas operaciones se pueden realizar de forma asincrónica en la unidad registrada, mientras que la versión no registrada tiene que realizar las cosas de forma sincronizada.

Como referencia, busqué en Google un poco tratando de encontrar una comparación anterior (los números son probablemente válidos ya que HFS + realmente no ha cambiado mucho desde sus primeras iteraciones en OSX, aparte de agregar registros de datos de atributos en línea y la seguridad del archivo de la lista de control de acceso y tal vez algo más.

Aquí está el sitio web con los gráficos:

Comparación entre HFS + con registro versus HFS + sin registro

TL; DR:

La secuencia de copia / duplicado / copia de archivos fue casi igual de rápida tanto para HFS con registro como sin registro. La misma secuencia con la carpeta fue de nuevo algo más rápida con el HFS registrado

(énfasis mío)

Conclusión

Estoy algo sorprendido de ver los resultados anteriores, ya que estaba un poco convencido de que usar Non-Journaled era realmente más rápido para algunas operaciones, pero aparentemente los pequeños casos en los que puede marcar la diferencia, están sobrevalorados por la "seguridad" de Journaling.

Martin Marconcini
fuente
@Griffo en realidad es +1 en la pregunta por hacerme investigar y llegar a la conclusión anterior ;-) Gracias.
Martin Marconcini
@ MartínMarconcini la sección de respuesta "pequeña sobrecarga" carece de sobrecarga en términos de consumo de espacio en disco. Por ejemplo, ¿cuánto más espacio en disco estará disponible para almacenar archivos cuando el registro en diario no esté habilitado?
Pro Backup
@ProBackup Aunque no tengo "números", realmente creo que el tamaño del Journal será insignificante en las unidades de hoy.
Martin Marconcini
@ MartínMarconcini Me pregunto cuál es la sobrecarga en términos de espacio en disco consumido porque: (1) La mayoría de esas características de bonificación se agregan proporcionalmente. (2) Todos estos adicionales se suman: 209.7 MB para una partición EFI, otros 1.4MB para la capacidad de crear 128 particiones donde solo se necesita 1. (3) El hecho diskutil moveJournal externalcreará una partición Apple_Journal de 512 MB. (4) En un 2.7TB (estilo antiguo de 3TB) se usan 736MB ( df -h) cuando se almacena solo 1 archivo (según sudo du /Volumes/Name).
Pro Backup el
4

El registro diario agrega demora y complejidad a cada operación que se registre. Las escrituras del diario obligan a que los datos se escriban inmediatamente en la unidad, lo que puede hacer que otras transacciones de unidad pendientes sean más lentas.

Un buen tratamiento de lo que hace el diario es en la nota técnica retirada TN1150: formato de volumen HFS Plus .

El área de diario en el sistema de archivos está escrita en gran medida y obliga al sistema operativo a sincronizar los datos de forma regular. Esto puede interferir con grandes operaciones de lectura y escritura que están ocurriendo al mismo tiempo que una modificación del sistema de archivos que requiere entradas de diario.

La ventaja de un sistema de registro en diario es que en el momento del montaje, el sistema puede completar fácilmente cualquier entrada de creación de archivo o modificación de directorio que estaba en medio de un intento. El sistema de archivos en sí mismo se repara y se convierte en un estado consistente con extrema rapidez en comparación con una verificación completa del catálogo del sistema de archivos.

Para los usuarios principiantes: tener una computadora que les pida que reparen un disco no es divertido, provoca incertidumbre y los obliga a aprender un poco sobre cómo funcionan las cosas. Sí, oculta bajo la alfombra el hecho de que podrían perder esa imagen que estaban descargando o moviendo. En la práctica, el sentido común garantiza que incluso los usuarios nuevos verifiquen el archivo dos veces antes de eliminarlo de la cámara cuando la "computadora maldita" se reinicie en el medio de copiar sus fotos a iPhoto. (Es más probable que llamen a su sistema de soporte en busca de ayuda en este momento si incluso notan que el próximo arranque fue más lento o ocurre más de dos veces por semana)

Para los usuarios avanzados que desean el rendimiento más rápido, los beneficios del diario comienzan a parecerse más a las penalizaciones al precio de un rendimiento más lento. Estas penalizaciones pueden ser sustanciales si el sistema ya está cerca de su capacidad o necesita un rendimiento máximo para grandes transferencias de datos sostenidas típicas de video profesional o algunos flujos de trabajo de bases de datos.

Cosas como estas son buenas razones para deshabilitar el diario:

  • archivos de almacenamiento de base de datos
  • máquinas redundantes con rutinas de recuperación de datos después de una falla
  • Almacenamiento RAID que se encarga del diario y más
  • solo necesita velocidad extra sin importar el costo
bmike
fuente
TN1150 pareció desaparecer del dominio apple.com, luego la edición de 2004 reapareció como un documento retirado en developer.apple.com/legacy/mac/library/#technotes/tn/… y luego se mudó a developer.apple.com/legacy/ biblioteca / notas técnicas / tn / tn1150.html . Hay una copia con estilo nostálgico de la edición de 2004 en dubeiko.com/development/FileSystems/HFSPLUS/tn1150.html
Graham Perrin
RAID no se ocupa del tipo de errores que previene el registro en diario. El registro en diario es para asegurarse de que cuando el sistema operativo / sistema de archivos está en el medio de actualizar su directorio, que es una estructura de árbol complicada en HFS, un bloqueo del sistema o la eliminación del disco no destruirá todo su árbol de directorio al perder nodos importantes ( ramas) que incluso fsck no puede recuperar. RAID no evita eso, eso solo evita la pérdida de datos debido a una falla del disco, que es un tipo muy diferente de pérdida de datos.
Thomas Tempelmann
1

Puede echar un vistazo a las herramientas de desarrollador para comparar el rendimiento del disco de diferentes sistemas de archivos si así lo desea, aquí hay una guía:  http://developer.apple.com/library/mac/DOCUMENTATION/Performance/Conceptual/FileSystem/Articles /MacOSXAndFiles.html

No puedo encontrar ninguna comparación con números duros, pero probablemente no hace falta decir que un sistema de archivos de registro en diario ofrece tolerancia a fallas, pero un sistema de archivos que no es de registro en diario ofrece un mejor rendimiento

También agregué la etiqueta del sistema de archivos

conorgriffin
fuente
+1 para el enlace de desarrollo, tiendo a olvidar lo útil que es ese recurso. Y un invisible +1 para el retag ;-)
Jari Keinänen