21

We're at a crossroads where most Macs now have space and connections to contain two storage devices. SSD are fast, low capacity and expensive - HDD are in comparison slow, huge and cheap.

Both iMacs and Mac Mini can ship configured with two drives and all the portable Macs that still ship with an optical drive have a choice of several professional kits that securely mount either a second HDD or SSD inside the unibody. (I've even seen Airs with a light USB drive semi-permanently affixed to the metal side of the display with velcro since sometimes even the slimmest Mac needs to pack more storage punch.)

Yet Mac OS X doesn't really have a Setup Assistant that's willing to help divvy up our data on two drives. Software to intelligently move files to appropriate storage exists in the enterprise SAN space, but I don't think we'll see it for a while on the desktop. There's not even a guide I've seen on what or how to set up a mac with two drives, so Apple have left us a clean playing field upon which to experiment.

The best writing on this topic I have seen recently was written by Matt Legend Gemmell. His article titled Using OS X with an SSD plus HDD setup is great reading and seems to be relevant even if you have two spinning HDD.

Matt advocates

  • installing the OS, user home folders and most user data on the SSD
  • place user data that won't fit on the SSD instead on the HDD
  • implementing this by moving entire top level folders from the SSD home folder and placing them on the HDD.
  • using soft (sym) links to connect the two locations.

Is this thinking the current state of the art?

What works for you and more importantly, why does it work for you?

Tips on how full or empty to keep your boot drive and any gotchas you learned the hard way are greatly appreciated.

4
  • Matt's recommendations make perfect sense. Keep stuff where you will notice a speed difference (OS to boot, documents you often work with) on the SSD and offload everything else (media files etc.) to the HDD.
    – nohillside
    Commented Aug 20, 2011 at 9:34
  • 2
    I think Matt's article is spot-on. The only further concern I had that he did not address was the issue of SSD life and whether to put Caches on the SSD. Short answer: it's ok. See this for discussion: apple.stackexchange.com/questions/25224/… Commented Jan 7, 2012 at 21:15
  • @JessBowers Your call on SSD being durable and not wearing out prematurely has stood the test of time. They really are designed well and we should use them and be happy. The cost/likelihood to replace is so small compared to the joy of having a responsive boot OS with simple setup seems like the right choice for almost everyone.
    – bmike
    Commented Aug 3, 2017 at 10:29
  • @bmike yeah i feel the same. Haven't had one go bad, and I've had or installed for family about 10 of them now. Commented Sep 9, 2017 at 14:25

6 Answers 6

6

My setup is the following :

  • Macbook pro 2009, 13"
  • SSD (Intel X25M Postville) replacing the superdrive, used as system + home folder disk
  • Factory HDD used for music and pictures storage

I tried to move my home folder to te HDD, here are my conclusions : when you move your entire home folder to an HDD, your mac boots fast, but you don't get too much performance gain while opening applications (even apps that do not use any document, like safari). That's because when the app starts up, it loads it preference and cache files from your library. If it is on the second drive, startup of apps is nearly as slow as when you use your HDD for booting.

I now use my HDD for iTunes/Aperture and vmware images only. These apps are a bit slower than the others (but still as fast are when I didn't have a SSD). But I did not do as Matt recommends : I created new iTunes and aperture libraries directly on the HDD, using the alt key at launch. I do not like symlinks, that can break if you unmount your HDD, for maintenance or by mistake for example, leaving your home folder in a non consistent state.

Last points :

  • with this configuration, you have to be careful of what files you put on the HDD if you have multiple accounts on your mac : these files are accessible to anybody by default, and filevault will not protect them (unless you use Lion which allows full-drive encryption).
  • And you need to setup Time machine to include the HDD (if needed), which includes only the system drive by default.
4
  • 1
    You can have the same file permissions and protection on a non-boot drive as you do on the boot drive. Make sure that "Ignore ownership on this volume" is not checked in the drive Info pane.
    – zzz
    Commented Aug 21, 2011 at 20:32
  • Sure, but it is not the case by default : perms are 755 on folders by default, which allows every user of the same group to see and read your files. But I will edit my answer to be more clear, thanks !. Commented Aug 21, 2011 at 22:12
  • 1
    Do you let your OS spin down the HDD when idle? I'm curious how this setup works when that is enabled...
    – bmike
    Commented Sep 19, 2011 at 16:20
  • I don't use this mac anymore (my wife does now), and disk spin down is deactivated (can't remember why). But I guess it will work like any secondary drive : disk will spin down on idle and wake up when accessed. And if you're concerned about the power consumption, it's not that much : the mac stays awake for more than 5H30, which is quite good given its age and number of cycles (508) Commented Oct 15, 2013 at 10:33
4

Moving the Home Directory to the SSD

Macintosh Performance Guide has an excellent writeup on the subject. Most important perhaps is the admonishion to Create another admin account that resides on the boot drive. Else, if your drive containing the home directory goes away, you cannot log in.

Tips on how full or empty to keep your boot drive and any gotchas you learned the hard way are greatly appreciated.

Another MPG article; very informative. Synopsis: As you approach 2/3 - 3/4 full the disk's performance can decrease about 40%. And in the spirit of this question-thread - this does not happen to an SSD.

1
  • Could you expand on the gist of the linked article and explain why an admin account is needed on the boot drive? It's always easy to boot to single user mode and make a new local admin account by removing /var/db/.AppleSetupDone and then booting.
    – bmike
    Commented Mar 2, 2012 at 19:07
4
+50

I own a botique short-run book publishing company. For all intents, the design and printing operations are a one-man operation. Time spent waiting for a spinning beach ball is wasted and unprofitable time. Funds are tight for getting the latest equipment, but I try to incorporate the technology that provides the best bang for the buck. I recreationally dabble in PHP/MySQL web development.

My main system is an Early 2008 MacPro (3,1). I have a 2011 mid-level Mac mini as a secondary design machine and internal web/database server. Both systems boot from 128GB SSDs that also hold the user folders and pull publishing project data from spinning hard drives. While the MaPro is a processor-gifted rig, keep in mind that the Mac mini runs SATA twice as fast.

Here's how I have my Mac Pro:

128GB SSD

  • iCloud files
  • Dropbox files
  • Fonts
  • User folders
  • Mail
  • Personal files except for music, movies and photos
  • Photoshop cache files
  • Typically have 20GB to 40GB free space at any given time

Secondary HDDs running ZFS

  • Backup software install files
  • iTunes library
  • iPhoto library
  • Folder of movies
  • All my client publishing projects

I've managed to live within a 128GB space by keeping the big stuff off my SSD. No "fancy" things like symbolic links. iTunes and iPhoto are one-time points to their files. I manually move movie rips from /users/movies to my HDDs... When I get around to it. I use Dropbox mainly for 1Password sync and iCloud holds much of my word processing, spreadsheets and presentations for access from the MacPro as well as my iOS gear.

I have always manually managed file locations for my client projects in InDesign, Illustrator and Photoshop. Most client files are small enough (5MB to 50MB typically) that they load quickly, especially because the programs run from the SSD. I notice the speed difference of the hard drive when I build 100MB to 500MB Photoshop files. I've discovered that saving to PSD is single-threaded and slow where Photoshop's saving to a layered TIF is multi-threaded and much faster.

This relatively simple and predominantly manually set up system works extremely well for me... almost all of the time. On the personal side, my only major housekeeping functions involve movies.

I am contemplating building a Fusion Drive on the mini but haven't done so yet. As I begin to create more intricate book designs that require larger Photoshop files, I would happily trade my complete control provided by my current setup for the automatic tiered storage provided by a Fusion Drive.

I drive a manual transmission car because it's more fun. I use a Mac because OS X just works better than Windows. If I can find a way to leverage the ZFS data integrity with a Fusion Drive's fluidity, I'd go that route in a heartbeat.

4

For installation of the OS, apps et cetera

Give one disk to JHFS+.

If you're limited to two disks and one is hard, use the hard disk.

For integrity of user data

Give at least one other disk to ZFS.

Why not HFS Plus?

A little HFS test – a command-line presentation by @jolly of DIY Fusion Drive fame – demonstrates HFS Plus failure in one situation.

In other situations: corruption of data may go unnoticed, and be propagated through all backups, to the point of no recovery.

Such corruption may be undetectable by utilities such as Disk Utility and Alsoft DiskWarrior (that's the nature of HFS Plus). Effects on end users range from subtle to extreme; and without positive identification of files that are corrupted, it can be extraordinarily difficult to pinpoint the source of a problem.

Why ZFS?

See for example the accepted answer to a question in Server Fault, ZFS Data Loss Scenarios –

… I've never lost data with ZFS.

I have experienced everything else …

If the disk is hard (rotational)

Avoid a mixture of file systems that includes HFS Plus:

Since HFS+ has a single global lock for all metadata updates (held across the I/O) it is highly sensitive to disk latencies. …

(My current use of JHFS+ and ZFS on a Seagate Momentus® XT ST750LX003-1AC154 solid state hybrid – internal to a MacBookPro5,2 with 8 GB memory – is good enough, but could perform better without that mixture on the single disk.)


With three or more disks, just one solid state, and Mountain Lion

Give one slice of the SSD to a CoreStorage LVG, then pool that with your JHFS+ startup volume. Aim: Fusion Drive-like behaviour.

Give a different slice of the SSD to ZFS. Either:

  1. simply zpool add poolname cache /dev/disknslicen or
  2. give the slice to CoreStorage the add that CoreStorage to your ZFS pool.

Approach (1) is well established for performance gains through level 2 adaptive replacement cache. Brendan's blog » L2ARC Screenshots (2009-01-30) reminds us that rebooting the operating system causes L2ARC to go cold and:

We are also working on a persistent L2ARC, so if a server does reboot it can begin warm, which will be available in a future update.

Approach (2) aims to bring auto-tiering to ZFS without a go-cold at reboot. A routine check of integrity of data (scrub) might demote data from the high performance tier … if so, I wonder whether another routine can mitigate the effects of demotion – an incremental zfs send… (backup) should read, from the ZFS pool, recently written blocks; and so CoreStorage should promote things to the preferred tier.

Multiple pools sharing a single SSD

The accepted answer to a question in Server Fault observes:

It's not a good idea to share an SSD between pools for reasons of data integrity and performance. …

However, the subject for that question was ZFS - how to partition SSD for ZIL or L2ARC use? (2011-02-22) – predating ZEVO, Fusion Drive etc.. Under ZEVO resilience to untimely loss of L2ARC (2012-11-04) my initial guess is that with multiple pools sharing a single SSD, the L2ARC part of that SSD need not pose a risk to integrity of data.

(I have no experience with ZIL.)


Personally: for the past few months I have used ZEVO ZFS for my home directory, with CoreStorage to encrypt the ZFS dataset and the startup volume. Different passwords, so (better than FileVault 2) no other administrator of the machine can access my data.

Apple Disk Utility is currently too bugged to present a true overview, so here are alternative views.

The one solid state hybrid drive in the laptop:

ExtFSManager view of a single physical disk

Plus an external hard disk drive (StoreJet) and its cache vdev (Verbatim, USB flash drive) for level 2 adaptive replacement cache:

enter image description here

Hint: the cache device can be physically removed whilst actively using the hard disk drive. No harm should result; this is one of the beauties of ZFS.

Generally: if the idea of mixing two pool technologies (Apple CoreStorage plus ZFS) puts your head in Here be dragons! territory then:

  • set aside thoughts of mixtures
  • for ZFS, do at least take a look at MacZFS or fuller-featured ZEVO.

@bmike will probably wish for a tl;dr addition to this answer … a diagram might make the whole caboodle easier to digest.

2
  • Nope +1 from me just as it is. Big thanks for representing ZFS for the big picture. It's not everyone's cup of tea, but it has some serious benefits even with Apple heading in the core storage direction.
    – bmike
    Commented Nov 6, 2012 at 17:06
  • 1
    Your call on ZFS also stands the test of time. Bit rot is the biggest pain we have in the last 5 years managing our fleet of Macs. Here’s to hoping APFS gets us all there there sooner than later.
    – bmike
    Commented Aug 3, 2017 at 10:31
3

Under Mountain Lion it is possible to replicate the Apple Fusion drive with standard SSDs and HDDs under Mountain Lion. This automates the splitting of sata across the SSD and hard disk.

This keeps commonly used files an SSD and less used data on a hard disk. When you read or write to a file the OS will migrate the blocks being used to the SSD so subsequent accesses will be on the SSD and if commonly used will be on the SSD to begin with, unused files will just be on the gard disk.

the process is detailed in this blog or in an answer to this question

0

I am on Ventura with 30% of my one-terabyte drive empty. If my thin little machine also had an HDD inside (won't fit, but this is hypothetical), I'd move to the HDD our large libraries of photos, books, music, and videos.

I would also make both SSD and HDD bootable.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .