Contribute
Register

Guide - Fusion Drive using tonymacx86 Tools & Chimera

Back to the topic: My Fusion Drive works fine so far, but I'm not yet at the point where the SSD is full. I wonder if these 4GB of free space on the SSD is enough for photo or movie handling (copying from SD card, converting etc.). I may switch back to a simple SSD drive, if this doesn't work for me.

The best test is to fill in the SSD, then to have a try.
I don't know how fast the system is moving the data to the SSD.
Maybe if you copy 5GB of pictures from your SD card, it will go a bit on the HDD, then if you are still using them for RAW processing or other, it will start to move it all to the SSD.
I am still not sure how many times / how often we must use a particular bunch of data, before the system moves it. Is it very clever and fast?

My SSD is full, I'll have some more test in the coming week end. Let see.
 
Ive run into a little problem that maybe you can help me with I hope. Here is what Ive done and gotten
sh-3.2# diskutil mount disk0s3
Volume Boot OS X on disk0s3 mounted
sh-3.2# cp boot /Volumes/Boot\ OS\ X/
sh-3.2# cp -R Extra /Volumes/Boot\ OS\ X/
cp: Extra: No such file or directory
 
To whom this may be useful: my first post about the script.

Thanks for the script, it worked after I fixed these two issues:
- I had my drives named "Test" and "Test2". The script has a problem with this (I think in Format()), because it greps for drive names. And grepping for "Test" finds 2 drives. I was able to fix this by renaming my first drive to "Test1". BTW, this can also fail in the case where the name of one of these drives is included in some other drive name available in the system or matches any output from "diskutil list". An alternative would be "mount", then grepping for the path with some more character from mount's output, e.g. "/Volumes/Test (hfs".
- Copying the files in MakeBootable() didn't work for me, I got permission denied errors. I was able to fix this by adding "sudo" to the copy commands.

For everyone who's interested: I checked the script, it does what it says to do and doesn't send anything back home. At least in this version of the script. The script has the ability to automatically download a newer version of the script and even starts it. Everyone with access to iD0ct0r's Dropbox account could change the script. This is somewhat of a threat, in my opinion, and I would advise everyone to disable this functionality before running it and instead check manually for an updated version.

Still, again thanks for the script.
Yeah, I know about the grep issue, but didn't really know how to fix it, so just put it of to later.
Reading your comment made me think of a solution though!
I'm now listing the drive: "diskutil list Test", instead of all of them: "diskutil list".

I also fixed the permission issues.
Thanks for the feedback!

Also, I'm not going to to anything bad to your computer, it's not like the script needs to be run as root! ;)
I did add a prompt when updating. My logic behind background updates was that the end user probably won't use this much, and doesn't want to be bothered with updates.
And I'm the only one that has access to my Dropbox (if you exclude my family that could get physical access to my computer).

iDoctor, you should really start a topic just for this script. I never heard about a FD script until now. It would be great. (if it really does what it says)
By opening a separate topic, you would be much more visible.

I won't test it, I got my FD working by follow Neil method.
Hope to see some other feedback.
I had started to write the script it's own thread, but just got into some other stuff.
And was waiting for feedback. I'm going to post it soon, so keep your eyes open! ;)

Ive run into a little problem that maybe you can help me with I hope. Here is what Ive done and gotten
sh-3.2# diskutil mount disk0s3
Volume Boot OS X on disk0s3 mounted
sh-3.2# cp boot /Volumes/Boot\ OS\ X/
sh-3.2# cp -R Extra /Volumes/Boot\ OS\ X/
cp: Extra: No such file or directory
When you don't put the "/", the path starts from where you are (by default your home directory). And because you don't have a folder named "Extra" there, it says it doesn't exist.
Since Extra is in the root of your drive: "/", specify "/Extra", that way it knows to go into your "HD root", and then Extra. Not "HD root > Users > bodhi619 > Extra". :)

So just use:
Code:
cp -R /Extra /Volumes/Boot\ OS\ X/
 
Does anyone verified the Home-Brew Fusion Drive actually working as the Real Fusion Drive?

My home-brew fusion drive seems do not move data automatically.

The following is how I verify that.

Code:
# fill the SSD space by zero bytes
dd if=/dev/zero bs=$((1024*1024)) of=~/ttt count=$((200*1024)) 
# create a test file
dd if=/dev/zero bs=$((1024*1024)) of=~/20g count=$((20*1024)) 
# read it frequently, the iostat shows nearly all io happens on disk1 (HDD).
for ((k=1;k<50;++k)); do for ((i=0;i<12000;++i)); do j=$((i*17231%(20*1024))); dd if=20g of=/dev/null bs=$((1024*1024)) count=1 skip=$j; done; done &> /dev/null 
# reboot
reboot
# reread and check iostat, the iostat shows nearly all io happens on disk1 (HDD).
for ((i=0;i<12000;++i)); do j=$((i*17231%(20*1024))); dd if=20g of=/dev/null bs=$((1024*1024)) count=1 skip=$j; done &> /dev/null

finally, reboot and recheck the iostat, I found nearly no IO happens on my SSD.

How can I get the automatically data moving?

Code:
kirbyzhou@Kirby-Pro:~ $ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         119.7 GB   disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:          Apple_CoreStorage                         1.9 TB     disk1s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk1s3
   4:       Microsoft Basic Data WINROOT                 144.9 GB   disk1s4
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS MacHome                *739.5 GB   disk2
/dev/disk4
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS ExData                 *200.0 GB   disk4
kirbyzhou@Kirby-Pro:~ $ diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 96320867-E211-4DE9-80C4-15797DE9FE29
    =========================================================
    Name:         fusion0
    Status:       Online
    Size:         1974690148352 B (2.0 TB)
    Free Space:   1028259721216 B (1.0 TB)
    |
    +-< Physical Volume AE6F857C-1A45-44F0-8354-32AEFAA26E05
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     119690149888 B (119.7 GB)
    |
    +-< Physical Volume 0EDADD7E-37BD-43F0-8DD6-A6BE7A15340D
    |   ----------------------------------------------------
    |   Index:    1
    |   Disk:     disk1s2
    |   Status:   Online
    |   Size:     1854999998464 B (1.9 TB)
    |
    +-> Logical Volume Family A8D2F532-1D3E-46B3-AF36-D3A007EC0E94
    |   ----------------------------------------------------------
    |   Encryption Status:       Unlocked
    |   Encryption Type:         None
    |   Conversion Status:       NoConversion
    |   Conversion Direction:    -none-
    |   Has Encrypted Extents:   No
    |   Fully Secure:            No
    |   Passphrase Required:     No
    |   |
    |   +-> Logical Volume 815BE88D-159E-4DD4-A392-E87B29378381
    |       ---------------------------------------------------
    |       Disk:               disk4
    |       Status:             Online
    |       Size (Total):       200000012288 B (200.0 GB)
    |       Size (Converted):   -none-
    |       Revertible:         No
    |       LV Name:            ExData
    |       Volume Name:        ExData
    |       Content Hint:       Apple_HFS
    |
    +-> Logical Volume Family F8C19D3C-A8FB-4AD7-93C5-2888C5B7F4AA
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         None
        Conversion Status:       NoConversion
        Conversion Direction:    -none-
        Has Encrypted Extents:   No
        Fully Secure:            No
        Passphrase Required:     No
        |
        +-> Logical Volume 3276EA60-3D51-415B-9F79-9991CAB75BB2
            ---------------------------------------------------
            Disk:               disk2
            Status:             Online
            Size (Total):       739477291008 B (739.5 GB)
            Size (Converted):   -none-
            Revertible:         No
            LV Name:            MacHome
            Volume Name:        MacHome
            Content Hint:       Apple_HFS
 
Do you create a script, to run your code? or directly in a terminal window?
I don't see anything happening on my drives, when trying.
Thanks for your advice.


It would be great if we could be sure something is done at the level of our FDD.
Because if it's just to put 2 drives in 1, and there is nothing more...

Could it be related to the hardware we have? (some compatible, some not?)
 
Do you create a script, to run your code? or directly in a terminal window?
I don't see anything happening on my drives, when trying.
Thanks for your advice.


It would be great if we could be sure something is done at the level of our FDD.
Because if it's just to put 2 drives in 1, and there is nothing more...

Could it be related to the hardware we have? (some compatible, some not?)

I just use 2 terminal window. One for running the commands in my prev post, One for running 'iostat 1' to monitor disk IO.
 
I tried again. The test file is created and the reading is ongoing for a while.
My SSD is already full, so I clearly see that we are writing/reading from the HDD.

When I close the terminal window (for the reading), I see it stops in the iostat. But shortly after, there is a transfer of data on both disks.
I believe it's Fusion Drive, transferring some data from the HDD to the SSD.

Running again your command to read the test file, this time I see the readings half on SSD and half on HDD.
So, Fusion Drive seems to have transferred part of the file to the SSD.

I tried again some more reading, but it doesnt seem that FD is transferring all the test file to the SSD. There is still some part on the HDD.


I never read anything saying that we need to reboot for Fusion Drive to work.
It should be automatic, all the time.



Another test, done by jollyjinx, here : http://jollyjinx.tumblr.com/post/34638496292/fusion-drive-on-older-macs-yes-since-apple-has
I wanted to try it, but the mkfile doesnt want to work on my hack... It gives me an error...
 
I follow the guide - just that i am on 10.8.3 did the update and the followed the guid, but when i boot form my FD drive i get error. Hers the last 4 lines i verbos boot:

USBMSC IDENTIFIER (NON-UNIQUE): 11120191020597 0x90C 0x1000 0x1000
USBMSC IDENTIFIER (NON-UNIQUE): 001CC0EC348DBB5085E4009F 0X951 0X1653 0X100
Still waiting for root device
Still waiting for root device

How to fix this problem?
 
Hi everybody,
First of all, thank's for this usefull tutorial and well detailed.

I followed the tutorial but i have a strange problem.

I've done all the tutorial successfully, but on my BootLoader (chimera), i do not see the Fusion Drive. I only see the "Mac Backup" partition (disk1) which is the OSX used for doing the fusion between disk0 and disk2.

When I launch from the bios my disk0 or disk2, i'm in the Chimera Bootloader but i don't see the fusion drive.

Someone have an idea?

Here is my diskutil list:
diskutillist.jpg
 
Back
Top