使用 PowerShell 將資料磁碟附加到 Windows VM

weixin_34253539發表於2017-12-05

本文介紹如何使用 PowerShell 將新磁碟和現有磁碟附加到 Windows 虛擬機器。

在開始之前,請檢視以下提示:

虛擬機器的大小決定了可以附加多少個磁碟。 有關詳細資訊,請參閱虛擬機器大小

若要使用高階儲存,需要支援高階儲存的 VM 大小,如 DS 系列或 GS 系列虛擬機器。 有關詳細資訊,請參閱高階儲存:適用於 Azure 虛擬機器工作負荷的高效能儲存

如果選擇在本地安裝並使用 PowerShell,則本教程需要 Azure PowerShell 模組版本 3.6 或更高版本。 執行Get-Module -ListAvailable AzureRM即可查詢版本。 如果需要進行升級,請參閱Install Azure PowerShell module(安裝 Azure PowerShell 模組)。 如果在本地執行 PowerShell,則還需執行Login-AzureRmAccount -EnvironmentName AzureChinaCloud以建立與 Azure 的連線。

將空資料磁碟新增到虛擬機器

此示例演示瞭如何將空資料磁碟新增到現有的虛擬機器。

使用託管磁碟

PowerShell複製

$rgName='myResourceGroup'$vmName='myVM'$location='China North'$storageType='PremiumLRS'$dataDiskName=$vmName+'_datadisk1'$diskConfig=New-AzureRmDiskConfig-AccountType$storageType-Location$location-CreateOptionEmpty-DiskSizeGB128$dataDisk1=New-AzureRmDisk-DiskName$dataDiskName-Disk$diskConfig-ResourceGroupName$rgName$vm=Get-AzureRmVM-Name$vmName-ResourceGroupName$rgName$vm=Add-AzureRmVMDataDisk-VM$vm-Name$dataDiskName-CreateOptionAttach-ManagedDiskId$dataDisk1.Id-Lun1Update-AzureRmVM-VM$vm-ResourceGroupName$rgName

在可用性區域中使用託管磁碟

若要在可用性區域中建立磁碟,請將New-AzureRmDiskConfig與-Zone引數一起使用。 以下示例在區域1中建立一個磁碟。

PowerShell複製

$rgName='myResourceGroup'$vmName='myVM'$location='China East 2'$storageType='PremiumLRS'$dataDiskName=$vmName+'_datadisk1'$diskConfig=New-AzureRmDiskConfig-AccountType$storageType-Location$location-CreateOptionEmpty-DiskSizeGB128-Zone1$dataDisk1=New-AzureRmDisk-DiskName$dataDiskName-Disk$diskConfig-ResourceGroupName$rgName$vm=Get-AzureRmVM-Name$vmName-ResourceGroupName$rgName$vm=Add-AzureRmVMDataDisk-VM$vm-Name$dataDiskName-CreateOptionAttach-ManagedDiskId$dataDisk1.Id-Lun1Update-AzureRmVM-VM$vm-ResourceGroupName$rgName

初始化磁碟

新增空磁碟後,需要對其進行初始化。 如果要初始化磁碟,可以登入到 VM,並使用磁碟管理進行初始化。 如果在建立 VM 時在其上啟用了 WinRM 和證書,則可以通過遠端 PowerShell 初始化該磁碟。 還可以使用自定義指令碼擴充套件:

PowerShell複製

$location="location-name"$scriptName="script-name"$fileName="script-file-name"Set-AzureRmVMCustomScriptExtension-ResourceGroupName$rgName-Location$locName-VMName$vmName-Name$scriptName-TypeHandlerVersion"1.4"-StorageAccountName"mystore1"-StorageAccountKey"primary-key"-FileName$fileName-ContainerName"scripts"

指令碼檔案可以包含類似如下所示程式碼初始化磁碟:

PowerShell複製

$disks=Get-Disk| Where partitionstyle-eq'raw'| sort number$letters=70..89|ForEach-Object{ [char]$_}$count=0$labels="data1","data2"foreach($diskin$disks) {$driveLetter=$letters[$count].ToString()$disk|Initialize-Disk-PartitionStyleMBR-PassThru|New-Partition-UseMaximumSize-DriveLetter$driveLetter|Format-Volume-FileSystemNTFS-NewFileSystemLabel$labels[$count]-Confirm:$false-Force$count++}

將現有資料磁碟附加到 VM

可以將現有託管磁碟作為資料磁碟附加到 VM。

Azure PowerShell複製試用

$rgName="myResourceGroup"$vmName="myVM"$location="China East"$dataDiskName="myDisk"$disk=Get-AzureRmDisk-ResourceGroupName$rgName-DiskName$dataDiskName$vm=Get-AzureRmVM-Name$vmName-ResourceGroupName$rgName$vm=Add-AzureRmVMDataDisk-CreateOptionAttach-Lun0-VM$vm-ManagedDiskId$disk.IdUpdate-AzureRmVM-VM$vm-ResourceGroupName$rgName

後續步驟

建立快照。立即訪問http://market.azure.cn

相關文章