Home made Fusion Drive


  • tutorials
  • (Updated at )

What is Fusion Drive

fusion-drive-354.png

Fusion Drive 簡單的說可以是類似 Hyper Drive 的產品,它將(至少)一個 SSD 及一個一般的硬碟,組成一個 Volume group,使用時就像只有一顆硬碟,容量當然也是合併的。在分割的操作過程,雖然很像在建 RAID 0 不過 Fusion Drive 並非 RAID Array。

與 Hyper Drive 最大的差異,除了硬體上是多個硬碟之外,主要就是 OS 的完整支援。配合 Mac OS X 10.8 會學習使用的狀況,將較常使用的檔案移到 SSD 上。不過在搬移的方式並不一定是完整的檔案,可能只是部份的區塊,所以檔案可能是分散在不同的硬碟上,一旦硬碟有需要救援,也就會比較麻煩,所以有完整的備份方案很重要。

Making Fusion Drive

  • 需要重新分割及安裝系統,所以硬碟的資料都會清除
  • 如果要製作的 Fusion Drive 含使用中的硬碟,則需進入到 Recovery mode,如果不含則不需直接開啟 Terminal 即可。

首先找好要做成 Fusion Drive 的磁碟代號,從容量或是 Label 都很容易識別。

diskutil list  
/dev/disk0  
   #:                       TYPE NAME            SIZE       IDENTIFIER  
   0:      GUID_partition_scheme                *128.0 GB   disk0  
   1:                        EFI                 209.7 MB   disk0s1  
   2:          Apple_CoreStorage                 127.7 GB   disk0s2  
   3:                 Apple_Boot Boot OS X       134.2 MB   disk0s3  
/dev/disk1                                          
   #:                       TYPE NAME            SIZE       IDENTIFIER  
   0:      GUID_partition_scheme                *500.1 GB   disk1  
   1:                        EFI                 209.7 MB   disk1s1  
   2:          Apple_CoreStorage                 499.2 GB   disk1s2  
   3:                 Apple_Boot Boot OS X       650.0 MB   disk1s3  
/dev/disk2                                          
   #:                       TYPE NAME            SIZE       IDENTIFIER  
   0:                  Apple_HFS Macintosh HD   *623.9 GB   disk2  

上面的例子中,分別是 disk0:SSD,disk1:HD,接著要將這兩個磁碟組成一個 Logical Volume Group,並命名為 "FusionDrive",這個名稱自行定義即可,只有在 Disk Utility 類似的工具才會看到這個名稱。

diskutil cs create FusionDrive /dev/disk0 /dev/disk1

建立完成之後,會顯示這組 LVG UUID,copy 下來,等會兒會用到直接貼上即可。

Waiting for Logical Volume Group to appear  
Discovered new Logical Volume Group "F1E65D55-6B19-35D2-B04C-7E828C26926A"  
Core Storage LVG UUID: F1E65D55-6B19-35D2-B04C-7E828C26926A  
Finished CoreStorage operation  

建好 LVM 之後,就可以開始劃分實際需要的分割表了

diskutil cs createVolume F1E65D55-6B19-35D2-B04C-7E828C26926A jhfs+ "Macintosh HD" 100%

jhfs+ 指的是 Journaled HFS+ type,"Macintosh HD" 是分割表的名稱,100% 則是要使用全部的空間,只劃分成一個 Partition。

至此就完成建立 Fusion Drive 了,接著就照常的安裝系統,選擇硬碟的時候則只會看到一顆硬碟,而容量就是 disk0 + disk2 的總容量。

Split Fusion Drive

Fusion Drive 不能使用原先的 Disk Utility,如果有需要重新分割,或更換硬碟時,需要拆開 Fusion Drive 才能使用。

diskutil cs list

同樣的先找到要刪除的 LVG UUID。

CoreStorage logical volume groups (1 found)  
|  
+-- Logical Volume Group 7064B634-B546-4561-8A96-88B22A4E4DE4  
    =========================================================  
    Name:         FusionDrive  
    Size:         626939805696 B (626.9 GB)  
    Free Space:   8192 B (8.2 KB)  
    |  
    +- Logical Volume Family 67B3F504-CDBE-47F1-B9B9-E76F007CA6BF  
        ----------------------------------------------------------  
        Encryption Status:       Unlocked  
        Encryption Type:         None  
        Conversion Status:       NoConversion  
        Conversion Direction:    -none-  
        Has Encrypted Extents:   No  
        Fully Secure:            No  
        Passphrase Required:     No  
        |  
        +-> Logical Volume B2320A53-1E78-4ECE-94B1-57F338894CDA  
            ---------------------------------------------------  
            Disk:               disk2  
            Status:             Online  
            Size (Total):       623942680576 B (623.9 GB)  
            Size (Converted):   -none-  
            Revertible:         No  
            LV Name:            Macintosh HD  
            Volume Name:        Macintosh HD  
            Content Hint:       Apple_HFS  

然後指定要刪除的 UUID

diskutil cs delete 7064B634-B546-4561-8A96-88B22A4E4DE4
0 comment, 0 pingback