Mac 上的 Fusion Drive 究竟如何工作?

Mac 上的 Fusion Drive 究竟如何工作?

我在 Apple 网站上问过这个问题,但没人回答。有一个人给出了一些不错的看法,但没有真正的答案,所以我在这里发布。

我们的系统之一是 2009 年款 MacBook Pro,13 英寸。我们开始发现它上面有很多旋转的沙滩球和 I/O 错误,所以我们使用了 Scannerz (http://scsc-online.com/Scannerz.html)进行检查。驱动器出现故障。驱动器上有 5 GB 范围的坏扇区。我们正在丢弃驱动器……就我而言,它已经坏了。

  当地一家电脑商店有一些非常便宜的 Sandisk SSD(65GB 型号约 55.00 美元)。65GB 的空间并不大,但我开始想也许我们可以创建自己的 Fusion 驱动器。我发现这篇文章介绍了如何使用 ML 中的磁盘实用程序创建(至少)一个卷组:  

http://reviews.cnet.com/8301-13727_7-57550128-263/how-to-make-a-custom-corestorage-drive-in-os-x/    

以下是我的一些问题:  

  1. 网络上是否有任何统计数据表明准确关于 SSD 可靠性的报告?我知道它们速度很快,但很多人似乎都遇到过它们“消失”的问题,原因不明。有些甚至比真正的 HD 遭受更多的块损坏。我知道这仍然是一项“新兴技术”,但我可不想成为 SSD 制造商的实验对象!

  2. 上面链接的文章是否真的创建了 Fusion 驱动器,还是仅仅是卷组?尚不清楚真正的 Fusion 驱动器是卷组和在 HD 和 SSD 之间映射数据的控制软件,还是仅仅是卷组就可以做到这一点。

  3. Fusion 与独立 SSD 的性能相比如何?我们认为 65GB SSD 和 320GB HD 会是不错的组合……希望价格低廉、性能卓越。

我非常希望任何尝试过的人能提供意见。我原本以为 SSD 会像一个超高速缓存,但事实并非如此。卷组并不是什么新鲜事(至少对任何了解 Unix 系统的人来说都是如此),但 CNET 文章中描述的设置真的是 Fusion 驱动器吗?Apple 似乎对其背后的技术保持着某种秘密。  

谢谢。

答案1

回答你的问题:

  1. 不。SSD 是一个不断增长且变化迅速的市场。每个制造商似乎都有不同的策略来处理错误更正、垃圾收集等。我怀疑当有人试图收集某个型号的数据时,该型号可能已经过时了。我确信制造商有这些数据,我怀疑他们不会与任何人分享。

  2. 再次强调,我认为目前还没有人知道确切答案。通过跨多个卷或驱动器创建的卷并不是什么新鲜事。这在 Unix 中已经存在了 20 多年。创建核心存储单元是否意味着“是的,您确实正在创建真正的 Fusion 驱动器”,只有 Apple 才知道。

  3. 我创建了一个核心存储驱动器,并在写作时使用它。我喜欢玩硬件,可能是因为我很疯狂。我单独对 SSD、单独驱动器以及 CoreStorage 单元进行了测试。核心存储单元的性能优于标准 SSD,但它甚至远远不及独立 SSD。我猜它可能与某些 RAID 变体相当,最好的比较对象是 RAID 0。

我实际上使用我编写的程序和 Scannerz 对核心存储单元进行了一些测试。Scannerz 是市场上首批支持核心存储的产品之一,但他们实现核心存储的方式(最初)似乎有点奇怪。Scannerz 将核心存储单元分为 3 个单元:1 个用于 SSD,1 个用于 HD,1 个用于整个组合卷。他们建议分别测试 SSD 和 HD。我推测这是因为,从理论上讲,HD 最容易出现故障,但我认为,对于只想验证是否存在任何问题的人来说,整个卷是可见的。这似乎有些过时,但实际上这并不是一个坏主意。

当您使用 Scannerz 对核心存储组件进行扫描时,可以明显看出核心存储单元不会将硬盘中的某些元素插入到 SSD 的区域中。我的意思是,没有真正复杂、棘手或可能令人困惑的插入或重新映射块或扇区,一切都很简单。当您开始扫描时,Scannerz 将像扫描任何其他 SSD 一样扫描 SSD,当您达到 SSD 的驱动器限制并触及 HD 时,它会变慢到像爬行一样(与 SSD 相比)。

当我们创建核心存储单元时,我们使用 Scannerz 附带的 Phoenix 工具将原始 IDE 克隆到 FireWire 驱动器,然后在创建核心存储单元后,我们使用 Phoenix 将 FireWire 驱动器克隆到核心存储单元。有趣的是,通过查看 Phoenix 上的驱动器空间读数(不是显然基于任务的进度条),您可以看到其中一些驱动器空间运行速度非常快,而另一些驱动器空间运行速度很慢。例如,令我惊讶的是,应用程序目录以 HD 速度传输,但几乎所有操作系统目录,如 /System、/Library、/lib、/usr、/var 等(即核心操作系统)似乎都以 SSD 速度传输。对我来说,这意味着核心存储似乎正在分配或至少最初管理什么到哪里,并且它似乎是基于核心操作系统组件来执行此操作的。它以后会做什么,我只能猜测。

使用我自己的程序,我基本上验证了逻辑卷的布局是否与我描述的一致。设备“早期”区域的读/写测试速度为 SSD 速度,一旦超过 SSD,速度就会达到 HD 速度。

我的整体看法是什么?老实说,我并不觉得它有多好。独立 SSD 速度更快。独立 HD 速度较慢,但​​也没有慢很多。如果我不得不将它与另一种驱动器配置进行比较,我可能会将它与 RAID 0 单元进行比较。不幸的是,核心存储卷的配置方式让您必须非常依赖备份,就像使用 RAID 0 一样。例如,如果 SSD 或 HD 在 RAID 0 或核心存储设置上出现故障,并且您没有备份,据我所知,您就完蛋了。

一个有趣的测试是测试核心存储相对于 RAID 单元的总体吞吐量和成本。使用 RAID,您可以获得大量空间和速度,而且速度不会不稳定,而在核心存储单元上则可能如此。当然,您需要一个高速接口来容纳 RAID 单元。

我正在考虑做的一件事是回到 SSD 独立单元,但使用指向外部驱动器上更大数据区域的符号链接。这样,如果我需要在没有外部驱动器的情况下进行便携,我就可以根据需要传输对 SSD 至关重要的文件,同时仍然获得真正的 SSD 速度。这当然是 PIA,这是 SSDS 相关价格的缺点之一。

我希望这篇文章对你或其他人有价值。谢谢。

答案2

在我看来,Fusion Drive 并不是世界上最棒的创意。我其实很喜欢虚拟卷的概念,即可以将多个驱动器“组装”成一个卷,但如果 Apple 在其上安装“管理”软件,不断将文件操作从一个驱动器重定向到另一个驱动器,那么这可能对 SSD 来说没问题,但对普通 HD 来说,这将是一场性能灾难。

事实上,真正的 Fusion Drive 是专有的,我认为 Apple 不会告诉你他们在做什么或它是如何工作的,所以你可以自己构建一个折扣版本。看看以下评论​​:

当我们创建核心存储单元时,我们使用 Scannerz 附带的 Phoenix 工具将原始 IDE 克隆到 FireWire 驱动器,然后在创建核心存储单元后,我们使用 Phoenix 将 FireWire 驱动器克隆到核心存储单元。有趣的是,通过查看 Phoenix 上的驱动器空间读数(不是显然基于任务的进度条),您可以看到其中一些驱动器空间运行速度非常快,而另一些驱动器空间运行速度很慢。例如,令我惊讶的是,应用程序目录以 HD 速度传输,但几乎所有操作系统目录,如 /System、/Library、/lib、/usr、/var 等(即核心操作系统)似乎都以 SSD 速度传输。对我来说,这意味着核心存储似乎正在分配或至少最初管理什么到哪里,并且它似乎是基于核心操作系统组件来执行此操作的。它以后会做什么,我只能猜测。

这意味着在创建核心存储单元后,它似乎在“管理”哪些文件存放到哪里(SSD 或 HD)。好的。如果集合中的第一个或主磁盘不是 SSD,而是普通 HD,是否会发生同样的事情?如果是,则意味着核心存储不关注介质类型,而只是偏爱主驱动器或“快速”驱动器。这对于 SSD 来说没问题,但对于仅由 HD 制成的卷来说将是一场灾难。HD 会将内容从一个驱动器交换到另一个驱动器,只是为了维护核心存储定义的状态层次结构,在这种情况下,实际上会导致系统延迟,而不是性能提升。这也绝对会使仅通过组合 HD 制成的虚拟卷在性能方面几乎毫无用处。这实际上提出了更多的问题而不是答案。

这个故事的寓意是,您不知道真正的 Fusion 驱动器与使用 Core Storage 制作的“自制”Fusion 之间到底有什么区别。我们确实知道,真正的 Fusion 驱动器使用 Core Storage 技术,但这并不意味着它只使用这种技术。CNET 文章暗示,如果您为自己制作了 Core Storage 单元,那么您就制作了 Fusion 驱动器。

...我不太确定该说法是否正确。

答案3

仅供参考,我使用您链接的程序创建了一个融合驱动器设置,就我而言,它运行良好。它大约在 20 秒内启动。登录后,一切在大约 10-15 秒内启动并运行。如果我在 HD 上执行相同操作,则需要最多 75 秒才能启动,登录后还需要一分钟才能重新加载所有内容。

顺便说一句,我尝试了独立的 SSD,它让我的 Fusion 设置看起来很慢,但 Fusion 仍然很快。我保留了整个设置的备份,因为我也看到过关于 SSD 有点不稳定的报告。

存储量大,速度也很快。我没什么可抱怨的。从技术上讲,这是否是 Apple 真正的 Fusion 硬盘的真正替代品,我无法告诉你,但它似乎达到了真正的 Fusion 硬盘的预期功能。

答案4

我使用 Mavericks 在 Mac Pro 上安装了两个不同的融合硬盘。第一个使用了 120GB OWC Accelsior 和 WDC WD2002FAEX-007BA0。刚开始一两天还不错,但后来就开始崩溃并产生奇怪的错误。

我拆分了 Fusion 驱动器,并在 OWC 驱动器上重新安装了 Mavericks。几个月后,这个单个驱动器运行正常。

我尝试了另一台 Fusion,它配备了 250GB 的三星 HD103UJ 和相同的 WD 驱动器。它很稳定,但使用 Blackmagic Disk Speed 测试/1GB 进入用户目录时,读取速度约为 250 MB/s,写入速度约为 30MB/s,非常差劲。进入系统缓存目录时,速度也没有提高。可比的原始 OWC 速度为 160/600MB/s。

相关内容