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

в 12:50, , рубрики: Fusion Drive, LVM, mac os x, mavericks, метки: , , ,

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

В статье Переходим на 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!

Автор: Slavon4ever

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js