Как стать автором
Обновить

Переходим на Fusion Drive (Mac OS X Mavericks)

Время на прочтение6 мин
Количество просмотров55K


UPDATE: От одного из читателей поступила информация, что собраный по данной методике FD не работает должным образом — не переносит часто используемые файлы на SSD. Возможно, это исключительный случай, но я проверю актуальность статьи для современных macOS. Ну а тем, кто решит воспользоваться статьей рекомендую иметь резервную копию системы и данных для возможности создания FD с нуля по моей первой статье, если что-то пойдет не так.

В статье Переходим на Fusion Drive я изложил способы, которые связаны с потерей информации на подопытных дисках. К счастью недавно появилась возможность этого избежать.


Свою предыдущую статью про Fusion Drive я закончил несколько грустным замечанием о невозможности создания FD налету, без необходимости переноса данных с дисков. Нельзя было и манипулировать дисками (добавлять и удалять) в созданном FD. К счастью ситуация изменилась в Mac OS X Mavericks. Спасибо инженерам Apple.

Использованное железо и софт:
  • Mac OS X 10.9.0
  • виртуальный диск 40Gb (системный диск)
  • виртуальный диск 5Gb (диск которым присоединим к созданному FD)


Все операции я проделал на виртуальной машине, т.к. реальные давно работают с FD.
Перед началом конвертирования диска убедитесь в наличие резервной копии системы!

Система до модернизации
bash-3.2# diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *42.9 GB    disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            42.6 GB    disk0s2


Подготовим существующий раздел диска disk0s2 для FD.
bash-3.2# diskutil cs convert disk0s2
Started CoreStorage operation on disk0s2 Macintosh HD
Resizing disk to fit Core Storage headers
Creating Core Storage Logical Volume Group
Attempting to unmount disk0s2
Switching disk0s2 to Core Storage
Couldn't unmount disk0s2; converted volume won't appear until it's unmounted
Core Storage LVG UUID: 59142646-86FC-4E01-983F-43E167B23D45
Core Storage PV UUID: 6EF1FB47-1953-45D0-976A-4B99A5809C10
Core Storage LV UUID: 29DC7C2D-3D59-4029-AE68-25404CD45D7A
Finished CoreStorage operation on disk0s2 Macintosh HD


Система сообщает, что диск конвертирован, но появится после размонтирования. Проверяем новую конфигурацию:
# diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 59142646-86FC-4E01-983F-43E167B23D45
    =========================================================
    Name:         Macintosh HD
    Status:       Offline
    Size:         0 B (0 B)
    Free Space:   -none-
    |
    +-< Physical Volume 6EF1FB47-1953-45D0-976A-4B99A5809C10
        ----------------------------------------------------
        Index:    0
        Disk:     disk0s2
        Status:   Checking
        Size:     42605699072 B (42.6 GB)



Перезагружаемся и попутно добавляем виртуальный диск 5Гб для расширения дискового пространства.

# diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 59142646-86FC-4E01-983F-43E167B23D45
    =========================================================
    Name:         Macintosh HD
    Status:       Online
    Size:         42605699072 B (42.6 GB)
    Free Space:   16777216 B (16.8 MB)
    |
    +-< Physical Volume 6EF1FB47-1953-45D0-976A-4B99A5809C10
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk1s2
    |   Status:   Online
    |   Size:     42605699072 B (42.6 GB)
    |
    +-> Logical Volume Family 6F8A2C40-860F-411A-B4D0-9BA2380504FB
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         None
        Conversion Status:       NoConversion
        Conversion Direction:    -none-
        Has Encrypted Extents:   No
        Fully Secure:            No
        Passphrase Required:     No
        |
        +-> Logical Volume 29DC7C2D-3D59-4029-AE68-25404CD45D7A
            ---------------------------------------------------
            Disk:                  disk2
            Status:                Online
            Size (Total):          42270150656 B (42.3 GB)
            Conversion Progress:   -none-
            Revertible:            Yes (no decryption required)
            LV Name:               Macintosh HD
            Volume Name:           Macintosh HD
            Content Hint:          Apple_HFS


Видим, что система активировала FD диск и использует его. Добавленный виртуальный диск получил имя disk0, сконвертированный диск — disk1, объединённый диск FD — disk2.
# diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *5.4 GB     disk0
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *42.9 GB    disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:          Apple_CoreStorage                         42.6 GB    disk1s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk1s3
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *42.3 GB    disk2


Смотрим параметры запуска недокументированной команды
# diskutil cs addDisk
Usage:  diskutil coreStorage addDisk lvgUUID NewMemberDeviceName
Add a new physical volume to a CoreStorage logical volume group.
Ownership of the affected disks is required.
Example: diskutil coreStorage addDisk
         11111111-2222-3333-4444-555555555555 disk4s2


Запускаем команду добавления диска disk0 в LVG 59142646-86FC-4E01-983F-43E167B23D45
bash-3.2# diskutil cs adddisk 59142646-86FC-4E01-983F-43E167B23D45 disk0
Started CoreStorage operation on disk0
Unmounting disk0
Repartitioning disk0
Unmounting disk
Creating the partition map
Rediscovering disk0
Adding disk0s2 to Logical Volume Group
Switching disk0s2 to Core Storage
Waiting for Logical Volume Group to come back online
Core Storage PV UUID: 4C255180-5FDD-4BF8-8CAD-EFA5F1B5C0B8
Finished CoreStorage operation on disk0


Проверяем что получилось
# diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 59142646-86FC-4E01-983F-43E167B23D45
    =========================================================
    Name:         Macintosh HD
    Status:       Online
    Size:         47630434304 B (47.6 GB)
    Free Space:   4756291584 B (4.8 GB)
    |
    +-< Physical Volume 6EF1FB47-1953-45D0-976A-4B99A5809C10
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk1s2
    |   Status:   Online
    |   Size:     42605699072 B (42.6 GB)
    |
    +-< Physical Volume 4C255180-5FDD-4BF8-8CAD-EFA5F1B5C0B8
    |   ----------------------------------------------------
    |   Index:    1
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     5024735232 B (5.0 GB)
    |
    +-> Logical Volume Family 6F8A2C40-860F-411A-B4D0-9BA2380504FB
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         None
        Conversion Status:       NoConversion
        Conversion Direction:    -none-
        Has Encrypted Extents:   No
        Fully Secure:            No
        Passphrase Required:     No
        |
        +-> Logical Volume 29DC7C2D-3D59-4029-AE68-25404CD45D7A
            ---------------------------------------------------
            Disk:                  disk2
            Status:                Online
            Size (Total):          42270150656 B (42.3 GB)
            Conversion Progress:   -none-
            Revertible:            No
            LV Name:               Macintosh HD
            Volume Name:           Macintosh HD
            Content Hint:          Apple_HFS


Обратите внимание, что теперь у нас в группе томов два физических тома (Physical Volume), но система пока использует только первый и есть 5Гб свободного пространства.
Теперь необходимо расширить Logical Volume 29DC7C2D-3D59-4029-AE68-25404CD45D7A до максимально возможного размера Size: 47630434304 B (47.6 GB).

Теоретически должна работать команда
bash-3.2# diskutil cs resizevolume  29DC7C2D-3D59-4029-AE68-25404CD45D7A  47630434304B


В моем случае выдавалась ошибка о недостаточном свободном пространстве. Я перевёл 47630434304B в килобайты и запустил
bash-3.2# diskutil cs resizevolume 29DC7C2D-3D59-4029-AE68-25404CD45D7A 46514096k
The Core Storage Logical Volume UUID is 29DC7C2D-3D59-4029-AE68-25404CD45D7A
Started CoreStorage operation
Checking file system
...
Growing Logical Volume
Resizing Core Storage Logical Volume structures
Resized Core Storage Logical Volume to 46514094080 bytes
Growing file system
Finished CoreStorage operation


При тестировании на другой виртуальной машине всё работало когда указывал размер в байтах и диск создался максимально возможного размера. Видимо дело в размере дисков. Можно пытаться запускать команду постепенно уменьшая размер в байтах или как сделал я.

Итог
# diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 59142646-86FC-4E01-983F-43E167B23D45
    =========================================================
    Name:         Macintosh HD
    Status:       Online
    Size:         47630434304 B (47.6 GB)
    Free Space:   512348160 B (512.3 MB)
    |
    +-< Physical Volume 6EF1FB47-1953-45D0-976A-4B99A5809C10
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk1s2
    |   Status:   Online
    |   Size:     42605699072 B (42.6 GB)
    |
    +-< Physical Volume 4C255180-5FDD-4BF8-8CAD-EFA5F1B5C0B8
    |   ----------------------------------------------------
    |   Index:    1
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     5024735232 B (5.0 GB)
    |
    +-> Logical Volume Family 6F8A2C40-860F-411A-B4D0-9BA2380504FB
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         None
        Conversion Status:       NoConversion
        Conversion Direction:    -none-
        Has Encrypted Extents:   No
        Fully Secure:            No
        Passphrase Required:     No
        |
        +-> Logical Volume 29DC7C2D-3D59-4029-AE68-25404CD45D7A
            ---------------------------------------------------
            Disk:                  disk2
            Status:                Online
            Size (Total):          46514094080 B (46.5 GB)
            Conversion Progress:   -none-
            Revertible:            No
            LV Name:               Macintosh HD
            Volume Name:           Macintosh HD
            Content Hint:          Apple_HFS


Всем успешного перехода на Fusion Drive!
Теги:
Хабы:
Всего голосов 12: ↑12 и ↓0+12
Комментарии17

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань