本文介绍如何使用 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. Git和Gitlab协同工作

    1.概述 在写这篇博客之前,为了更好的描述整个流程,本人亲自尝试了:从搭建到使用,下面就围绕这个流程来阐述整个过程,目录结构如下所示: Git的安装搭建 Git的常规操作 Gitlab的搭建 Gitl ...

  2. 系统启动时队列自动下单--ServletContextListener

    package com.liying.pear.queue; import javax.servlet.ServletContextEvent; import javax.servlet.Servle ...

  3. Nginx配置资源下载目录

    访问我的博客 之前在网上找 CentOs 的镜像的时候,发现了阿里云的这个镜像源,速度蛮快的.今天也来搭建一个类似的站,使用 nginx 作为资源下载服务器. 图片详情: 安装 Nginx 参考这篇教 ...

  4. jquery的DataTable按列排序

    不管你用SQL查询数据时,是如何排序的,当数据传递给DataTable时,它会按照它自己的规则再进行一次排序,这个规则就是"order" 可以使用以下代码来进行排序 $('#exa ...

  5. go程序性能测量和分析

    性能测量 在很多情况之下,通过分析代码是很难确定某个模块性能好坏的.请看下面的例子,你觉得哪一个函数性能最优? //斐波那契数 package fib import "math" ...

  6. Python web 框架之 Django 基础搭建服务

    1. 需要安装 Python 和 Django 环境,Python 环境的安装我就不在多说了 2. 安装框架 Django Django 安装,推荐先装个 pip吧,easyinstall也可以,然后 ...

  7. Linux的IO模型

    在输入输出系统一文中介绍了系统内核操作IO设备的机制. 我们了解到内核可以直接访问IO设备, 用户进程无法IO设备. 就是说IO操作需要分为两个过程, 内核从IO设备读取数据保存到内核空间, 将数据由 ...

  8. PHP strlen()函数和strpos()函数

    strlen()  函数返回字符串的长度(字符数) 代码:   <?php echo strlen("Hello world!"); ?> 上面的代码将输出:12   ...

  9. iOS开源项目周报0420

    由OpenDigg 出品的iOS开源项目周报第十七期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. YetAno ...

  10. WEB控件没有什么所谓好不好,而是用得好不好

    这几天Insus.NET有写几篇博文,虽然写得没怎么样,但均是Insus.NET现实开发过程中所遇或是所想的一些内容.<没有什么,开发ASP.NET时随便写写,想到什么写什么>http:/ ...