Quais são as diferenças entre o HFS + de registro no diário e o HFS + de registro no diário?

41

Estou prestes a formatar uma unidade de disco rígido externa (HDD).

Quais são as principais diferenças entre o HFS + de registro no diário e o HFS + de registro no diário? Além do fato de um ter registro no diário e o outro não, como isso afeta o desempenho da unidade (com números)?

Meu pressentimento é que, no uso "normal", o diário seria o caminho a seguir, mas existem situações em que o HFS + não diário deve ser considerado? A compatibilidade com o Linux é uma delas, pois parece que o módulo hfsplus do kernel suporta leitura e gravação em HFS + não registrado em diário, mas somente leitura em HFS + registrado em diário.

Mais alguma coisa que vale a pena mencionar?

Jari Keinänen
fonte

Respostas:

35

Não tenho números para fazer backup da declaração, mas usar HFS + não registrado em diário é uma boa idéia em certos volumes que exigem velocidade absoluta, sem se preocupar (muito) com uma possível "perda de dados" ou "corrupção de dados", caso de falha de energia ou similar.

Quando o HFS + Non-journaled é uma ideia MAU ?

  • Unidades externas (USB, FW, ESata) que são conectadas e reconectadas frequentemente: geralmente é uma má ideia, pois essas unidades tendem a ser desconectadas acidentalmente com muita frequência e / ou suas fontes de energia são desconectadas.

  • Partições em que a integridade dos dados é importante e a proteção contra uma perda inesperada de energia é essencial. (Documentos, músicas, vídeos, backups etc.).

Quando usar o HFS + Non-journaled é uma boa idéia ?

  • Scratch, Temp, armazenamento trivial e unidades e partições similares, onde a velocidade é a integridade dos dados em caso de falta de energia. Você deseja que seu volume final do Final Cut não seja registrado em diário (você tem um no-break de qualquer maneira, não é?). Você deseja que sua temperatura no Photoshop não seja registrada em diário. Unidades para copiar as coisas (um Pen drive, por exemplo, se você for ejetar adequadamente).

  • Qualquer outra unidade que exija portabilidade e compatibilidade, como você apontou corretamente.

Lembre-se de que a manutenção do diário adiciona uma pequena sobrecarga, mas o benefício em caso de desmontagem incorreta do volume é importante, não apenas para evitar uma "verificação" completa do disco na inicialização ou remontagem, mas também em termos de garantir que os dados não sejam corrompido em primeiro lugar.

A montagem de uma unidade não registrada no diário que foi desmontada incorretamente causará uma verificação do fsck , enquanto a unidade registrada no diário poderá ser ativada e executada em um período menor de tempo (varredura do diário e aplicação de transações não confirmadas).

No que diz respeito à velocidade e aos testes, não tenho muitas informações para fazer backup da reivindicação acima, no entanto, tanto quanto sei, a diferença de velocidade não é apenas muito pequena e até difícil de notar, mas, em alguns casos, o sistema de arquivos com registro em diário é mais rápido que o não -journaled.

Acontece que, apesar da sobrecarga do diário, algumas operações podem ser feitas de forma assíncrona na unidade Registrada no Diário, enquanto a versão não registrada no diário deve executar as coisas de forma síncrona.

Para referência, pesquisei um pouco no Google tentando encontrar uma comparação antiga (os números provavelmente são válidos, pois o HFS + não mudou muito desde as primeiras iterações no OSX, além de adicionar registros de dados de atributos inline e segurança de arquivos da lista de controle de acesso e talvez algo mais.

Aqui está o site com os gráficos:

Comparação entre HFS + Diário e HFS + Não Diário

TL; DR:

A seqüência de copiar / duplicar / copiar o arquivo foi igualmente rápida para o HFS com registro no diário / não registrado no diário. A mesma sequência com a pasta foi novamente um pouco mais rápida com o HFS registrado no diário

(ênfase minha)

Conclusão

Estou um pouco surpreso ao ver os resultados acima, pois fiquei convencido de que o uso de Não Registrado no Diário foi realmente mais rápido em algumas operações, mas aparentemente nos pequenos casos em que isso pode fazer a diferença, ele está sobrecarregado pela "segurança" do Registro no Diário.

Martin Marconcini
fonte
@Griffo, na verdade, é +1 na questão por me fazer investigar e chegar à conclusão acima ;-) Obrigado.
Martin Marconcini
@ MartínMarconcini a seção de resposta "pequena sobrecarga" não possui a sobrecarga em termos de consumo de espaço em disco. Por exemplo, quanto mais espaço em disco estará disponível para armazenar arquivos quando o diário não estiver ativado?
Pro Backup
@ ProBackup Embora eu não tenha "números", acredito realmente que o tamanho do Journal será insignificante nas unidades de hoje.
Martin Marconcini
@ MartínMarconcini Gostaria de saber qual é a sobrecarga em termos de espaço em disco consumido porque: (1) a maioria desses recursos de bônus é adicionada proporcionalmente. (2) Todos esses extras somam: 209,7 MB para uma partição EFI, outros 1,4 MB para a capacidade de criar 128 partições onde apenas 1 é necessária. (3) O fato diskutil moveJournal externalcriará uma partição Apple_Journal de 512 MB. (4) Em 2,7 TB (estilo antigo de 3 TB), são utilizados 736 MB ( df -h) ao armazenar apenas 1 arquivo (de acordo com sudo du /Volumes/Name).
Pro Backup
4

O registro no diário adiciona atraso e complexidade a todas as operações que serão registradas no diário. O diário grava os dados de força a serem gravados imediatamente na unidade, o que pode tornar outras transações pendentes mais lentas.

Um bom tratamento do que o diário faz é na Nota técnica aposentada TN1150: HFS Plus Volume Format .

A área do diário no sistema de arquivos é gravada intensamente e força o SO a sincronizar dados regularmente regularmente. Isso pode interferir nas grandes operações de leitura e gravação que estão acontecendo ao mesmo tempo que uma modificação do sistema de arquivos que requer entradas no diário.

A vantagem de um sistema de registro no diário é que, no momento da montagem, o sistema pode concluir facilmente qualquer entrada de criação de arquivo ou modificação de diretório que estava no meio da tentativa. O próprio sistema de arquivos é reparado e transformado em um estado consistente com extrema rapidez em comparação com uma verificação completa do catálogo do sistema de arquivos.

Para usuários iniciantes - ter um computador pedir para reparar um disco não é divertido e provoca incerteza e os obriga a aprender um pouco sobre como as coisas funcionam. Sim - escapa ao tapete o fato de que eles poderiam perder a imagem que estavam apenas baixando ou movendo. Na prática, o senso comum garante que até novos usuários verifiquem o arquivo antes de excluí-lo da câmera quando o "computador danado" for reiniciado no meio da cópia de suas fotos para o iPhoto. (É mais provável que eles liguem para o sistema de suporte para obter ajuda nesse ponto, se perceberem que a próxima inicialização foi mais lenta ou se ocorrer mais de duas vezes por semana)

Para usuários avançados que desejam o desempenho mais rápido, os benefícios do registro no diário começam a parecer mais penalidades pelo preço do desempenho mais lento. Essas penalidades podem ser substanciais se o sistema já estiver próximo da capacidade ou precisar de desempenho máximo para grandes transferências de dados sustentadas, típicas de vídeo profissional ou alguns fluxos de trabalho de banco de dados.

Coisas como estas são boas razões para desativar o registro no diário:

  • arquivos de armazenamento de banco de dados
  • máquinas redundantes com rotinas de recuperação de dados após uma falha
  • Armazenamento RAID que cuida de registro no diário e muito mais
  • apenas precisando de velocidade extra, não importa o custo
bmike
fonte
O TN1150 parecia desaparecer do domínio apple.com, e a edição de 2004 reapareceu como um documento aposentado em developer.apple.com/legacy/mac/library/#technotes/tn/… e depois mudou-se para developer.apple.com/legacy/ library / technotes / tn / tn1150.html . Há uma cópia estilo nostalgicamente da edição de 2004, dubeiko.com/development/FileSystems/HFSPLUS/tn1150.html
Graham Perrin
O RAID não cuida dos tipos de erros que o diário impede. O registro no diário é para garantir que, quando o sistema OS / arquivo estiver no meio da atualização do diretório, que é uma estrutura de árvore complicada no HFS, uma falha no sistema ou a remoção do disco não destrua toda a árvore de diretórios, perdendo potenciais nós importantes ( ramos) que nem o fsck pode recuperar. O RAID não impede isso - isso evita apenas a perda de dados devido à falha do disco, que é um tipo muito diferente de perda de dados.
Thomas Tempelmann
1

Você pode dar uma olhada nas ferramentas do desenvolvedor para comparar o desempenho do disco de diferentes sistemas de arquivos, se assim o desejar, há um guia aqui:  http://developer.apple.com/library/mac/DOCUMENTATION/Performance/Conceptual/FileSystem/Articles /MacOSXAndFiles.html

Não consigo encontrar nenhuma comparação com números concretos, mas provavelmente não é necessário dizer que um sistema de arquivos com registro no diário oferece tolerância a falhas, mas um sistema de arquivos sem registro no diário oferece melhor desempenho

Também adicionei a tag do sistema de arquivos

Conorgriffin
fonte
+1 para o link do desenvolvedor, costumo esquecer como esse recurso é útil. E um invisível +1 para o retag ;-)
Jari Keinänen