Azure

Azure ディスク ストレージのライブ サイズ変更 機能がGAした。ただしデータディスクです。

はじめに

ライブ サイズ変更機能がGAしました。ちょっと試してみたいと思います。

Azure updates | Microsoft Azure
Azure updates | Microsoft Azure

Subscribe to Microsoft Azure today for service updates, all in one place. Check out the new Cloud Pl ...

azure.microsoft.com

サイズ変更

分かりやすいように仮想マシンはWindowsを利用しています。

Azure 内の Windows VM に接続されている仮想ハード ディスクを拡張する - Azure Virtual Machines | Microsoft Learn
Azure 内の Windows VM に接続されている仮想ハード ディスクを拡張する - Azure Virtual Machines | Microsoft Learn

Resource Manager デプロイ モデルで Azure PowerShell を使用して、仮想マシンに接続されている仮想ハード ディスクのサイズを拡張します。

docs.microsoft.com

最初にLiveResize機能を登録します。ポータルからは登録できません。

Azure CLI

az feature register --namespace Microsoft.Compute --name LiveResize

PowerShell

Register-AzProviderFeature -FeatureName "LiveResize" -ProviderNamespace "Microsoft.Compute"

WSLから実行しています。

$ az feature register --namespace Microsoft.Compute --name LiveResize
Once the feature 'LiveResize' is registered, invoking 'az provider register -n Microsoft.Compute' is required to get the change propagated
{
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/providers/Microsoft.Features/providers/Microsoft.Compute/features/LiveResize",
  "name": "Microsoft.Compute/LiveResize",
  "properties": {
    "state": "Registering"
  },
  "type": "Microsoft.Features/providers/features"
}
az disk list \
    --resource-group vm3_group \
    --query '[*].{Name:name,Gb:diskSizeGb,Tier:accountType}' \
    --output table
Name                                           Gb
---------------------------------------------  ----
vm3_OsDisk_1_eff21bdd64854025b942975d2b5c3ea1  127
az disk update \
    --resource-group vm3_group \
    --name vm3_OsDisk_1_eff21bdd64854025b942975d2b5c3ea1 \
    --size-gb 256
(OperationNotAllowed) Change in disk property of OS disk '' is not allowed when VM is running.
Code: OperationNotAllowed
Message: Change in disk property of OS disk '' is not allowed when VM is running.

OS Diskはできないようです・・・

次はデータディスクで試してみます。
事前にディスク管理の画面で確認してみます。

データディスクが128GBです。

ではサイズ変更して256GBにしてみます。

az disk update \
    --resource-group vm3_group \
    --name datadisk1 \
    --size-gb 256

途中経過は表示されません。
サイズによっては時間がかかる可能性もあります。

{
  "burstingEnabled": null,
  "completionPercent": null,
  "creationData": {
    "createOption": "Empty",
    "galleryImageReference": null,
    "imageReference": null,
    "logicalSectorSize": null,
    "securityDataUri": null,
    "sourceResourceId": null,
    "sourceUniqueId": null,
    "sourceUri": null,
    "storageAccountId": null,
    "uploadSizeBytes": null
  },
  "dataAccessAuthMode": null,
  "diskAccessId": null,
  "diskIopsReadOnly": null,
  "diskIopsReadWrite": 1100,
  "diskMBpsReadOnly": null,
  "diskMBpsReadWrite": 125,
  "diskSizeBytes": 274877906944,
  "diskSizeGb": 256,
  "diskState": "Attached",
  "encryption": {
    "diskEncryptionSetId": null,
    "type": "EncryptionAtRestWithPlatformKey"
  },
  "encryptionSettingsCollection": null,
  "extendedLocation": null,
  "hyperVGeneration": null,
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/vm3_group/providers/Microsoft.Compute/disks/datadisk1",
  "location": "westus2",
  "managedBy": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/vm3_group/providers/Microsoft.Compute/virtualMachines/vm3",
  "managedByExtended": null,
  "maxShares": null,
  "name": "datadisk1",
  "networkAccessPolicy": "AllowAll",
  "osType": null,
  "propertyUpdatesInProgress": null,
  "provisioningState": "Succeeded",
  "publicNetworkAccess": "Enabled",
  "purchasePlan": null,
  "resourceGroup": "vm3_group",
  "securityProfile": null,
  "shareInfo": null,
  "sku": {
    "name": "Premium_LRS",
    "tier": "Premium"
  },
  "supportedCapabilities": null,
  "supportsHibernation": null,
  "tags": null,
  "tier": "P15",
  "timeCreated": "2022-07-22T15:43:11.477865+00:00",
  "type": "Microsoft.Compute/disks",
  "uniqueId": "b114cbb2-4b14-4946-9cf6-3881c4742615",
  "zones": [
    "1"
  ]
}

結果が表示されるとともにディスクマネージャーでもサイズが変更されたことを確認できます。

ポータルからはも変更できます。

まとめ

ダウンタイムなしにディスクのサイズが変更できるのはすごく便利だと思います。ただし、OSディスクで行えないことは非常に不便ですね。AWSではお行えます。

Azureの場合には一度、仮想マシンを停止することが必要ですが行えます。早くOSディスクでも行えるようになると良いですね。

-Azure
-