日记HFS +和非日记HFS +之间有什么区别?


41

我即将格式化外部硬盘驱动器(HDD)。

日记HFS +和非日记HFS +之间的主要区别是什么?除了一个有日志而另一个没有日志的事实,它如何影响驱动器的性能(有数字)?

我的直觉是,在“正常”使用中,日记是可行的方法,但是在任何情况下都应该考虑非日记HFS +吗? Linux兼容性是一个,因为看起来内核的hfsplus模块支持非日志HFS +上的读写,但只能读取日志HFS +。

还有什么值得一提的吗?

Answers:


35

我没有数字来备份声明,但是在某些需要绝对速度的卷中使用HFS +非日志是一个好主意,而不必担心(太多)可能出现的“数据丢失”或“数据损坏”电力故障或类似情况。

什么时候使用HFS + Non-journaled 一个坏主意

  • 经常连接和重新连接的外部(USB,FW,ESata)驱动器:这通常是一个坏主意,因为这些驱动器往往会经常意外断开连接或拔掉电源。

  • 数据完整性非常重要且防止意外断电的分区是必须的。(文件,音乐,视频,备份等)。

什么时候使用HFS + Non-journaled 一个好主意

  • Scratch,Temp,普通存储和类似的驱动器和分区,其中速度>电源故障时的数据完整性。您希望您的Final Cut临时卷不是非日记本(无论如何你都有UPS,不是吗?)。您希望自己的Photoshop临时文本不被记录。驱动器复制周围的东西(例如,如果你负责正确弹出,可以使用Pen驱动器)。

  • 任何其他需要像您正确指出的可移植性和兼容性的驱动器。

请记住,维护日志会增加一个小的开销,但是在不正确的卷卸载情况下的好处很重要,不仅要避免在启动或重新安装时完整磁盘“扫描”,还要确保数据不是首先是腐败的。

安装未正确卸载的非日志驱动器将导致fsck扫描,而日志驱动器将能够在较短的时间内启动并运行(扫描日志并应用未通信的事务)。

关于速度和测试,我没有太多信息来支持上述声明,但是,据我所知,速度差异不仅很小甚至很难注意到,但在某些情况下,日志文件系统比非快速 -journaled。

事实证明,尽管日志的开销很大,但是一些操作可以在Journaled驱动器中异步进行,而非日志版本必须同步执行。

作为参考我搜索了一点试图找到一个旧的比较(数字可能是有效的,因为自从他们在OSX中的第一次迭代以来HFS +没有真正改变太多,除了添加内联属性数据记录,以及访问控制列表文件安全性和可能别的。

这是带有图表的网站:

HFS + Journaled与HFS +非日记本的比较

TL; DR:

对于日记/非日记HFS,文件复制/复制/复制序列几乎同样快。与记录的HFS相比,文件夹的相同序列再次 更快

(强调我的)

结论

我有点惊讶地看到上面的结果,因为我有点确信使用Non-Journaled对某些操作来说真的更快,但显然它可以产生影响的小案例,它超过了日记的“安全性”。


@Griffo实际上是关于让我调查并得出上述结论的问题的+1 ;-)谢谢。
Martin Marconcini

@MartínMarconcini答案部分“小开销”缺乏磁盘空间消耗方面的开销。例如,在未启用日记功能时,可用于存储文件的磁盘空间是多少?
Pro Backup

@ProBackup虽然我没有“数字”,但我确信在今天的驱动器中,期刊的大小可以忽略不计。
Martin Marconcini

@MartínMarconcini我想知道消耗磁盘空间的开销是多少是因为:(1)大多数奖励功能都是按比例添加的。(2)所有这些额外的所有这些都加起来:EFI分区为209.7 MB,另外1.4 MB用于创建128个分区,只需要1个分区。(3)事实上diskutil moveJournal external将创建一个512MB的Apple_Journal分区。(4)在2.7TB(3TB旧式df -h)上,只存储1个文件(根据)时使用736MB(sudo du /Volumes/Name)。
Pro Backup

4

日记会为每个记录日期的操作增加延迟和复杂性。日志写入强制数据立即写入驱动器,这可以使其他未完成的驱动器事务更慢。

对于日记功能的一个很好的处理方法是退役技术说明TN1150:HFS Plus卷格式

文件系统上的日志区域被大量写入并强制操作系统定期进行硬同步数据。这可能会干扰与需要日记条目的文件系统修改同时发生的大型读写操作。

日记系统的优点是,在安装时,系统可以轻松完成正在尝试的任何文件创建或目录修改条目。与完整文件系统目录检查相比,文件系统本身已经过修复并变得非常快速。

对于初级用户 - 让计算机要求他们修复磁盘并不好玩并引发不确定性并迫使他们学习一些有关工作原理的知识。是的 - 它在地毯下刷它们可能会丢失他们刚下载或移动的那张照片。在实践中,常识确保即使是新用户在将照片复制到iPhoto的过程中重新启动“darn computer”时,也会在将文件从相机中删除之前对文件进行双重检查。(如果他们甚至注意到下一次启动速度较慢或者每周发生两次以上,他们更有可能在此时调用他们的支持系统寻求帮助)

对于希望获得最快性能的高级用户而言,日记的好处开始更像是以较慢性能为代价的惩罚。如果系统已经接近容量或需要最大性能来进行专业视频或某些数据库工作流的典型大规模持续数据传输,则这些处罚可能很大。

这些事情是禁用日记功能的好理由:

  • 数据库存储文件
  • 故障后具有数据修复例程的冗余机器
  • 负责日志记录等的RAID存储
  • 无论成本如何,只需要额外的速度

TN1150似乎从apple.com域名中消失,然后2004版本在developer.apple.com/legacy/mac/library/#technotes/tn / ...重新出现,作为退休文档,然后转移到developer.apple.com/legacy/ library / technotes / tn / tn1150.html。这是2004年版dubeiko.com/development/FileSystems/HFSPLUS/tn1150.html
Graham Perrin

RAID不会处理日记功能阻止的错误。日志记录用于确保当OS /文件系统正在更新目录(这是HFS上的复杂树结构)时,系统崩溃或磁盘删除不会因可能丢失重要节点而破坏整个目录树(即使是fsck也无法恢复。RAID并没有阻止这种情况 - 这只能防止因磁盘故障导致的数据丢失,这是一种非常不同的数据丢失。
Thomas Tempelmann

1

您可以查看开发人员工具,以便比较不同文件系统的磁盘性能(如果您愿意的话),这里有一个指南:http:  //developer.apple.com/library/mac/DOCUMENTATION/Performance/Conceptual/FileSystem/Articles /MacOSXAndFiles.html

我找不到与硬数字的任何比较,但可能不言而喻,日志文件系统提供容错但非日志文件系统提供更好的性能

我也添加了文件系统标签


对于开发链接+1,我倾向于忘记它是多么有用的资源。并且是一个看不见的+1的
重复
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.