你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文概述了使用 Azure Migrate:发现和评估工具将本地 MySQL 数据库实例从 VMware、Microsoft Hyper-V 和物理环境迁移到 Azure Database for MySQL 的评估。
概述
使用发现和评估工具的评估提供了数据的时间点快照,测量就绪情况,并估计将本地服务器、数据库和 Web 应用迁移到 Azure 的影响,同时提供有关合适的 Azure SKU 和相关成本的建议。
评估类型
“Azure Migrate:发现和评估”工具支持以下类型的评估:
评估类型 | 详细信息 |
---|---|
Azure VM | 将本地服务器迁移到 Azure 虚拟机的评估。 使用这种评估类型,可对 VMware 环境和 Hyper-V 环境中的本地服务器以及要迁移到 Azure VM 的物理服务器进行评估。 |
Azure 数据库 | 用于将本地 SQL 服务器迁移到 Azure SQL 数据库或 Azure SQL 托管实例或者将本地 MySQL 数据库实例迁移到 Azure Database for MySQL 的评估。 |
Azure 上的 Web 应用 | 用于将本地 Spring Boot 应用迁移到 Azure Spring Apps 或将 ASP.NET/Java Web 应用迁移到 Azure 应用服务的评估。 |
Azure VMware 解决方案 (AVS) | 将本地 VMware VM 迁移到 Azure VMware 解决方案 (AVS) 的评估。 了解详细信息。 |
MySQL 评估 - 概述和大小调整条件
在本地环境中发现 MySQL 实例及其属性后,MySQL 评估会提供有关实例的以下信息:
- 评估迁移到 Azure Database for MySQL 的就绪情况。
- 有关在 Azure Database for MySQL 上托管 MySQL 工作负载的合适计算、存储和 IO SKU 的建议,以及关联的成本。
MySQL 评估针对基于性能的大小调整标准执行,根据收集的 MySQL 实例性能数据提出建议,包括 CPU 利用率、内存利用率、IOPS、IO 计数、连接总数和读写比率。
注释
评估仅包括处于联机状态的 MySQL 数据库实例。 对于具有任何其他状态的实例,评估忽略就绪情况、大小调整和成本计算。 要评估此类实例,请更改实例的状态,并在以后重新计算评估。
评估本地 MySQL 实例
可以使用轻型 Azure Migrate 设备收集的配置和利用率数据来评估本地 MySQL 实例,这些设备可发现实例和数据库并将数据发送到 Azure Migrate 服务。
- 部署 Azure Migrate 设备以发现 MySQL 实例:请参阅此教程以部署 Azure Migrate 设备并发现要评估的 MySQL 实例。
- 创建 MySQL 评估:请参阅此教程以创建新的评估并查看报告。
用于创建和自定义 MySQL 评估的属性
Azure Database for MySQL 评估属性包括:
目标和定价设置
设置 | 详细信息 |
---|---|
目标位置 | 要迁移到的 Azure 区域。 Azure Database for MySQL 配置和成本建议基于你指定的位置。 |
目标和定价设置环境类型 | MySQL 部署的环境应用适用于生产或开发/测试的 Azure Database for MySQL 配置和成本建议。 |
许可计划 | 已注册的 Azure 产品/服务。 目前,该字段默认情况下为“即用即付”,即提供零售 Azure 价格。 |
货币 | 帐户的计费货币。 |
节省选项 | 指定你希望评估考虑的预留容量节省选项,以优化 Azure 计算成本。 Azure 预留(一年或三年预留)是适合最稳定运行的资源的良好选择。 选择“无”时,Azure 计算成本基于即付即用费率或基于实际使用情况。 需要在套餐/许可计划中选择即用即付才能使用预留实例。 选择“无”以外的任何节省选项时,“折扣(%)”设置不适用。 每月成本估算值的计算方式是将 744 小时乘以建议的 SKU 的每小时价格。 |
折扣 (%) | 基于 Azure 产品/服务获得的任何特定于订阅的折扣。 默认设置是 0%。 |
评估条件
设置 | 详细信息 |
---|---|
调整大小标准 | 默认情况下设置为“基于性能”,这意味着 Azure Migrate 收集与 MySQL 实例相关的性能指标,以推荐最佳大小的 Azure Database for MySQL 实例配置。 |
性能历史记录 | 指示想要基于其进行评估的数据持续时间(默认为一天)。 |
百分位使用率 | 指示要用于性能样本的百分位值(默认值为第 95 百分位)。 |
舒适因子 | 指示要在评估过程中使用的缓冲区。 此帐户用于解决季节性使用情况、短期性能历史记录,以及未来使用量可能会增加等问题。 |
Azure DB for MySQL 灵活服务器调整大小
设置 | 详细信息 |
---|---|
服务层级 | 选择最合适的服务层级选项来满足迁移到 Azure Database for MySQL 的业务需求。 默认情况下,选择所有三个服务层级。 根据评估报告,我们建议根据环境类型和收集的性能数据为服务器提供最适合的服务层级。 - 如果想要专为需要平衡计算和内存以及可缩放 I/O 吞吐量的业务工作负载设计的 Azure Database for MySQL 配置,请选择“常规用途”。 - 如果想要专为高性能数据库工作负载(需要内存中性能来实现更快的事务处理和更高并发性)设计的 Azure Database for MySQL 配置,请选择“业务关键”。 |
MySQL 实例的性能数据计算
设备为计算设置收集以下性能数据:
- 设备收集实时样本点。 对于 MySQL 实例,它每隔 30 秒收集一个样本点。
- 设备在 10 分钟内聚合每 30 秒收集的示例数据点。 为了创建数据点,设备会从所有样本中选择峰值。 它将每个计数器的最大值和平均值发送到 Azure。
- Azure Migrate 存储上个月的所有 10 分钟数据点。
- 创建评估时,Azure Migrate 会标识用于正确调整大小的相应数据点。 根据性能历史记录和百分位使用率的百分位值进行识别。
- 例如,如果性能历史记录跨一周且利用率为第 95 个百分位数,则评估将对上周的 10 分钟采样点进行排序。 按升序排序,并选取第 95 百分位值以合理调整大小。
- 第 95 百分位值确保你忽略任何离群值,如果选取第 99 百分位,则可能包括这些离群值。
- 如果希望选择该期间内的峰值使用率,并且不希望错过任何离群值,请为百分位使用率选择第 99 百分位。
- 此值与舒适因子相乘,就得到了设备收集的这些指标的有效性能使用率数据:
- CPU 使用率 (%)
- 内存使用率 (%)
- IOPS 和 IO 计数
- 与实例的连接总数
- 读写比率
计算就绪性
通过源实例和目标实例之间的各种功能兼容性检查来确定将 MySQL 实例迁移到 Azure Database for MySQL 的就绪情况。 这些检查包括:
- 支持的版本、存储引擎、插件、配置或参数值、用户权限和特权。
- 支持的最大存储大小、vCore、内存、IOPS、DB 缓冲池大小、连接、表空间数和大小。
- 安全设置等。
然后,实例标记为:
- 就绪:如果源和目标 MySQL 实例之间未发现主要兼容性问题。
- 就绪条件:如果存在非关键兼容性问题,例如降级或不受支持的功能,则不会阻止迁移到 Azure Database for MySQL。 Azure Migrate 显示迁移警告以及影响详细信息和建议的修正指导。
- 未就绪:如果存在可能会阻止迁移到 Azure Database for MySQL 的任何兼容性问题。 Azure Migrate 显示迁移问题以及影响详细信息和建议的修正指导。
- 未知:如果发现仍在进行中,或者源实例中存在任何发现问题。
计算调整大小
评估确定就绪情况后,对于处于“就绪”或“就绪(有条件)”状态的每个服务器,Azure Migrate 使用性能数据来计算可满足或超过本地 MySQL 性能的特定 Azure Database for MySQL 服务层级和配置(SKU 大小)。
计算大小调整
在发现过程中,Azure Migrate 会收集 MySQL 实例配置和性能数据,其中包括:
- vCore(分配的)和 CPU 使用率 (%):MySQL 实例的 CPU 使用率是服务器上的 MySQL 实例使用的已分配 CPU 百分比。
- 内存(分配的)和内存使用率 (%):分配给 MySQL 实例的内存量及其使用率百分比。
- IOPS:通过为每个实例添加读取和写入 IOPS 来计算。
- 与 MySQL 实例建立的连接总数。
- 读写比率:用于确定工作负荷是内存密集型还是 CPU 密集型,这反过来又有助于确定适当的服务层级。
评估将聚合所有配置和性能数据,并尝试在各种 Azure Database for MySQL 服务层级和配置中找到最佳匹配项,选择可匹配或超过 MySQL 实例性能要求的配置,并优化成本。
存储大小调整
Azure Migrate 会计算 MySQL 实例使用的磁盘空间总量(包括数据库文件、临时文件、事务日志和 MySQL 服务器日志),并建议在 Azure Database for MySQL 中预配的推荐存储。 对于“可突发”和“常规用途”服务层级,存储范围从最小 20 GiB 到最大 16 TiB,而对于“业务关键”服务层级,存储支持扩展到 32 TiB。 在所有服务层级中,存储按 1 GiB 增量缩放,并且可在创建服务器后纵向扩展(纵向缩减)。
IOPS 大小调整
Azure Migrate 建议使用 Azure Database for MySQL 中的自动缩放 IOPS 功能,该功能使 MySQL 实例能够根据工作负载需求,自动无缝地缩放数据库实例的性能 (IO),并且不受所选存储大小的限制。 使用自动缩放 IOPS 时,只需为服务器使用的 IO 付费,无需为未充分利用的资源预配和支付费用,从而节省时间和金钱。
置信度分级
每个 MySQL 评估都与置信度分级相关联。 分级范围从一星(最低)到五星(最高)。 置信度分级可帮助评估 Azure Migrate 所提供的大小建议的可靠性。
该分级基于计算评估所需的数据点的可用性。
对于基于性能的大小调整,评估将收集所有 MySQL 实例和数据库的性能数据,其中包括:
- CPU 使用率 (%)
- 内存使用率 (%)
- IOPS
- 与 MySQL 实例建立的连接数
- 读写比率
如果其中任一使用率数值不可用,则大小建议可能不可靠。 下表显示了评估置信度分级,具体取决于可用数据点的百分比:
数据点可用性 置信度分级 0%-20% 一星 21%-40% 两星 41%-60% 三星 61%-80% 四星 81%-100% 五星
低置信度分级
以下列出了评估可能获得低置信度分级的一些原因:
- 在创建评估的过程中,没有对环境进行分析。 例如,如果在创建评估时性能持续时间设置为一天,那么开始发现后必须等待至少一天,才能收集到所有的数据点。
- 该评估无法在评估期内收集部分或所有服务器的性能数据。
请重新计算评估以反映置信度分级的最新更改。
- 某些数据库实例是在计算评估期间创建的。 例如,你针对上个月的性能历史记录创建了评估,但有些实例是在一周前刚刚创建的。 在这种情况下,整个评估过程中将无法使用新服务器的性能数据,而且置信度分级会较低。
高置信度分级
下面是评估可能具有高置信度分级的几个原因:
- 服务器在评估期间处于开机状态。
- 允许端口 3306 上的出站连接。
- 如果 Azure Migrate 中 MySQL 代理的 Azure Migrate 连接状态为“已连接”,请检查上一个检测信号。
- “已发现的 MySQL 实例”部分中所有 MySQL 实例的 Azure Migrate 连接状态为“已连接”。
请重新计算评估以反映置信度分级的最新更改。
注释
由于 MySQL 评估是基于性能的评估,因此,如果任何评估的置信度分级少于五星,建议等待至少一天,以便设备对环境进行分析,然后重新计算评估。 否则,基于性能的调整大小可能不可靠。
计算每月成本
大小调整建议完成后,MySQL 评估将使用内部定价 API 计算建议的 Azure Database for MySQL 配置的计算、存储和 IO 成本。 它会聚合所有实例的这些成本以确定每月总成本。
要计算 Azure Database for MySQL 配置的计算、存储和 IO 成本,评估会考虑以下评估属性:
- 许可计划
- 货币
- 节省选项
- 折扣 (%)
- Azure 目标位置