mac インスタンスの EBS ボリュームを拡張してみた

2021.10.29

こんにちは、リサリサです。

mac インスタンスに XCode を入れようとしたら容量が足りなくて EBS ボリュームを拡張する事になったのですが、ちょっとハマったので記事にしてみます。

他のOSの手順はこちらを参照ください。

やってみた

環境:macOS Big-Sur 11.6

$ diskutil list physical external
/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *64.4 GB   disk1
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk1s1
   2:                 Apple_APFS ⁨Container disk2⁩         64.2 GB    disk1s2

GUIから見るとこんな感じ

EBSボリュームサイズの変更

EBSボリュームサイズの変更は、他のOSと変わりません。下記記事の「EBSボリュームサイズの変更」を参照頂ければと思います。

パーティションの拡張

EBS を拡張しても、GUI は変わらず。

$ diskutil list physical external
/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *128.8 GB   disk1
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk1s1
   2:                 Apple_APFS ⁨Container disk2⁩         64.2 GB    disk1s2

disk1 は拡張しています。ですが、disk1 が 128.8 GB に対して、配下の容量が足りていません。64.4 GB の free space があるはずなのですが、表示されていません。このまま拡張しても拡張できませんでした(後述ハマったところ参照)

disk1 の repairDisk をします。

$ sudo diskutil repairDisk disk1
Repairing the partition map might erase disk1s1, proceed? (y/N) y
Started partition map repair on disk1
Checking prerequisites
Checking the partition list
Adjusting partition map to fit whole disk as required
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Checking the EFI system partition's folder content
Checking all HFS data partition loader spaces
Checking booter partitions
Reviewing boot support loaders
Checking Core Storage Physical Volume partitions
The partition map appears to be OK
Finished partition map repair on disk1

$ diskutil list physical external
/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *128.8 GB   disk1
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk1s1
   2:                 Apple_APFS ⁨Container disk2⁩         64.2 GB    disk1s2
                    (free space)                         64.4 GB    -

free space が見えるようになりました。パーティションの拡張をします。

$ sudo diskutil apfs resizeContainer disk1s2 0
Started APFS operation
Aligning grow delta to 64,424,509,440 bytes and targeting a new physical store size of 128,639,262,720 bytes
Determined the maximum size for the targeted physical store of this APFS Container to be 128,638,234,624 bytes
Resizing APFS Container designated by APFS Container Reference disk2
The specific APFS Physical Store being resized is disk1s2
~略~ 
Verifying allocated space
The volume /dev/disk1s2 appears to be OK
Storage system check exit code is 0
Growing APFS Physical Store disk1s2 from 64,214,753,280 to 128,639,262,720 bytes
Modifying partition map
Growing APFS data structures
Finished APFS operation

$ diskutil list physical external
/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *128.8 GB   disk1
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk1s1
   2:                 Apple_APFS ⁨Container disk2⁩         128.6 GB    disk1s2

拡張されました!GUI も更新されました!

ハマったところ

↑でも記載しました通り、そのまま拡張しようとしたら、拡張してるように見えるのに、実際には拡張されませんでした…

$ sudo diskutil apfs resizeContainer disk1s2 0
Started APFS operation
Aligning grow delta to 64,424,509,440 bytes and targeting a new physical store size of 128,639,262,720 bytes
Determined the maximum size for the targeted physical store of this APFS Container to be 128,638,234,624 bytes
Resizing APFS Container designated by APFS Container Reference disk2
~略~
The volume /dev/disk1s2 appears to be OK
Storage system check exit code is 0
Growing APFS Physical Store disk1s2 from 64,214,753,280 to 128,639,262,720 bytes
Modifying partition map
Growing APFS data structures
Finished APFS operation

あれ?おかしいな…と思ってもう一時実行すると、サイズ変更がないのでできませんと言われ…

$ sudo diskutil apfs resizeContainer disk1s2 0
Started APFS operation
Error: -69743: The new size must be different than the existing size

repairDisk したらできるようになりました!

最後に

今回は mac インスタンスをデフォルトの60GiBで立ち上げたら XCode を入れるのに容量が足りなかったので、同じ状態になる人は多いんではないかなと思いました。どなたかのお役に立てれば幸いです。拡張後、無事 XCode も入りました。