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