使用 PowerShell 将数据磁盘附加到 Windows VM

摘要:
本文介绍如何使用PowerShell将新磁盘和现有磁盘附加到Windows虚拟机。如果选择在本地安装并使用PowerShell,则本教程需要AzurePowerShell模块版本3.6或更高版本。如果在本地运行PowerShell,则还需运行Login-AzureRmAccount-EnvironmentNameAzureChinaCloud以创建与Azure的连接。PowerShell复制$rgName='myResourceGroup'$vmName='myVM'$location='ChinaEast2'$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时在其上启用了WinRM和证书,则可以通过远程PowerShell初始化该磁盘。AzurePowerShell复制试用$rgName="myResourceGroup"$vmName="myVM"$location="ChinaEast"$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后续步骤创建快照。

本文介绍如何使用 PowerShell 将新磁盘和现有磁盘附加到 Windows 虚拟机。

在开始之前,请查看以下提示:

如果选择在本地安装并使用 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-CreateOption Empty-DiskSizeGB 128
$dataDisk1 = New-AzureRmDisk-DiskName $dataDiskName-Disk $diskConfig-ResourceGroupName $rgName
$vm = Get-AzureRmVM-Name $vmName-ResourceGroupName $rgName 
$vm = Add-AzureRmVMDataDisk-VM $vm-Name $dataDiskName-CreateOption Attach-ManagedDiskId $dataDisk1.Id-Lun 1
Update-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-CreateOption Empty-DiskSizeGB 128-Zone 1
$dataDisk1 = New-AzureRmDisk-DiskName $dataDiskName-Disk $diskConfig-ResourceGroupName $rgName
$vm = Get-AzureRmVM-Name $vmName-ResourceGroupName $rgName 
$vm = Add-AzureRmVMDataDisk-VM $vm-Name $dataDiskName-CreateOption Attach-ManagedDiskId $dataDisk1.Id-Lun 1
Update-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 ($disk in $disks) {
    $driveLetter = $letters[$count].ToString()
    $disk | 
    Initialize-Disk-PartitionStyle MBR-PassThru |
    New-Partition-UseMaximumSize-DriveLetter $driveLetter |
    Format-Volume-FileSystem NTFS-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-CreateOption Attach-Lun 0-VM $vm-ManagedDiskId $disk.Id
Update-AzureRmVM-VM $vm-ResourceGroupName $rgName

后续步骤

创建快照。立即访问http://market.azure.cn

免责声明:文章转载自《使用 PowerShell 将数据磁盘附加到 Windows VM》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ovs bond【转】Android世界的Swift下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle(安装PLSQL、注册、配置环境变量)

1、PLSQL安装 (1)双击plsqldev1000.exe后点击确定:  (2)选择路径(路径不能带有括号、空格、汉字): (3)下一步:  (4)finish:  (5)close:  (6)桌面生成图标:  (7) 双击图标后点击取消:  (8)进入主界面后要进行注册:  (9)点击注册:  (10)tools下的preferen...

如何用Windows PowerShell替换命令提示符

在Windows 10的“开始”按钮中将PowerShell替换为命令提示符,这不是很好吗?我知道你会有疑问,为什么要这样做?可能会失去了运行DOS命令的能力。好吧,让我解释一下。首先,Windows操作系统中没有DOS这样的东西。有些人错误地将DOS命令提示符称为命令提示符。命令提示符绝对不是DOS提示符。这是一个Windows应用程序,可让您运行我们用...

在Fedora 12下编译和调试RTThread

在Fedora 12下编译和调试RT-Thraed 1.安装编译工具 yum install scons yum install python 安装工具arm-2010q1-202-arm-none-linux-gnueabi.bin,我是安装在/home/lixianjing/CodeSourcery目录下的,后面会引用这个路径。 2.下载RT-Th...

在虚拟中开启Windows 8.1的Hyper-V平台

VM安装windows8开启Hype-V 今天老魏用VM安装了Windows8.1系统,想用此系统来开发一下Windows Phone8,但是要求确实要开启Hyper-V平台技术,本来是没有任何的问题的,因为在物理机上安装只需要在Bios中开启Intel VT-X技术就可以了,但是如果使用虚拟的话,本身虚拟机就占用了Intel VT-X了,所以虚拟机中的w...

Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法

Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法 下载网络上的Adobe flash cs5 精简版(绿色版),Java运行时环境初始化时出现错误,你可能需要重装Flash。 adobe cs 5的java运行时(Runtime)放到windows公共目录下面了。 因为adobe 有很多的产品用到了java Runtime 运行...

Node.js连接RabbitMQ,断线重连,动态绑定routing key

RabbitMQ官方提供的教程https://www.rabbitmq.com/tuto...,是基于回调的。 下面将给出基于Promise式的写法。并且实现动态的队列绑定 初始化配置 const amqp = require('amqplib') // rabbitMQ地址 const {amqpAddrHost} = require('../conf...