手动将经典 VM 从 VHD 迁移到新的 ARM 托管磁盘 VM

2023-05-16

本部分有助于将现有 Azure VM 从经典部署模型迁移到资源管理器部署模型中的托管磁盘。

计划迁移到托管磁盘

本部分可帮助你针对 VM 和磁盘类型做出最佳决策。

位置

选取 Azure 托管磁盘可用位置。 如果要迁移到高级托管磁盘,还应确保高级存储在计划迁移到的目标区域中可用。

VM 大小

如果要迁移到高级托管磁盘,需要将 VM 的大小更新为该 VM 所在区域中支持高级存储的可用大小。 查看支持高级存储的 VM 大小。 虚拟机大小中列出了 Azure VM 大小规范。 查看适用于高级存储的虚拟机的性能特征并选择最适合工作负荷的 VM 大小。 确保 VM 上有足够的带宽来驱动磁盘通信。

磁盘大小

高级托管磁盘

有 7 种类型的高级托管磁盘可用于 VM,每种磁盘都具有特定的 IOPS 和吞吐量限制。 根据应用程序在容量、性能、可伸缩性和峰值负载方面的需要为 VM 选择高级磁盘类型时,需要考虑这些限制。

高级磁盘类型 P4 P6 P10 P20 P30 P40 P50
磁盘大小 128 GB 512 GB 128 GB 512 GB 1024 GB (1 TB) 2048 GB (2 TB) 4095 GB (4 TB)
每个磁盘的 IOPS 120 240 500 2300 5000 7500 7500
每个磁盘的吞吐量 每秒 25 MB 每秒 50 MB 每秒 100 MB 每秒 150 MB 每秒 200 MB 每秒 250 MB 每秒 250 MB

标准托管磁盘

有 7 种类型的标准托管磁盘可用于 VM。 其中每种磁盘都具有不同的容量,但具有相同的 IOPS 和吞吐量限制。 根据应用程序的容量要求,选择标准托管磁盘的类型。

标准磁盘类型 S4 S6 S10 S20 S30 S40 S50
磁盘大小 30 GB 64 GB 128 GB 512 GB 1024 GB (1 TB) 2048 GB (2TB) 4095 GB (4 TB)
每个磁盘的 IOPS 500 500 500 500 500 500 500
每个磁盘的吞吐量 每秒 60 MB 每秒 60 MB 每秒 60 MB 每秒 60 MB 每秒 60 MB 每秒 60 MB 每秒 60 MB

磁盘缓存策略

高级托管磁盘

默认情况下,所有高级数据磁盘的磁盘缓存策略都是“只读”,所有附加到 VM 的高级操作系统都是“读写”。 为使应用程序的 IO 达到最佳性能,建议使用此配置设置。 对于频繁写入或只写的磁盘(例如 SQL Server 日志文件),禁用磁盘缓存可获得更佳的应用程序性能。

定价

查看托管磁盘定价。 高级托管磁盘的定价与高级非托管磁盘相同。 但标准托管磁盘的定价与标准非托管磁盘不同。

清单

  1. 如果要迁移到高级托管磁盘,请确保它在要迁移到的区域中可用。

  2. 决定要使用的新 VM 系列。 如果要迁移到高级托管磁盘,则应支持高级存储。

  3. 确定要使用的确切 VM 大小,将迁移到的区域应支持此大小。 VM 大小需要足够大以支持所拥有的数据磁盘数。 例如,如果有四个数据磁盘,则 VM 必须至少有两个核心。 此外,还应考虑处理能力、内存和网络带宽需求。

  4. 手边具备当前 VM 详细信息,包括磁盘和对应的 VHD blob 的列表。

让应用程序做好停机准备。 为了执行干净的迁移,必须停止当前系统中的所有处理。 只有这样才能使其处于一致状态,可以将该状态迁移到新的平台。 停机持续时间取决于要迁移的磁盘中的数据量。

迁移 VM

让应用程序做好停机准备。 为了执行干净的迁移,必须停止当前系统中的所有处理。 只有这样才能使其处于一致状态,可以将该状态迁移到新的平台。 停机持续时间取决于要迁移的磁盘中的数据量。

  1. 首先,设置通用参数:

    PowerShell
    $resourceGroupName = 'yourResourceGroupName'
    
    $location = 'your location' 
    
    $virtualNetworkName = 'yourExistingVirtualNetworkName'
    
    $virtualMachineName = 'yourVMName'
    
    $virtualMachineSize = 'Standard_DS3'
    
    $adminUserName = "youradminusername"
    
    $adminPassword = "yourpassword" | ConvertTo-SecureString -AsPlainText -Force
    
    $imageName = 'yourImageName'
    
    $osVhdUri = 'https://storageaccount.blob.core.chinacloudapi.cn/vhdcontainer/osdisk.vhd'
    
    $dataVhdUri = 'https://storageaccount.blob.core.chinacloudapi.cn/vhdcontainer/datadisk1.vhd'
    
    $dataDiskName = 'dataDisk1'
    
  2. 使用经典 VM 中的 VHD 创建托管 OS 磁盘。

    确保已为 $osVhdUri 参数提供 OS VHD 的完整 URI。 此外,根据要迁移到的磁盘类型(高级或标准),输入 -AccountType 作为 PremiumLRS 或 StandardLRS

    PowerShell
    $osDisk = New-AzureRmDisk -DiskName $osDiskName -Disk (New-AzureRmDiskConfig '
    -AccountType PremiumLRS -Location $location -CreateOption Import -SourceUri $osVhdUri) '
    -ResourceGroupName $resourceGroupName
    
  3. 将 OS 磁盘附加到新 VM。

    PowerShell
    $VirtualMachine = New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize
    $VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -ManagedDiskId $osDisk.Id '
    -StorageAccountType PremiumLRS -DiskSizeInGB 128 -CreateOption Attach -Windows
    
  4. 基于数据 VHD 文件创建托管数据磁盘,并将其添加到新 VM。

    PowerShell
    $dataDisk1 = New-AzureRmDisk -DiskName $dataDiskName -Disk (New-AzureRmDiskConfig '
    -AccountType PremiumLRS -Location $location -CreationDataCreateOption Import '
    -SourceUri $dataVhdUri ) -ResourceGroupName $resourceGroupName
    
    $VirtualMachine = Add-AzureRmVMDataDisk -VM $VirtualMachine -Name $dataDiskName '
    -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
    
  5. 通过设置公共 IP、虚拟网络和 NIC 创建新 VM。

    PowerShell
    $publicIp = New-AzureRmPublicIpAddress -Name ($VirtualMachineName.ToLower()+'_ip') '
    -ResourceGroupName $resourceGroupName -Location $location -AllocationMethod Dynamic
    
    $vnet = Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupName
    
    $nic = New-AzureRmNetworkInterface -Name ($VirtualMachineName.ToLower()+'_nic') '
    -ResourceGroupName $resourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id '
    -PublicIpAddressId $publicIp.Id
    
    $VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $nic.Id
    
    New-AzureRmVM -VM $VirtualMachine -ResourceGroupName $resourceGroupName -Location $location
    

Note

本指南可能未涵盖支持应用程序所要执行的其他步骤。

后续步骤

  • 连接到虚拟机。 有关说明,请参阅如何连接并登录到运行 Windows 的 Azure 虚拟机。
立即访问http://market.azure.cn
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手动将经典 VM 从 VHD 迁移到新的 ARM 托管磁盘 VM 的相关文章

  • ARM 9处理器的opencv交叉编译

    我需要为 ARM 9 处理器交叉编译 opencv 我有处理器的工具链 但不知道如何交叉编译 请告诉我为arm板交叉编译的过程 谢谢大家 看这个参考 http www airs com ian configure configure 5 h
  • 如何在 ARM 架构上从 RAM 运行代码

    我正在对 ARM Cortex R4 进行编程 并且有一些二进制文件 我想从 TCRAM 执行它们 只是为了看看性能的提升是否足够好 我知道我必须编写一个函数来将二进制文件复制到 RAM 这可以通过链接器脚本来完成 并且知道二进制文件的大小
  • 如何修改内核DTB文件

    Summary 我目前正在为定制板编译 Linux 内核 内核 模块和 DTB 以及一些定制驱动程序 有时 我会编译内核并意识到 DTB 文件中的兼容性字符串不是自定义驱动程序正在寻找的内容 现在 我可以解决此问题的唯一方法是修改 DTS
  • ARM Neon:如何从 uint8x16_t 转换为 uint8x8x2_t?

    我最近发现了关于vreinterpret q dsttype src类型转换运算符 https stackoverflow com a 43519190 2436175 但是 这似乎不支持所描述的数据类型的转换这个链接 http infoc
  • ARM 汇编分支到寄存器或内存内部的地址

    我想知道在 ARM 汇编中我可以使用哪条指令分支到存储在某个内存地址中的地址或标签 例如 我们可以使用B LABEL来跳转到LABEL 但现在目的地只能在运行时知道 并且它存储在某个已知的内存位置 是否有类似 B 地址 的东西 Thanks
  • 用于 RHEL 的 gdb-multiarch

    我正在尝试寻找方法来运行gdb 多架构RHEL 中的命令 我已经安装了用于 ARM 处理的 QEMU 模拟器 我想安装GDB进行调试 我能够安装GDB 多体系结构在 Ubuntu 中运行命令成功 sudo apt get GDB multi
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • ARM架构中不同处理器模式下如何使用内核堆栈?

    据我了解 每个进程都有一个用户堆栈和内核堆栈 除此之外 ARM 架构中的每种模式都有一个堆栈 所以我想知道不同的堆栈和堆栈指针在 ARM 模式下如何工作 另外 何时会使用与进程关联的内核堆栈 何时会使用与进程关联的内核堆栈 当您进行系统调用
  • ARM 中只有两个操作数的 ADD 或 SUB

    我正在学习ARM汇编语言 我读过 ADD 应该有 3 个操作数 然而 我见过很多案例 现实中只有两种 例如 STR R1 SP 0x20 var 1C LDR R1 a lua 0x1DE4E6 MOVS R0 R4 haystack AD
  • 交叉编译 Qt 4.7 时出现“非法指令”

    我已经在这个问题上苦苦挣扎了一个多星期了 但仍然找不到解决方案 我正在尝试为 ARM 设备交叉编译 Qt 4 7 嵌入式开源版本 构建过程本身可以顺利完成 但生成的二进制文件似乎包含处理器无法理解的指令 构建主机是 i386 上的 Debi
  • 为什么 i2c_smbus 函数不可用? (I2C——嵌入式Linux)

    有很多参考使用i2c smbus 开发嵌入式 Linux 软件时在 I2C 总线上进行通信的函数 什么时候i2c smbus函数如i2c smbus read word data在软件项目中引用了 ARM8 处理器错误 例如 i2c smb
  • ARM 系统调用的接口是什么?它在 Linux 内核中的何处定义?

    我读过有关 Linux 中的系统调用的内容 并且到处都给出了有关 x86 架构的描述 0x80中断和SYSENTER 但我无法追踪 ARM 架构中系统调用的文件和进程 任何人都可以帮忙吗 我知道的几个相关文件是 arch arm kerne
  • AOSP 的“午餐”组合是什么意思?我需要选择什么?

    我是 Android 设备 ROM 开发的新手 无论如何 我现在正在为具有 64 位处理器的中国设备构建 AOSP 我按照 source android com 上的菜单进行操作 当我运行 午餐 命令时 终端显示 午餐菜单 选择一个组合 我
  • 直接在 ARM 目标上调试单声道应用程序

    我最近在 BeagleBone 嵌入式 ARM 设备上安装了 Mono 希望通过 USB 连接 Kinnect 传感器并使用 C Mono 控制它 我想知道 Mono 我正在使用 MonoDevelop 但我想这个问题也适用于 VS 是否允
  • 架构armv7的重复符号

    尝试在我现有的应用程序中使用 Layar SDK 时出现以下错误 我该如何解决这个问题 Ld Users pnawale Library Developer Xcode DerivedData hub afxxzaqisdfliwbzxbi
  • 如何在WinMobile6上启用ARMv6非对齐访问?

    ARMv6 引入了一个很棒的功能 未对齐的内存访问 这使得代码中的某些事情变得更加简单和更快 但微软只在winCE6中提供了API 现在大多数 PDA 都基于 WinMobile6 基于 CE 5 x 默认情况下禁用未对齐访问 我尝试在 C
  • ARM Cortex-M3 启动代码

    我试图了解 STM32 微控制器的 Keil realview v4 附带的初始化代码是如何工作的 具体来说 我试图了解堆栈是如何初始化的 In the 文档 http infocenter arm com help index jsp t
  • 让 TensorFlow 在 ARM Mac 上使用 GPU

    我已经安装了TensorFlow在 M1 上 ARM Mac 根据这些说明 https github com apple tensorflow macos issues 153 一切正常 然而 模型训练正在进行CPU 如何将培训切换到GPU
  • 为什么前向引用 ADR 指令在 Thumb 代码中以偶数偏移进行汇编?

    To bx对于 Thumb 函数 需要设置地址的最低有效位 GNU 作为文档states https sourceware org binutils docs as ARM Opcodes html当地址是从一个生成时这是如何工作的adr伪
  • aarch64 Linux 硬浮点或软浮点

    linux系统有arm64 有arm架构armv8 a 如何知道 Debian 运行的是硬浮动还是软浮动 符合 AAPCS64 GNU GCC for armv8仅提供硬浮动aarch64工具链 这与 armv7 a 的 GCC 不同 后者

随机推荐

  • vscode 中文乱码(解决方法)

    vscode一次自动更新后 xff0c 发现中文乱码了 查看了网上的解答 xff0c 记录一种解决方法 切换右下角任务栏的编码方式 xff0c UFT gt GB2312 或下拉GBK xff0c 如下图 xff1a
  • max_element() 和 min_element()

    找出容器中的最值 vector和数组都可以 一维的数据可以 多维的还没找到方法 xff0c 可能是不行的 完整代码 xff1a include lt iostream gt include lt vector gt include lt a
  • C/C++ 提取字符串中的指定位置(截取字符串、提取字符串)

    版权声明 xff1a 转载需标明该文链接 https blog csdn net zaibeijixing article details 88721195 一 利用C 43 43 自带字符串函数 xff1a int a 61 str fi
  • 树莓派-从入手到使用(一):树莓派入手操作第一步

    新组装的电脑硬盘显卡什么都有 xff0c 把window或linux系统安装在硬盘上就能开机使用了 树莓派没硬盘 xff0c 因此需要加个内存卡当硬盘 xff0c 另外要给这个硬盘上安装系统 xff0c 才能用 本人的是Raspberry
  • jupyter notebook 中运行.py文件

    jupyter notebook页面 xff0c 在需要运行的name py文件目录页面中 xff0c 新建python文件 xff0c 打开 xff0c 在cell中添加如下命令 xff1a run name py 运行该cell即可 根
  • 直方图均衡化及算法步骤

    2019 07 16 xff0c 科学家首次拍摄到一种量子纠缠的照片 量子领域还不懂 xff0c 先不研究 猛一看和今年刚出的黑洞照片倒有几分相似 黑洞照片看起来还是比较清晰地 xff0c 这个是黑白的 xff0c 亮度不均 xff0c 肉
  • 解决mongodb启动报错ERROR: child process failed, exited with error number 14的问题

    在使用mongodb导入数据时 xff0c 数据库无法链接 xff0c 关闭service 后仍然无法启动 可能的原因 xff1a service mongodb restart时启动失败没有正常关闭mongodb引起的 xff0c 比如直
  • 面向对象分析(4):步骤

    面向对象分析通常按照下面的步骤来进行 xff1a xff08 1 xff09 标识对象和类 可以从应用领域开始 xff0c 逐步确定形成整个应用的基础类和对象 这一步需要分析领域中目标系统的责任 xff0c 调查系统的环境 xff0c 从而
  • NTFS for Mac - 免费让 Mac 原生支持NTFS读写

    使用 Mac 电脑的朋友可能都遇过 xff0c 在使用 NTFS 文件格式的移动硬盘或U盘时 xff0c 默认只能以 只读 模式打开 xff0c 也就是说你只能读取复制文件而不能移动 修改 重命名或删除里面的东西 这确实很不便 xff0c
  • C++ 将十六进制字符串转换为二进制字符串

    C 43 43 将十六进制字符串转换为二进制字符串 前言一 源代码 前言 一种简单的方法将十六进制字符串转为二进制字符串 xff0c 不限制十六进制的字节数 一 源代码 传入的十六进制字符串需要转换为大写 xff01 X toupper s
  • python——paramiko详解

    目录 一 SSHClient类 ssh远程连接服务器 connet 远程主机没有本地主机密钥或HostKeys对象时的连接方法 xff0c 需要配置set missing host key policy policy 远程执行命令 在远程服
  • 绿盟网站安全防护服务(vWAF)

    平台 xff1a linux 类型 xff1a 虚拟机镜像 软件包 xff1a basic software devops nsfocus security waf 服务优惠价 按服务商许可协议 云服务器费用 查看费用 立即部署 产品详情
  • 华为服务器操作系统EulerOS V2.0

    平台 xff1a linux 类型 xff1a 虚拟机镜像 软件包 xff1a java 1 8 0 php 5 4 16 python 2 7 5 qt 4 8 5 tomcat 7 0 69 basic software euleros
  • 星环一站式大数据平台-4.6

    平台 xff1a arm 类型 xff1a ARM 模板 软件包 xff1a 星环一站式大数据平台 basic software big data hadoop tdh tos transwarp 大数据 星环科技 星环一站式大数据平台 云
  • 故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序

    有多种原因可导致无法启用或连接到在 Azure 虚拟机 VM 上运行的应用程序 原因包括应用程序未在预期端口上运行或侦听 侦听端口受到阻止 xff0c 或网络规则未将流量正确传递到应用程序 本文说明有条理地找到问题并更正问题 如果在使用 R
  • 文件系统损坏导致虚拟机无法正常启动的问题及解决方法

    简介 计算机的文件系统是一种存储和组织计算机数据的方法 xff0c 它使得对其访问和查找变得容易 xff0c 文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念 xff0c 用户使用文件系统来保存数据不必关心
  • 连接到 Azure (Resource Manager) 上的 SQL Server 虚拟机

    概述 本主题介绍如何连接到运行于 Azure 虚拟机的 SQL Server 实例 它介绍了一些常规连接方案 xff0c 并提供了在 Azure VM 中配置 SQL Server 连接的详细步骤 Note Azure 具有用于创建和处理资
  • 网络安全组(NSG)简介

    韩源 xff0c 资深工程师 xff0c 存储和灾备专家 Azure 网络安全解析 作为公有云最重要环节之一 xff0c 网络安全一直是 Azure 的重中之重 在 Azure 中 xff0c 多种安全技术共同构成了立体的网络保护 xff1
  • gnome manjaro设置无法打开

    本文转载自 xff1a https joshtronic com 2018 04 02 unable to open gnome settings on arch linux after gnome upgrade 我经常会写关于主题的博客
  • 手动将经典 VM 从 VHD 迁移到新的 ARM 托管磁盘 VM

    本部分有助于将现有 Azure VM 从经典部署模型迁移到资源管理器部署模型中的托管磁盘 计划迁移到托管磁盘 本部分可帮助你针对 VM 和磁盘类型做出最佳决策 位置 选取 Azure 托管磁盘可用位置 如果要迁移到高级托管磁盘 xff0c