Search code examples
azureazure-blob-storageazure-managed-disk

Azure - Create disk from a VHD blob that is larger than 4TB


I know I can create a managed disk from a Blob VHD.

However, my blob VHD is 4TB large (4095GB).

And then the console says:

The source blob's size must be 20 MiB - 4095 GiB.

Now my question is, is there a workaround that I can create the disk from this Blob?

Thank you.


Solution

  • You could try to use azure powershell to create it, refer to this article.

    Sample:

    #Provide the subscription Id where Managed Disks will be created
    $subscriptionId = 'yourSubscriptionId'
    
    #Provide the name of your resource group where Managed Disks will be created. 
    $resourceGroupName ='yourResourceGroupName'
    
    #Provide the name of the Managed Disk
    $diskName = 'yourDiskName'
    
    #Provide the size of the disks in GB. It should be greater than the VHD file size.
    $diskSize = '128'
    
    #Provide the storage type for Managed Disk. PremiumLRS or StandardLRS.
    $storageType = 'PremiumLRS'
    
    #Provide the Azure region (e.g. westus) where Managed Disk will be located.
    #This location should be same as the storage account where VHD file is stored
    #Get all the Azure location using command below:
    #Get-AzureRmLocation
    $location = 'westus'
    
    #Provide the URI of the VHD file (page blob) in a storage account. Please not that this is NOT the SAS URI of the storage container where VHD file is stored. 
    #e.g. https://contosostorageaccount1.blob.core.windows.net/vhds/contosovhd123.vhd
    #Note: VHD file can be deleted as soon as Managed Disk is created.
    $sourceVHDURI = 'https://contosostorageaccount1.blob.core.windows.net/vhds/contosovhd123.vhd'
    
    #Provide the resource Id of the storage account where VHD file is stored.
    #e.g. /subscriptions/6472s1g8-h217-446b-b509-314e17e1efb0/resourceGroups/MDDemo/providers/Microsoft.Storage/storageAccounts/contosostorageaccount
    #This is an optional parameter if you are creating managed disk in the same subscription
    $storageAccountId = '/subscriptions/yourSubscriptionId/resourceGroups/yourResourceGroupName/providers/Microsoft.Storage/storageAccounts/yourStorageAccountName'
    
    #Set the context to the subscription Id where Managed Disk will be created
    Select-AzureRmSubscription -SubscriptionId $SubscriptionId
    
    $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location $location -CreateOption Import -StorageAccountId $storageAccountId -SourceUri $sourceVHDURI
     
    New-AzureRmDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName