MacOS – Fusion Drive seems to be messed up

core-storagefusion-drivehard drivemacos

I felt that my iMac late 2012 became pretty slow, above all after login. Now when I look into disk utility, it seems that my disk doesn't behave as Fusion Drive any more:

enter image description here

An output from terminal:

➜  ~  diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Untitled                121.0 GB   disk0s2
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            3.0 TB     disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3

➜  ~  diskutil cs list
No CoreStorage logical volume groups found

How can I repair this?

Best Answer

To rebuild your Fusion Drive almost non-destructively you have to convert your main volume (the HDD) to a Core Storage Volume Group first, then add the SSD as a physical volume and expand the Logical Volume to the full size of the now expanded Volume Group. All data on the SSD (volume: Untitled) will be erased, so back it up.

  1. Backup your main volume and if necessary the volume "Untitled" on your SSD to an external backup drive.
  2. Detach the backup drive and all other external drives
  3. Boot to Recovery Mode by entering cmdR immediately after the boot chime.
  4. Open Disk Utility and check all volumes and disks for errors and repair them.
    But don't repair/rebuild the Fusion Drive without a backup, if you are asked to. You will loose all your data.
    If you have a (Time Machine) backup, you may now repair the Fusion Drive, check it for errors, quit Disk Utility, open Restore From Time Machine Backup, restore your backup data and finally reboot to the restored system.
  5. Quit Disk Utility
  6. Open Terminal in the menubar

    enter image description here

  7. Enter diskutil list
    Example list

    /dev/disk0
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *121.3 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2:                  Apple_HFS SSD                121.0 GB   disk0s2
    /dev/disk1
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *3.0 TB     disk1
       1:                        EFI EFI                     209.7 MB   disk1s1
       2:                  Apple_HFS HDD            3.0 TB     disk1s2
       3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3
    /dev/disk2
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:     Apple_partition_scheme                         *1.3 GB    disk2
       1:        Apple_partition_map                         30.7 KB    disk2s1
       2:                  Apple_HFS OS X Base System        *1.3 GB    disk2s2
    /dev/disk3-disk13 ...belong to the OS X Base System (your recovery system you booted to previously)  
    

    Disk0 is your SSD, disk1 is your HDD and disk2 is the OS X Base System of your Recovery HD

  8. Now convert your main volume (the HDD) to a Core Storage Volume Group:

    diskutil cs convert disk1s2
    

    If you get a message stating that "the disk can't be unmounted, converted volume won't appear until it's unmounted", exit Terminal and reboot to Recovery Mode

  9. Open Disk Utility and check the newly build Core Storage volume.
  10. Quit Disk Utility and open Terminal
  11. Now you have to convert the SSD to a Physical Volume. Enter:

    diskutil list
    

    to get the disk identifier of the HFS volume on the SSD and

    diskutil cs list
    

    to get the Logical Volume Group UUID (LVGUUID) and the Logical Volume UUID (LVUUID). It's the first and the last one listed.

    To add the SSD volume to the Volume Group enter: diskutil cs addDisk LVGUUID DiskIdentifier

    Example:

    diskutil cs addDisk DA484337-F888-474B-90B5-232D14FD9B30 disk0s2
    
  12. Now expand the Logical Volume with diskutil cs resizeVolume LVUUID size with size a little bit smaller than the size of the Logical Volume Group

    Example:

    diskutil cs resizeVolume 999ACBDC-045E-44FF-BBFD-54F56D069722 3106g
    

    I also have a 3,1 TB Fusion Drive (the output of diskuil cs list is listed below) and the size of the LVG is 3,120,722,075,648 Byte and the size of the Logical Volume is 3,106,191,572,992 Byte:

    CoreStorage logical volume groups (1 found)
    |
    +-- Logical Volume Group DA484337-F888-474B-90B5-232D14FD9B30
        =========================================================
        Name:         Macintosh HD
        Status:       Online
        Size:         3120722075648 B (3.1 TB)
        Free Space:   114688 B (114.7 KB)
        |
        +-< Physical Volume A3326508-CF3D-4ABC-8157-839074724063
        |   ----------------------------------------------------
        |   Index:    0
        |   Disk:     disk0s2
        |   Status:   Online
        |   Size:     120988852224 B (121.0 GB)
        |
        +-< Physical Volume 24BB36F1-B9E5-418E-BD8C-3F2C6DBF4B44
        |   ----------------------------------------------------
        |   Index:    1
        |   Disk:     disk1s2
        |   Status:   Online
        |   Size:     2999733223424 B (3.0 TB)
        |
        +-> Logical Volume Family AA514A06-08D2-4F56-A0C5-E82A94E60A82
            ----------------------------------------------------------
            Encryption Status:       Unlocked
            Encryption Type:         None
            Conversion Status:       NoConversion
            Conversion Direction:    -none-
            Has Encrypted Extents:   No
            Fully Secure:            No
            Passphrase Required:     No
            |
            +-> Logical Volume 999ACBDC-045E-44FF-BBFD-54F56D069722
                ---------------------------------------------------
                Disk:                  disk3
                Status:                Online
                Size (Total):          3106191572992 B (3.1 TB)
                Conversion Progress:   -none-
                Revertible:            No
                LV Name:               Macintosh HD
                Volume Name:           Macintosh HD
                Content Hint:          Apple_HFS
    
  13. After successfully expanding the Logical Volume enter exit and quit Terminal
  14. Open Disk Utility and check the Fusion Drive volume for errors.
  15. Quit Disk Utility and reboot to your Fusion Drive

If everything fails check the second part ('Rebuild Fusion Drive' (recommended if you have a Time Machine backup)) of my answer here.