共用方式為


使用 PowerShell 從快照集建立受控磁碟

此指令碼會從快照集建立受控磁碟。 使用它從 OS 和資料磁碟的快照集還原虛擬機器。 從個別的快照集建立 OS 和資料受控磁碟,再連結受控磁碟以建立新的虛擬機器。 您也可以連結從快照集建立的資料磁碟,以還原現有 VM 的資料磁碟。

如果您沒有 Azure 訂用帳戶,請在開始之前先建立 Azure 免費帳戶

範例指令碼

#Provide the subscription Id
$subscriptionId = 'yourSubscriptionId'

#Provide the name of your resource group
$resourceGroupName ='yourResourceGroupName'

#Provide the name of the snapshot that will be used to create Managed Disks
$snapshotName = 'yourSnapshotName'

#Provide the name of the Managed Disk
$diskName = 'yourManagedDiskName'

#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. Acceptable values are Standard_LRS, Premium_LRS, PremiumV2_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS and StandardSSD_ZRS.
$storageType = 'Premium_LRS'

#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
$zone=1

#Provide the Azure region (e.g. westus) where Managed Disks will be located.
#This location should be same as the snapshot location
#Get all the Azure location using command below:
#Get-AzLocation
$location = 'westus'

#Set the context to the subscription Id where Managed Disk will be created
Select-AzSubscription -SubscriptionId $SubscriptionId

$snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName 

#If you're creating a Premium SSD v2 or an Ultra Disk, add "-Zone $zone" to the end of the command
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id -DiskSizeGB $diskSize
 
New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName

效能影響 - 背景複製程序

當您從快照集建立受控磁碟時,會啟動背景複製程序。 在此程序執行期間,您可以將磁碟連結至 VM,但您會遇到效能影響 (4k 磁碟的讀取會受到影響,512e 磁碟的讀取和寫入同時會受到影響)。 若是 Ultra 磁碟儲存體和進階 SSD v2,您可以使用 Azure CLI 檢查背景複製流程的狀態。 Azure PowerShell 模組目前不支援此功能。

重要

若是 Ultra 磁碟儲存體和進階 SSD v2 以外的磁碟類型,您無法使用下列區段取得背景複製程序的狀態。 其他磁碟類型則一律 100% 報告。

指令碼說明

此指令碼使用下列命令從快照集建立受控磁碟。 下表中的每個命令都會連結至命令特定的文件。

Command 注意
Get-AzSnapshot 取得快照集屬性。
New-AzDiskConfig 建立用於磁碟建立的磁碟組態。 其中包含父代快照集的資源識別碼、與父代快照集位置相同的位置和儲存體類型。
New-AzDisk 使用當作參數傳遞的磁碟組態、磁碟名稱和資源群組名稱來建立磁碟。

下一步

從受控磁碟建立虛擬機器

如需有關 Azure PowerShell 模組的詳細資訊,請參閱 Azure PowerShell 文件

您可以在 Azure Windows VM 文件中找到其他的虛擬機器 PowerShell 指令碼範例。