本文介绍如何使用 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的更多相关文章

  1. 如何在 Azure 门户中将托管数据磁盘附加到 Windows VM

    本文介绍了如何通过 Azure 门户将新的托管数据磁盘附加到 Windows 虚拟机. 在开始之前,请查看以下提示: 虚拟机的大小决定了可以附加多少个磁盘. 有关详细信息,请参阅虚拟机大小. 对于新磁 ...

  2. 如何使用 Azure PowerShell 在 Azure Marketplace 中查找 Windows VM 映像

    本主题介绍如何使用 Azure PowerShell 在 Azure Marketplace 中查找 VM 映像. 创建 Windows VM 时使用此信息来指定 Marketplace 映像. 确保 ...

  3. 使用 D: 盘作为 Windows VM 上的数据驱动器

    如果应用程序需要使用 D 盘存储数据,请按照以下说明使用其他驱动器号作为临时磁盘. 切勿使用临时磁盘来存储需要保存的数据. 如果调整虚拟机大小或停止(解除分配)虚拟机,这可能会触发将虚拟机放置于新虚拟 ...

  4. 如何从 Windows 虚拟机分离数据磁盘

    当不再需要附加到虚拟机的数据磁盘时,可以轻松地分离它. 这会从虚拟机中删除该磁盘,但不会从存储中删除它. Warning 如果用户分离磁盘,它不会自动删除. 如果订阅了高级存储,则将继续承担该磁盘的存 ...

  5. 使用 PowerShell 管理 Azure 磁盘

    Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...

  6. 更改 Windows VM 的可用性集

    以下步骤说明如何使用 Azure PowerShell 来更改 VM 的可用性集. 只能在创建 VM 时将 VM 添加到可用性集. 如果要更改可用性集,必须将虚拟机删除,并重新创建虚拟机. 使用 Po ...

  7. 如何加密 Windows VM 上的虚拟磁盘

    为了增强虚拟机 (VM) 的安全性以及符合性,可以加密 Azure 中的虚拟磁盘. 磁盘是使用 Azure 密钥保管库中受保护的加密密钥加密的. 可以控制这些加密密钥,以及审核对它们的使用. 本文详细 ...

  8. Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量

    <Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Wi ...

  9. 从专用磁盘创建 Windows VM

    通过使用 Powershell 将专用托管磁盘附加为 OS 磁盘来创建新 VM. 专用磁盘是保留原始 VM 中的用户帐户.应用程序和其他状态数据的现有 VM 中虚拟硬盘 (VHD) 的副本. 使用专用 ...

随机推荐

  1. 一道JS面试题引发的血案

    刚入职新公司,属于公司萌新一枚,一天下午对着屏幕看代码架构时. BI项目组长给我看了一道面试别人的JS面试题. 虽然答对了,但把理由说错了,照样不及格. 话不多说,直接上题: var a = 1; s ...

  2. FineBI学习系列之FineBI的ETL处理(图文详解)

    不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-48.html 目录: 1. ...

  3. Maven install [WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated to org.aspectj:aspectjrt:jar:1.5.4

    一.背景 最近在给项目打包的时候,在控制台老是出现一行警告:[WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated ...

  4. sql server 2008 R2

    SQL SERVER 2008 R2序列号: 数据中心版:PTTFM-X467G-P7RH2-3Q6CG-4DMYB 开 发者 版:MC46H-JQR3C-2JRHY-XYRKY-QWPVM 企    ...

  5. mysql添加用户、修改权限,修改登录权限ip

    1.添加用户 1.1 登录MYSQL: @>mysql -u root -p @>密码 1.2 创建用户: 格式:grant select on 数据库.* to 用户名@登录主机 ide ...

  6. Log4j和Log4j2的区别

    Log4j是Apache的一个开源项目,我们不去考究它的起源时间,但是据我了解,log4j 1已经不再更新了. 下面我就以列举的方式来浅谈log4j和log4j 2的不同之处. 一.配置文件类型 lo ...

  7. sscanf函数详解 & 查找文件字符串

    1. sscanf函数 sscanf() - 从一个字符串中读进与指定格式相符的数据. 1.1 函数原型 int scanf(const char *format, ...); int fscanf( ...

  8. spring@value取不到值的几种情况

    一,spring组件重写构造方法,在构造方法中引用@value为null 由于spring实例化顺序为先执行构造方法,再注入成员变量,所以序为先执行构造方法,再注入成员变量,所以ing实例化顺取值为n ...

  9. LINQ查询操作符 LINQ学习第二篇

    一.投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影.下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataCo ...

  10. Http请求处理流程

    本文结构: 一.HTTP请求处理流程的基础 1.网络分层 因特网TCP/IP分层模型共有五层:应用层.传输层.网络层.网络接口层和物理层.这种分层模型不同于OSI七层参考模型,但是,是实际使用中采用的 ...