… well, almost. Of course you need to have both an SSD drive as well as an HDD drive present in your system. I just bought this Mac in April, 7 months ago. And of course I had gotten the dual drive option with a 256 GB SSD plus a 1TB HDD.
Manually having to manage what to place where is a pain. When I started to run out of space on the SSD I had moved my user folder to the HDD which was mounted at /Volumes/HDD effectively negating any speed benefit I would have gotten for working with my files. Like, for example, building apps since all my project files are located there as well.
Changing the Xcode temp folder wouldn’t net much of a measurable benefit as well, the bottleneck seems to be loading the project files from disk.
My heart jumped when I heard that Apple had invented the FusionDrive technology promising to end these managing pains.
Credits go entirely to Tomasz Korwel a programmer, administrator and engineer who uncovered a technique to convert 2 separate drives into a single volume. Feeling adventurous I definitely had to give this a go as well.
My internal disks are:
This is my main iMac, for reference.
Step 1 of such an endeavor invariably should be to make sure to run TimeMachine backup.
Reboot your iMac and when you hear the chime press and hold the Alt key. Select the recovery partition to boot from.
Once booted start the Terminal from the Utilities menu.
We need to find out the device names for the SSD and HDD, which can done with the mount command. From the names of the drives I was able to deduct that the SSD (“Macintosh HD”) was device disk0s2 and the HDD (“HDD”) was device disk1s2.
Contrary to early assumptions that FusionDrive would be an actual hardware thing, it is actually the marketing name for the back end technology called Core Storage. This technology is Apple’s own take on logical volume management. This means you are working with a virtual volume and the volume management layer takes care of what to put where.
There is no GUI support yet, we have to use the cs commands that have been added to diskutil.
diskutil cs create FusionDrive disk0s2 disk1s2
This starts the creation of the logical volume and will show some progress along the way. We need to take note of the LVG UUID as this is needed in the next step.
If the speed at which we are proceeding left you breathless then you can list the current volume groups.
diskutil cs list
This shows the volume group as an ASCII art tree. I’m looking forward to a nice GUI for that, this is the first time in ages that something new will be added to the Disk Utility that can be displayed in an interesting way.
Oh and there we also see the name we chose for the LVG “FusionDrive”, though this is not yet the name of the actual drive. This is specified in the next step which also chooses the partition format. We take the same GUID what was reported to us earlier. “MacHD” will become the name of the drive.
The volume size needs to be small enough to fit into the volume. I first had tried 1250GB, but got an error that this was too much, so I settled for 1200GB.
diskutil cs createVolume 4E1E2D91-8026-496C-B3AF-98128910B3E4 jhfs+ MacHD 1200GB
Again, the operation takes less time than you spent typing it.
The format jhfs+ does not seem to be anything special, this is just a journalled HFS+ partition. I was briefly worried because I was reading only 1 TB plus a 98304 journal. But that’s apparently a display or rounding error.
I exited the Terminal and chose to install Mac OS X which showed me the new logical volume with the proper size of 1.2 TB.
After going through the pre-install prompts all I could do was wait and write this blog post on my MacBook Air. The installer is downloading the very latest full version of Mountain Lion to install, which takes around 9 hours over my crappy internet connection.
Once this is done, I’ll update this post with the final verdict.
I’m writing this conclusion a month after the original post. The first thing of importance is that instead of an absolute logical volume size you can also specify 100% to use all available space (put that instead of the 1200GB I mentioned above).
My main problem with this change was that before it I had my user files on a separate volume. I had all system stuff on the SSD and had moved the users folder to the HDD. Turns out that this is a bad idea because TimeMachine chocked on restoring this. TM does back up all local volumes but it only restores the main one with Migration Assistant. You are supposed to restore those additional volumes via the space flight interface.
Multiple attempts to get my user account back in working order via TM failed. There are guides on the internet how to merge additional volumes into the main one, but I didn’t have any interest in potentially messing up my backup.
Fortunately TM backups are nothing magical. You can just mount the sparse bundle and copy the files back from there. So – after a fresh system setup – I created a new user and copied back all the bits I needed from the latest backup…. with the added benefit of now having it all on a single volume.
One thing I started the notice in the first week after I had made the switch was that my HDD often spun down because I had the checkmark set in power settings that would put the hard disks to sleep whenever possible. Apparently this is a side effect of Fusion Drive because as it keeps more and more often needed data on the SSD part, accesses to the HDD become increasingly rare.
I had two problems with this: first the sound of the spin-down annoyed me, secondly if I actually did access something amongst the “rare files” it would take a second for the HDD to spin up again causing a noticeable pause. To work around this I disabled HDD sleeping altogether. We’re shutting down our work stations at night anyway and so my HDD can get all the sleep it needs then.
Apart from the backup/restore problems having my own Fusion Drive on my main iMac is a blast. Everything feels smoother and more responsive. Best of all I don’t need to worry about how to distribute my files amongst the physical disks. Thank you Apple for simplifying my life with a technology that just works.