zoukankan      html  css  js  c++  java
  • 在 Azure 中创建通用 VM 的托管映像

    可以从在存储帐户中存储为托管磁盘或非托管磁盘的通用 VM 中创建托管映像资源。 然后可以使用该映像创建多个 VM。

    使用 Sysprep 通用化 Windows VM

    Sysprep 将删除所有个人帐户信息及其他某些数据,并准备好要用作映像的计算机。 有关 Sysprep 的详细信息,请参阅如何使用 Sysprep:简介

    确保 Sysprep 支持计算机上运行的服务器角色。 有关详细信息,请参阅 Sysprep Support for Server Roles

    Important

    如果在首次将 VHD 上传到 Azure 之前运行 Sysprep,请确保先准备好 VM,然后再运行 Sysprep。

    1. 登录到 Windows 虚拟机。
    2. 以管理员身份打开“命令提示符”窗口。 将目录切换到 %windir%system32sysprep,然后运行 sysprep.exe
    3. 在“系统准备工具”对话框中,选择“进入系统全新体验(OOBE)”,确保已选中“通用化”复选框。
    4. 在“关机选项”中选择“关机”。
    5. 单击 “确定”。

      启动 Sysprep

    6. 在 Sysprep 完成时,它会关闭虚拟机。 请勿重启 VM。

    在门户中创建托管映像

    1. 打开 门户
    2. 在左侧菜单中,单击“虚拟机”,然后从列表中选择 VM。
    3. 在 VM 页的上部菜单中,单击“捕获”。
    4. 在“名称”中,键入想要用于映像的名称。
    5. 在“资源组”中,选择“新建”或键入名称,或选择“使用现有”并从下拉列表中选择要使用的资源组。
    6. 如果想要在创建映像后删除源 VM,选择“创建映像后自动删除此虚拟机”。
    7. 完成后,单击“创建”。
    8. 创建映像后,在资源组的资源列表中,你会看到它作为“映像”资源而出现。

    使用 PowerShell 创建 VM 映像

    直接从 VM 创建映像可确保映像中包含与 VM 关联的所有磁盘,包括 OS 磁盘和任何数据磁盘。 本示例演示如何从使用托管磁盘的 VM 创建托管映像。

    在开始之前,请确保有最新版本的 AzureRM.Compute PowerShell 模块。 运行以下命令来安装该模块。

    PowerShell
    Install-Module AzureRM.Compute -RequiredVersion 2.6.0
    

    有关详细信息,请参阅 Azure PowerShell 版本控制

    1. 创建一些变量。powershell $vmName = "myVM" $rgName = "myResourceGroup" $location = "ChinaEast" $imageName = "myImage"
    2. 确保 VM 已解除分配。

      PowerShell
      Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
      
    3. 将虚拟机的状态设置为“通用化”。

      PowerShell
      Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized
      
    4. 获取虚拟机。

      PowerShell
      $vm = Get-AzureRmVM -Name $vmName -ResourceGroupName $rgName
      
    5. 创建映像配置。

      PowerShell
      $image = New-AzureRmImageConfig -Location $location -SourceVirtualMachineId $vm.ID 
      
    6. 创建映像。

      PowerShell
      New-AzureRmImage -Image $image -ImageName $imageName -ResourceGroupName $rgName
      

      使用 PowerShell 从托管磁盘创建映像

    如果你只想创建 OS 磁盘的映像,还可通过将托管磁盘 ID 指定为 OS 磁盘来创建映像。

    1. 创建一些变量。

      PowerShell
      $vmName = "myVM"
      $rgName = "myResourceGroup"
      $location = "ChinaEast"
      $snapshotName = "mySnapshot"
      $imageName = "myImage"
      
    2. 获取 VM。

      PowerShell
      $vm = Get-AzureRmVm -Name myVM -ResourceGroupName $rgName
      
    3. 获取托管磁盘的 ID。

      PowerShell
      $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
      
    4. 创建映像配置。

      Azure PowerShell
      $imageConfig = New-AzureRmImageConfig -Location $location
      $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
      
    5. 创建映像。

      PowerShell
      New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
      

    使用 PowerShell 从快照创建映像

    可以从通用 VM 的快照创建托管映像。

    1. 创建一些变量。

      PowerShell
      $rgName = "myResourceGroup"
      $location = "ChinaEast"
      $snapshotName = "mySnapshot"
      $imageName = "myImage"
      
    2. 获取快照。

      PowerShell
      $snapshot = Get-AzureRmSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
      
    3. 创建映像配置。

      PowerShell
      $imageConfig = New-AzureRmImageConfig -Location $location
      $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
      
    4. 创建映像。

      PowerShell
      New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
      

    从存储帐户中的 VHD 创建映像

    从存储帐户中的通用 OS VHD 创建托管映像。 需要存储帐户中 VHD 的 URI,其格式为 https://mystorageaccount.blob.core.chinacloudapi.cn/container/vhd_filename.vhd。 在本示例中,使用的 VHD 位于名为 vhdcontainer 的容器中的 mystorageaccount 中,且 VHD 文件名为 osdisk.vhd。

    1. 首先,设置公共参数:

      PowerShell
      $vmName = "myVM"
      $rgName = "myResourceGroup"
      $location = "ChinaEast"
      $imageName = "myImage"
      $osVhdUri = "https://mystorageaccount.blob.core.chinacloudapi.cn/vhdcontainer/osdisk.vhd"
      
    2. 停止解除分配 VM。

      PowerShell
      Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
      
    3. 将 VM 标记为通用。

      PowerShell
      Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized 
      
    4. 使用通用 OS VHD 创建映像。

      PowerShell
      $imageConfig = New-AzureRmImageConfig -Location $location
      $imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri
      $image = New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
      

    后续步骤

  • 相关阅读:
    快速排序
    fedora 配置
    while与do while
    switch选择结构
    if选择结构
    java有参
    java猜拳
    java类的无参方法
    java类与对象
    java数组
  • 原文地址:https://www.cnblogs.com/zangdalei/p/7942039.html
Copyright © 2011-2022 走看看