zoukankan      html  css  js  c++  java
  • 使用 PowerShell 将数据磁盘附加到 Windows VM

    本文介绍如何使用 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

  • 相关阅读:
    什么是同源策略,什么是跨域,如何跨域,Jsonp/CORS跨域
    Scrapy
    爬虫
    Falsk-信号
    python函数中把列表(list)当参数时的"入坑"与"出坑"
    SQLAlchemy基本使用(Flask中)
    列表生成式&生成器表达式
    javascript数据结构——队列
    javascript数据结构——栈
    js数组去重的几种方法
  • 原文地址:https://www.cnblogs.com/zangdalei/p/7988078.html
Copyright © 2011-2022 走看看