[Mac] 噂のFusion Driveを自分のSSD&外付けHDDを使って自家製で構築してみる。

howto-mac-homemade-fusion-drive-01

iMac、Mac mini 2012から搭載出来る様になったFusion Drive。SSDとHDDを1つのストレージとして扱い、SSDの速度HDDの大容量を併せ持つのが特徴のストレージです。

これを搭載するにはMacをAppleStoreでカスタマイズをして購入しなければいけません。でも・・・高い!
それならSSDと外付けHDDで良いかぁ~と思い前回Mac mini 2012に入っていたHDDをSSDに自分で交換しました。また、入っていたHDDはUSB 3.0対応のHDDケースに入れて外付けとしました。

が、これでは楽しくない!せっかくMac miniを買ったのだから楽しく行こうぜ!ということで、今回はこれら手持ちの SSD と 外付けHDD を使って自家製「疑似 Fusion Drive」を構築してみようと思います。
ちなみに、常用するためではなく、ただただ面白そうだったので試しただけですので、読み物として見ていただけるとありがたいです。

スポンサーリンク
336

自家製Fusion Drive?

実はFusion DriveがAppleより発表されてからあまり時間が経たないうちに自家製で構築する方法が発見されていたりします。
今回はコレを試してみようかと思います!
ただし1点注意があり、これはAppleのFusion Driveと全てまったく同じなのか?と言われると自家製なので微妙な様子。そこでよく言われるのが疑似 Fusion DriveであったりFusion Drive もどきです。要するに、Fusion Driveだけど自家製だから本当のFusion Driveと全く同じ様に使用頻度パターンを学習したりするかは知らん!って事ですね。まぁ遊びたいだけなので問題なし!

未対応Macでも出来るのか?

私が試した訳ではないので正確な事は言えないのですが、一部表記が違うだけで動作はするようです。ですが、Apple的には未対応Macなのでどこに問題が潜んでいるか分からないため注意が必要かもしれません。

Fusion Driveって常用するにはどうなの?

Fusion Driveは2つのストレージを1つにまとめて扱っています。RAID 0と言うんでしたっけ?あれと似たり寄ったりな感じだと思います。
そのため、どちらか一方が故障すると全てのデータにアクセス出来なくなる可能性が非常に高いです。

これらの理由から自家製の疑似 Fusion Driveを常用するのはあまりオススメされることではないようです。とは言っても、本家Fusion Driveも同じはずなので、Apple的にはTime Machine等でバックアップしておけという事なんでしょうかね。

注意

この記事に書かれていることは故障する可能性が含まれる物です。また、Appleのサポートを受けられなくなる可能性もあります。そのことを十分に認識し、何が起こっても自分の力のみで解決出来る方のみ読み進めていただくようお願いいたします。
また、手探りで私が試したと言うだけですので、全ての環境で同じように成功するとは限りません。

試した環境

今回試した環境は以下の通りです。

ということで、今回はMac mini 2012を使用します。また、元々入っていたHDDを取り出し外付けに、SSDをMac miniに内蔵している形で行います。
疑似Fusion Driveの構成はこの内蔵SSD(240GB) + 外付けHDD(1TB)で行きたいと思います。

疑似Fusion Driveを構築していく

最終的にストレージがフォーマットされますので、Macを再インストール、もしくはTime Machine バックアップから復元を行う必要が出てきます。必ずファイルのバックアップを行い、初期化されても良いような状態にしておきましょう。

*以下赤文字部分がターミナルで入力する文字となります。
**【, Fusion drive on older Macs? YES! Since Apple has...】と微妙に違うところがあります、ご注意を!

1:リカバリーモードで起動&ターミナルを起動

今回の手法は全てリカバリーモードで行う必要があります。
そこでMacの電源を切り、『Command + R』キーを押したままMacの電源を入れてリカバリーモードで起動させましょう。(Wireless Keyboardの場合は起動音が鳴った直後から押すと良いみたいです)
リカバリーモードで起動しましたらメニューバー > ユーティリティ > ターミナルと選択して、ターミナルを起動してください。

2:SSDとHDDのディスク番号を調べる

SSDとHDDを1つのストレージとしてまとめるために、それぞれのディスク番号を調べます。
diskutil list』とターミナルで入力し、実行しましょう。実行結果は環境により違いますので注意してください。
今回私の結果の場合は容量を見ていくとdisk0がSSD、disk2が外付けHDDだと分かります。(一部分かりやすいように省略しています)

diskutil list

/dev/disk0
   #:                        TYPE NAME                    SIZE        IDENTIFIER
   0:      GUID_partition_scheme                         *240.1 GB    disk0
   1:                        EFI                          209.7 MB    disk0s1
   2:                  Apple_HFS Mac                      239.2 GB    disk0s2
   3:                 Apple_Boot Recovery HD              650.0 MB    disk0s3
/dev/disk1
   #:                        TYPE NAME                    SIZE        IDENTIFIER
   0:      Apple_partition_scheme                        *1.3 GB      disk1
   1:         Apple_partition_map                         30.7 GB     disk1s1
   2:                   Apple_HFS OS X 10.8.1 Base System 1.3 GB      disk1s2
/dev/disk2
   #:                        TYPE NAME                    SIZE        IDENTIFIER
   0:                             untitled               *524.3 KB    disk2
/dev/disk3
   #:                        TYPE NAME                    SIZE        IDENTIFIER
   0:      GUID_partition_scheme                         *1.0 TB      disk3
   1:                        EFI                          209.7 MB    disk3s1
   2:                   Apple_HFS USB3-HDD                999.9 GB    disk3s2

3:SSDとHDDを合体

前項でSSDとHDDのディスク番号が分かりましたので、続いてこれら2つをFusion Driveで使える形式で1つに合体したいと思います。
前項で確認したSSDとHDDのディスク番号がdisk0 disk3であれば下記の通りとなります。違う場合は自信で番号を書き換えましょう。
diskutil cs create FusionDrive disk0 disk3』と入力し実行です。
FusionDrive』部分はストレージ名ですので分かりやすい好きな名前に変更しても大丈夫です。スペースを入れたい場合は前後にダブルクォーテーションを入れて囲みましょう。

diskutil cs create FusionDrive disk0 disk3

Started CoreStorage operation
Unmounting disk0
Repartitioning disk0
Unmounting disk
Creating the partition map
Rediscovering disk0
Adding disk0s2 to Logical Volume Group
Unmounting disk3
Repartitioning disk3
Unmounting disk
Creating the partition map
Rediscovering disk3
Adding disk3s2 to Logical Volume Group
Creating Core Storage Logical Volume Group
Switching disk0s2 to Core Storage
Switching disk3s2 to Core Storage
Waiting for Logical Volume Group to appear
Discovered new Logical Volume Group "D8B60742-9B0C-AC26-5094-E31C68A125FB"
Core Storage LVG UUID: D8B60742-9B0C-AC26-5094-E31C68A125FB
Finished CoreStorage operation

4:作成したストレージのUUIDを調べる

SSDとHDDが一つにまとまったストレージのUUID(識別番号)を調べます。
前項の最後にも「Core Storage LVG UUID:」として表示されているのですが、一応調べておきましょう。
diskutil cs list』と入力して実行です。
先ほど作成した際に指定したストレージ名が表示されている部分の上にあるLogical Volume Groupの右側に書かれている英数字(8桁-4桁-4桁-4桁-12桁)の部分がUUIDになります。この部分をコピーしておきましょう。

diskutil cs list

CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group D8B60742-9B0C-AC26-5094-E31C68A125FB
    =========================================================
    Name:         FusionDrive
    Size:         1239574347776 B (1.2 TB)
    Free Space:   1230707318784 B (1.2 TB)
    |
    +-< Physical Volume E0BD9AB4-4CCF-C824-75B0-F9E058FDBEA2
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     239713435648 B (239.7 GB)
    |
    +-< Physical 14C3711A-2482-20CC-67D3-A02457BC5515
        ----------------------------------------------------
        Index:    1
        Disk:     disk3s2
        Status:   Online
        Size:     999860912128 B (999.9 GB)

5:ボリュームを作成

実際にMacOS等をインストールするボリュームを作成します。
前項でストレージのUUIDを確認しましたので、書きコマンドの青文字部分には確認したUUIDに書き換えて実行してください。
diskutil coreStorage createVolume D8B60742-9B0C-AC26-5094-E31C68A125FB jhfs+ MacHD 100%
ちなみに、『MacHD』部分はボリューム名ですので好きな物に書き換えてしまって大丈夫です。また、今回は全ての領域を使ってパーティションを作りたいので100%としています。(たぶんこれなら全環境で通用するはず)

diskutil coreStorage createVolume D8B60742-9B0C-AC26-5094-E31C68A125FB jhfs+ MacHD 100%

Started CoreStorage operation
Waiting for Logical Volume to appear
Formatting file system for Logical Volume
Initialized /dev/rdisk4 as a 1 TB HFS Plus volume with a 98304k journal
Mounting disk
Core Storage LV UUID: FD081443-1A75-9B74-9882-2D4A5657F8E1
Core Storage disk: disk8
Finished CoreStorage operation

6:Mac OS Xのインストール or Time Machine バックアップから復元

はい、ここまでの作業で疑似Fusion Driveの作成は一応完了です。
ターミナルを終了して『OS X を再インストール』か、『Time Machine バックアップから復元』を実行して、Macを使えるようにしてあげましょう。
もちろん!前項で作ったボリュームに対してこれらを行ってください。
ボリュームを選択する場面でも分かると思いますが、この段階で選択出来る物がSSD + HDDの容量となっているはずです。

結果は?

Macのインストール後にストレージの詳細を見てみます。
すると『1.24 TB』と表示されています。これはSSD 240GB + HDD 1TBですので、合っていますね!
更に『ハード・ドライブ + フラッシュストレージ』となっていることからも、SSDとHDDが合体したストレージになっている事が確認出来ます。

howto-mac-homemade-fusion-drive-02

さて、問題は速度はどうなの?です。
元々SSD単体「書き:318.2 MB/s 読み:459.3 MB/s」HDD単体「書き: 105.2MB/s 読み: 106.8MB/s」でした。
さて、疑似 Fusion Driveの場合はどうなのか?簡単にですが計測してみました。

howto-mac-homemade-fusion-drive-03

これを見るとSSDと同じ速度が出ているのが分かります。更に詳しく見てみるとランダム書き込み時の速度が低下していましたが、それ以外はSSD並でした。
Macの起動速度もSSD同等であったのを考えると、HDDよりは確実に快適な生活が出来そうです。(もちろん使い込んでみないと分からない部分もありますが・・・)

ちなみに疑似 Fusion Driveの解除方法

これで合っているのか分からないですが、解除するための方法を。
同じくリカバリーモードのターミナルから『diskutil cs list』を実行して、作成したボリュームのUUIDをコピーします。今回の例で言えばMacHDのUUIDという事になります。

続いて『diskutil cs deleteVolume UUID』を実行。(UUID部には先ほどコピーしたUUIDを貼り付けてください)
これでボリュームを削除出来ます。

もう一度『diskutil cs list』を実行して、ストレージのUUIDをコピーします。今回の例で言えばFusionDriveと名前の付けたストレージです。

最後に『diskutil cs delete UUID』を実行。(UUID部には先ほどコピーしたUUIDを貼り付けてください)

この作業で一応解除することが出来ました。あとはOS再インストールしたり、バックアップから復元です。

ということで、遊んでみました。
疑似とはいえ、Fusion Driveは速いし大容量だし、良い感じです。Time Machineでバックアップをきちっと取っているのであれば心配事もないように思います。
また、今回の例で言えば内蔵されているSSDとUSB 3.0な外付けHDDでの構成にしましたが、これでも何ら問題無く動くのは素晴らしい。

さぁ、元に戻して汚いHDDの中身を整理をしましょうか・・・ね・・・えぇ・・・やりたくない・・・

スポンサーリンク

コメント

  1. 名前:ユメッペン 投稿日:2013/01/05(土) 23:13:46 返信

    これ見てMacmini買っちゃいましたー

  2. 名前:匿名 投稿日:2013/01/06(日) 09:33:53 返信

    diskutil cs deleteVoulme UUID

    diskutil cs deleteVolume UUID
    下記では、ないでしょうか

  3. 名前:ASSY_LAB 投稿日:2013/01/06(日) 12:58:22 返信

    検証ご苦労様です。

    てっきり両方内蔵しないとダメかと思ってましたが
    外付けでも行けるんですね
    ということはSSDを外付けでも行けるって事なのかな
    それなら敷居がぐっと低く外付けSSDを使ったFusionDriveもどき?
    が出来そうですな

    やってみようと思います。
    これ流行るかも。

  4. 名前:匿名 投稿日:2013/01/12(土) 16:08:28 返信

    最後の一分の「HDDの中身の整理」が一番ネックなんだよなwwwwwww

  5. 名前:Nuts 投稿日:2013/01/24(木) 18:08:33 返信

    非純正SSDに換装の場合、TrimEnablerでTrimをonにしますが、
    FusionDriveを構築の場合は必要ないのでしょうか?

    純然たるSSDではないのでTrim不要?
    Tarminalで構築中に自動でTrimがonになる?

    システム情報のTrimサポートの表示はどのようになっていますか?
    気になって夜も眠れません。。

  6. 名前:ぶん 投稿日:2013/02/07(木) 22:49:34 返信

    実は手持ちのMac mini(2011)でやってみました。結果、620GBの「内蔵ディスク」ができ、「ハード・ドライブ+フラッシュストレージ」にならないですし、ベンチマークもHDD並(W:130 R:170程度)になっています。現実にある「1TB+128GB」じゃないからなのでしょうか。同様の症状の方、いらっしゃいませんか?

  7. 名前:yoshi 投稿日:2013/02/25(月) 23:13:10 返信

    ありがとうございます。
    先日mac mini 2012新品購入し、即ばらして手持ちのssdでFusionDriveにしました。
    ただ、物理的につなげただけなのでストレージVolumを認識しないで焦りましたが、これを見て助かりました。
    素人の怖さですww

  8. 名前:匿名 投稿日:2013/03/02(土) 22:37:52 返信

    丁寧な解説を有り難う御座います。
    ところで、Fusion Driveを解除する際に「diskutil cs deleteVolume UUID」を打ち込むと
    「Error deleting CoreStorage Logical Volume: Not a valid CoreStorage Logical Volume UUID (-69776)」
    と表示されました、が「diskutil cs delete UUID」で簡単に削除できました。
    詳しくはわかりませんが、一応書いておきます。

  9. 名前:匿名 投稿日:2013/03/23(土) 07:46:58 返信

    私もMacBook Proの内蔵ハードディスクとSSDでフュージョンドライブにしました。ここのサイトは分かり易かったです。ありがとうございます。しかし、リカバリーモードでもコマンドRの方法だと内蔵SSDからの起動となりフュージョンドライブを組み仮想的なストレージを作成するときに起動に使っているSSDかハードディスクのどちらかがアンマウントできずにフュージョンドライブが作成できませんでした。これを回避するためにもUSBまたはDVDドライブからのリカバリー起動にしたほうが良さそうです。

  10. 名前:Ksk 投稿日:2013/06/06(木) 14:12:14 返信

    今回MacBookProをフュージョンドライブ化するに際に参考にさせて頂きました。
    とても快適になりました。
    4月に購入したので、まだ保証期間中。
    すこし躊躇したのですが、逆にもっと早くやっておけばと、後悔(^^ゞ
    とてもわかり易かったです。ありがとうございました。

  11. 名前:ななしちゃん 投稿日:2014/01/02(木) 20:04:07 返信

    fusiondrive作成するところまでできたのですがmarveriksをインストールしようとすると復旧ディスクを作成できないためインストールできませんでと待ってしまいます。
    どうすればいいでしょうか?
    参考までにこれを試してみましたができませんでした。
    http://support.apple.com/kb/TS3926?viewlocale=ja_JP

  12. 名前:こうじ 投稿日:2014/01/08(水) 17:53:59 返信

    deleteで解消できた。
    何個か前の人ありがとう

コメントを投稿