Azure Migrate 发现和评估工具使用轻型 Azure Migrate 设备 来发现环境中运行的服务器,并将服务器配置和性能元数据发送到 Azure。
本文提供有关 Azure Migrate 设备发现的元数据的详细信息。 此元数据可帮助你评估迁移到 Azure 的服务器准备情况、适当大小的服务器和计划成本。 Azure 不会在任何许可证合规性审核中使用此数据。
设备从 VMware 环境中运行的服务器收集有关配置、性能、已安装的应用程序、角色和功能(软件清单)的数据。 如果启用了无代理依赖项分析,它还会收集依赖项数据。
下面是设备收集并发送到 Azure 的服务器元数据的完整列表:
数据 | 计数器 |
---|---|
服务器详细信息 | |
服务器 ID | vm.Config.InstanceUuid |
服务器名称 | vm.Config.Name |
vCenter Server ID | VMwareClient.Instance.Uuid |
服务器说明 | vm.Summary.Config.Annotation |
许可证产品名称 | vm.Client.ServiceContent.About.LicenseProductName |
操作系统类型 | vm.SummaryConfig.GuestFullName |
启动类型 | vm.Config.Firmware |
内核数 | vm.Config.Hardware.NumCPU |
内存 (MB) | vm.Config.Hardware.MemoryMB |
磁盘数目 | vm.Config.Hardware.Device.ToList().FindAll(x => is VirtualDisk).count |
磁盘大小列表 | vm.Config.Hardware.Device.ToList().FindAll(x => is VirtualDisk) |
网络适配器列表 | vm.Config.Hardware.Device.ToList().FindAll(x => is VirtualEthernet).count |
CPU 使用率 | cpu.usage.average |
内存利用率 | mem.usage.average |
处理器型号/名称 | vm.Config.Hardware.CpuModel |
处理器中的插槽数量 | vm.Config.Hardware.NumCpuPkgs |
每个磁盘的详细信息 | |
磁盘密钥值 | disk.Key |
磁盘单位号 | disk.UnitNumber |
磁盘控制器密钥值 | disk.ControllerKey.Value |
预配量 (GB) | virtualDisk.DeviceInfo.Summary |
磁盘名称 | 使用 disk.UnitNumber 、、 disk.Key 生成的值 disk.ControllerKey.VAlue |
每秒读取操作数 | virtualDisk.numberReadAveraged.average |
每秒写入操作数 | virtualDisk.numberWriteAveraged.average |
读取吞吐量(MB/秒) | virtualDisk.read.average |
写入吞吐量(MB/秒) | virtualDisk.write.average |
Per-NIC 详细信息 | |
网络适配器名称 | nic.Key |
MAC 地址 | ((VirtualEthernetCard)nic).MacAddress |
IPv4 地址 | vm.Guest.Net |
IPv6 地址 | vm.Guest.Net |
读取吞吐量(MB/秒) | net.received.average |
写入吞吐量(MB/秒) | net.transmitted.average |
库存路径详细信息 | |
名称 | container.GetType().Name |
子对象类型 | container.ChildType |
引用详细信息 | container.MoRef |
父级详细信息 | Container.Parent |
每个服务器的文件夹详细信息 | ((Folder)container).ChildEntity.Type |
每个服务器的数据中心详细信息 | ((Datacenter)container).VmFolder |
每个主机文件夹的数据中心详细信息 | ((Datacenter)container).HostFolder |
每个主机的群集详细信息 | ((ClusterComputeResource)container).Host |
每个服务器的主机详细信息 | ((HostSystem)container).VM |
下面是设备为在 VMware 上运行的服务器收集并发送到 Azure 的性能数据:
数据 | 计数器 | 评估影响 |
---|---|---|
CPU 使用率 | cpu.usage.average |
建议的服务器大小/成本 |
内存利用率 | mem.usage.average |
建议的服务器大小/成本 |
磁盘读取吞吐量(MB/秒) | virtualDisk.read.average |
计算磁盘大小、存储成本和服务器大小 |
磁盘写入吞吐量(MB/秒) | virtualDisk.write.average |
计算磁盘大小、存储成本和服务器大小 |
每秒的磁盘读取操作次数 | virtualDisk.numberReadAveraged.average |
计算磁盘大小、存储成本和服务器大小 |
每秒的磁盘写入操作次数 | virtualDisk.numberWriteAveraged.average |
计算磁盘大小、存储成本和服务器大小 |
NIC 读取吞吐量(MB/秒) | net.received.average |
计算服务器大小 |
NIC 写入吞吐量(MB/秒) | net.transmitted.average |
计算服务器大小 |
设备从 Hyper-V 环境中运行的服务器收集有关配置、性能、已安装的应用程序、角色和功能(软件清单)的数据。 如果启用了无代理依赖项分析,它还会收集依赖项数据。
下面是设备收集并发送到 Azure 的服务器元数据的完整列表:
数据 | WMI 类 | WMI 类属性 |
---|---|---|
服务器详细信息 | ||
BIOS 的序列号 | Msvm_BIOSElement |
BIOSSerialNumber |
服务器类型(第 1 代或第 2 代) | Msvm_VirtualSystemSettingData |
VirtualSystemSubType |
服务器显示名称 | Msvm_VirtualSystemSettingData |
ElementName |
服务器版本 | Msvm_ProcessorSettingData |
VirtualQuantity |
内存(字节) | Msvm_MemorySettingData |
VirtualQuantity |
服务器可以使用的最大内存 | Msvm_MemorySettingData |
Limit |
已启用动态内存 | Msvm_MemorySettingData |
DynamicMemoryEnabled |
操作系统名称/版本/FQDN | Msvm_KvpExchangeComponent |
GuestIntrinsicExchangeItems Name Data |
服务器电源状态 | Msvm_ComputerSystem |
EnabledState |
每个磁盘的详细信息 | ||
磁盘标识符 | Msvm_VirtualHardDiskSettingData |
VirtualDiskId |
虚拟硬盘类型 | Msvm_VirtualHardDiskSettingData |
Type |
虚拟硬盘大小 | Msvm_VirtualHardDiskSettingData |
MaxInternalSize |
虚拟硬盘父级 | Msvm_VirtualHardDiskSettingData |
ParentPath |
Per-NIC 详细信息 | ||
IP 地址(综合 NIC) | Msvm_GuestNetworkAdapterConfiguration |
IPAddresses |
已启用 DHCP(综合 NIC) | Msvm_GuestNetworkAdapterConfiguration |
DHCPEnabled |
NIC ID(综合 NIC) | Msvm_SyntheticEthernetPortSettingData |
InstanceID |
NIC MAC 地址(综合 NIC) | Msvm_SyntheticEthernetPortSettingData |
Address |
NIC ID(旧 NIC) | MsvmEmulatedEthernetPortSetting Data |
InstanceID |
NIC MAC ID(旧 NIC) | MsvmEmulatedEthernetPortSetting Data |
Address |
下面是设备收集并发送到 Azure 的服务器性能数据:
性能计数器类 | 计数器 | 评估影响 |
---|---|---|
Hyper-V 虚拟机监控程序虚拟处理器 | % 来宾运行时间 | 建议的服务器大小/成本 |
Hyper-V 动态内存服务器 | 当前压力 (%) 来宾可见物理内存 (MB) |
建议的服务器大小/成本 |
Hyper-V 虚拟存储设备 | 读取的字节数/秒 | 计算磁盘大小、存储成本和服务器大小 |
Hyper-V 虚拟存储设备 | 写入的字节数/秒 | 计算磁盘大小、存储成本和服务器大小 |
Hyper-V 虚拟网络适配器 | 接收的字节数/秒 | 计算服务器大小 |
Hyper-V 虚拟网络适配器 | 发送的字节数/秒 | 计算服务器大小 |
- CPU 使用率是附加到服务器的所有虚拟处理器的所有使用情况之和。
- 内存使用率为(当前压力 * 来宾可见物理内存)/100。
- 从列出的 Hyper-V 性能计数器中可收集磁盘和网络利用率值。
设备从物理服务器或在其他云上运行的服务器(如 AWS 或 GCP)收集有关配置、性能、已安装的应用程序、角色和功能(软件清单)的数据。 如果启用了无代理 依赖项分析 ,它还会收集依赖项数据。
下面是设备收集并发送到 Azure 的 Windows 服务器元数据的完整列表:
数据 | WMI 类 | WMI 类属性 |
---|---|---|
完全限定域名 (FQDN) | Win32_ComputerSystem |
Domain 、Name 、PartOfDomain |
处理器核心计数 | Win32_PRocessor |
NumberOfCores |
分配的内存 | Win32_ComputerSystem |
TotalPhysicalMemory |
BIOS 序列号 | Win32_ComputerSystemProduct |
IdentifyingNumber |
BIOS GUID | Win32_ComputerSystemProduct |
UUID |
启动类型 | Win32_DiskPartition |
对于 EFI/BIOS,检查是否存在 Type = GPT:System 的分区 |
OS 名称 | Win32_OperatingSystem |
Caption |
OS 版本 | Win32_OperatingSystem |
Version |
OS 体系结构 | Win32_OperatingSystem |
OSArchitecture |
磁盘计数 | Win32_DiskDrive |
Model 、Size 、DeviceID 、MediaType 、Name |
磁盘大小 | Win32_DiskDrive |
Size |
NIC 列表 | Win32_NetworkAdapterConfiguration |
Description 、Index |
NIC IP 地址 | Win32_NetworkAdapterConfiguration |
IPAddress |
NIC MAC 地址 | Win32_NetworkAdapterConfiguration |
MACAddress |
下面是设备收集和发送到 Azure 的 Windows 服务器性能数据:
数据 | WMI 类 | WMI 类属性 |
---|---|---|
CPU 使用率 | Win32_PerfFormattedData_PerfOS_Processor |
PercentIdleTime |
内存使用率 | Win32_PerfFormattedData_PerfOS_Memory |
AvailableMBytes |
NIC 计数 | Win32_PerfFormattedData_Tcpip_NetworkInterface |
网络设备计数 |
每 NIC 接收的数据 | Win32_PerfFormattedData_Tcpip_NetworkInterface |
BytesReceivedPerSec |
每 NIC 传输的数据 | BWin32_PerfFormattedData_Tcpip_NetworkInterface |
BytesSentPersec |
磁盘计数 | BWin32_PerfFormattedData_PerfDisk_PhysicalDisk |
磁盘计数 |
磁盘详细信息 | Win32_PerfFormattedData_PerfDisk_PhysicalDisk |
DiskWritesPerSec 、DiskWriteBytesPerSec 、DiskReadsPerSec 、DiskReadBytesPerSec |
下面是设备收集并发送到 Azure 的 Linux 服务器元数据的完整列表:
数据 | 指令 |
---|---|
完全限定域名 (FQDN) | cat /proc/sys/kernel/hostname, hostname -f |
处理器核心计数 | cat /proc/cpuinfo \| awk '/^processor/{print $3}' \| wc -l |
分配的内存 | cat /proc/meminfo \| grep MemTotal \| awk '{printf "%.0f", $2/1024}' |
BIOS 序列号 | lshw \| grep "serial:" \| head -n1 \| awk '{print $2}' /usr/sbin/dmidecode -t 1 \| grep 'Serial' \| awk '{ $1="" ; $2=""; print}' |
BIOS GUID | cat /sys/class/dmi/id/product_uuid |
启动类型 | [ -d /sys/firmware/efi ] && echo EFI \|\| echo BIOS |
OS 名称/版本 | 可以访问以下文件获取 OS 版本和名称:/etc/os-release /usr/lib/os-release /etc/enterprise-release /etc/redhat-release /etc/oracle-release /etc/SuSE-release /etc/lsb-release /etc/debian_version |
OS 体系结构 | uname -m |
磁盘计数 | fdisk -l \| egrep 'Disk.*bytes' \| awk '{print $2}' \| cut -f1 -d ':' |
启动磁盘 | df /boot \| sed -n 2p \| awk '{print $1}' |
磁盘大小 | fdisk -l \| egrep 'Disk.*bytes' \| egrep $disk: \| awk '{print $5}' |
NIC 列表 | ip -o -4 addr show \| awk '{print $2}' |
NIC IP 地址 | ip addr show $nic \| grep inet \| awk '{print $2} \| cut -f1 -d "/" |
NIC MAC 地址 | ip addr show $nic \| grep ether \| awk '{print $2}' |
下面是设备收集和发送到 Azure 的 Linux 服务器性能数据:
数据 | 指令 |
---|---|
CPU 使用率 | cat /proc/stat/ \| grep 'cpu' /proc/stat |
内存使用率 | free \| grep Mem \| awk '{print $3/$2 * 100.0}' |
NIC 计数 | lshw -class network \| grep eth[0-60] \| wc -l |
每 NIC 接收的数据 | cat /sys/class/net/eth$nic/statistics/rx_bytes |
每 NIC 传输的数据 | cat /sys/class/net/eth$nic/statistics/tx_bytes |
磁盘计数 | fdisk -l \| egrep 'Disk.*bytes' \| awk '{print $2}' \| cut -f1 -d ':' |
磁盘详细信息 | cat /proc/diskstats |
设备从 VMware 环境中运行的服务器或 Hyper-V 环境、物理服务器或其他云上运行的服务器(例如 AWS 或 GCP)收集有关已安装的应用程序、角色和功能(软件清单)的数据。
以下是设备从每个发现的 Windows 服务器中收集的软件清单数据:
数据 | 注册表位置 | 密钥 |
---|---|---|
应用程序名称 | HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
DisplayName |
版本 | HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
DisplayVersion |
提供程序 | HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Publisher |
下面是设备从每个发现的 Windows 服务器收集的功能数据:
数据 | PowerShell cmdlet | 资产 |
---|---|---|
名称 | Get-WindowsFeature |
Name |
特征类型 | Get-WindowsFeature |
FeatureType |
家长 | Get-WindowsFeature |
Parent |
以下是设备从每个发现的 Windows 服务器中收集的操作系统数据:
数据 | WMI 类 | WMI 类属性 |
---|---|---|
名称 | Win32_operatingsystem |
Caption |
版本 | Win32_operatingsystem |
Version |
体系结构 | Win32_operatingsystem |
OSArchitecture |
以下是设备从每个发现的 Windows 服务器中收集的 SQL Server 数据:
数据 | 注册表位置 | 密钥 |
---|---|---|
名称 | HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL |
installedInstance |
版本 | HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\Setup |
Edition |
Service Pack | HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\Setup |
SP |
版本 | HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\Setup |
Version |
以下是设备从每个发现的 Linux 服务器中收集的软件清单数据。 根据服务器的操作系统,运行一个或多个命令。
数据 | 指令 |
---|---|
名称 |
rpm 、dpkg-query 、snap |
版本 |
rpm 、dpkg-query 、snap |
提供程序 |
rpm 、dpkg-query 、snap |
以下是设备从每个发现的 Linux 服务器中收集的操作系统数据:
数据 | 指令 |
---|---|
名称/版本 | 从以下一个或多个文件收集:/etc/os-release /usr/lib/os-release /etc/enterprise-release /etc/redhat-release /etc/oracle-release /etc/SuSE-release /etc/lsb-release /etc/debian_version |
体系结构 | uname |
用于发现 VMware VM 的 Azure Migrate 设备还可以在 SQL Server 实例和数据库上收集数据。
数据库元数据 | 视图/ SQL Server 属性 |
---|---|
数据库的唯一标识符 | sys.databases |
服务器定义的数据库 ID | sys.databases |
数据库的名称 | sys.databases |
数据库的兼容性级别 | sys.databases |
数据库的排序规则名称 | sys.databases |
数据库的状态 | sys.databases |
数据库的大小(以 MB 为单位) | sys.master_files |
包含数据文件的位置的驱动器号 |
SERVERPROPERTY 、Software\Microsoft\MSSQLServer\MSSQLServer |
数据库文件列表 |
sys.databases 、sys.master_files |
Service Broker 是否被启用 | sys.databases |
是否对数据库启用变更数据捕获 | sys.databases |
Always On 可用性组数据库和状态 | sys.dm_hadr_database_replica_states |
服务器元数据 | 视图/ SQL Server 属性 |
---|---|
服务器名称 | SERVERPROPERTY |
完全限定域名 (FQDN) | 从安装的应用程序的发现派生的连接字符串 |
安装 ID | sys.dm_server_registry |
服务器版本 | SERVERPROPERTY |
服务器版本 | SERVERPROPERTY |
服务器主机平台 (Windows/Linux) | SERVERPROPERTY |
服务器的产品级别 (RTM SP CTP) | SERVERPROPERTY |
默认备份路径 | SERVERPROPERTY |
数据文件的默认路径 |
SERVERPROPERTY 、Software\Microsoft\MSSQLServer\MSSQLServer |
日志文件的默认路径 |
SERVERPROPERTY 、Software\Microsoft\MSSQLServer\MSSQLServer |
否。 服务器上的内核数 |
sys.dm_os_schedulers 、sys.dm_os_sys_info |
服务器排序规则名称 | SERVERPROPERTY |
否。 具有 VISIBLE ONLINE 状态的服务器核心数量 |
sys.dm_os_schedulers |
唯一服务器 ID | sys.dm_server_registry |
是否已启用高可用性 | SERVERPROPERTY |
已启用或未启用缓冲池扩展 | sys.dm_os_buffer_pool_extension_configuration |
是否配置故障转移群集 | SERVERPROPERTY |
仅使用 Windows 身份验证模式的服务器 | SERVERPROPERTY |
服务器安装 PolyBase | SERVERPROPERTY |
否。 系统的逻辑 CPU 数 |
sys.dm_server_registry 、sys.dm_os_sys_info |
一个物理处理器包所公开的逻辑或物理核心数量的比例。 |
sys.dm_os_schedulers 、sys.dm_os_sys_info |
否。 系统上的物理 CPU 数 |
sys.dm_os_schedulers 、sys.dm_os_sys_info |
服务器上次启动的日期和时间 | sys.dm_server_registry |
最大服务器内存使用(以 MB 为单位) | sys.dm_os_process_memory |
所有数据库的用户总数 |
sys.databases 、sys.logins |
所有用户数据库的总大小 | sys.databases |
临时数据库的大小 |
sys.master_files 、sys.configurations 、sys.dm_os_sys_info |
否。 登录名 | sys.logins |
链接服务器列表 | sys.servers |
代理作业列表 |
[msdb].[dbo].[sysjobs] 、[sys].[syslogins] 、[msdb].[dbo].[syscategories] |
Always On 可用性组、副本及其状态 |
sys.availability_groups 、sys.dm_hadr_availability_group_states 、sys.availability_group_listeners 、sys.availability_group_listener_ip_addresses 、sys.availability_replicas 、sys.dm_hadr_availability_replica_states |
Always On 故障转移群集实例 |
sys.dm_hadr_cluster 、sys.dm_hadr_cluster_members 、sys.dm_hadr_cluster_networks |
性能 | 视图/ SQL Server 属性 | 评估影响 |
---|---|---|
SQL Server CPU 使用率 | sys.dm_os_ring_buffers |
推荐的 SKU 大小(CPU 维度) |
SQL 逻辑 CPU 计数 | sys.dm_os_sys_info |
推荐的 SKU 大小(CPU 维度) |
正在使用的 SQL 物理内存 | sys.dm_os_process_memory |
未使用 |
SQL 内存使用率百分比 | sys.dm_os_process_memory |
未使用 |
数据库 CPU 使用率 |
sys.dm_exec_query_stats 、sys.dm_exec_plan_attributes |
推荐的 SKU 大小(CPU 维度) |
使用的数据库内存(缓冲池) | sys.dm_os_buffer_descriptors |
推荐的 SKU 大小(内存维度) |
文件读与写输入/输出 |
sys.dm_io_virtual_file_stats 、sys.master_files |
建议的 SKU 大小(输入/输出维度) |
读取/写入的文件数 |
sys.dm_io_virtual_file_stats 、sys.master_files |
建议的 SKU 大小(吞吐量维度) |
文件 I/O 读/写延迟 (ms) |
sys.dm_io_virtual_file_stats 、sys.master_files |
建议的 SKU 大小(I/O 延迟维度) |
文件大小 | sys.master_files |
建议的 SKU 大小(存储维度) |
用于发现 VM 的 Azure Migrate 设备还可以收集有关 ASP.NET Web 应用程序的数据。
下面是设备从环境中发现的每个 Windows 服务器收集的 ASP.NET Web 应用配置数据:
实体 | 数据 |
---|---|
Web 应用 | 应用程序名称 配置路径 前端绑定 已启用的框架 托管 Web 服务器 子应用程序和虚拟应用程序 应用程序池名称 运行时版本 托管管道模式 |
Web 服务器 | 服务器名 服务器类型(当前仅 IIS) 配置位置 版本 FQDN 用于发现的凭据 应用程序列表 |
用于发现 VM 的 Azure Migrate 设备还可以收集有关 Java Web 应用程序的数据。
下面是设备从环境中发现的每个 Windows 服务器收集的 Java Web 应用配置数据:
实体 | 数据 |
---|---|
Web 应用 | 应用程序名称 Web 服务器标识 Web 服务器名称 显示名称 目录 配置 绑定 发现的框架(可能包含 JVM 版本) 请求(CPU 请求) 限制(CPU 限制) 工作负荷类型 应用程序暂存路径 静态文件夹 |
Web 服务器 | OS 类型 OS 名称 OS 版本 OS 体系结构 主机名 CATALINA_HOME Tomcat 版本 JVM 版本 用户名 用户 ID 组名称 组 ID |
用于发现 VM 的 Azure Migrate 设备还可以在 Spring Boot Web 应用程序上收集数据。
下面是设备从环境中发现的每个 Windows 服务器收集的 Spring Boot Web 应用配置数据:
实体 | 数据 |
---|---|
Web 应用 | 应用程序名称 Maven 项目名称 JAR 文件位置 JAR 文件校验和 JAR 文件大小 Spring Boot 版本 Maven 生成 JDK 版本 应用程序属性文件 证书文件名 静态内容位置 应用程序端口 绑定端口(包括应用端口) 日志记录配置 JAR 文件上次修改时间 |
OS 运行时 | OS 安装的 JDK 版本 JVM 选项 JVM 堆内存 OS 名称 OS 版本 环境变量 |
Azure Migrate 设备可以收集有关 VMware 环境中运行的服务器或 Hyper-V 环境、物理服务器或其他云上运行的服务器(例如 AWS 或 GCP)的服务器之间的依赖关系的数据。
下面是设备从门户启用了无代理依赖关系分析功能的每个 Windows 服务器收集的连接数据:
数据 | 指令 |
---|---|
本地端口 | netstat |
本地 IP 地址 | netstat |
远程端口 | netstat |
远程 IP 地址 | netstat |
TCP 连接状态 | netstat |
进程 ID | netstat |
活动连接数 | netstat |
数据 | WMI 类 | WMI 类属性 |
---|---|---|
进程名称 | Win32_Process |
ExecutablePath |
进程参数 | Win32_Process |
CommandLine |
应用程序名称 | Win32_Process |
VersionInfo.ProductName 属性的 ExecutablePath 参数 |
下面是设备从启用无代理依赖项分析的每个 Linux 服务器中收集的连接数据:
数据 | 指令 |
---|---|
本地端口 | netstat |
本地 IP 地址 | netstat |
远程端口 | netstat |
远程 IP 地址 | netstat |
TCP 连接状态 | netstat |
活动连接数 | netstat |
进程 ID | netstat |
进程名称 | ps |
进程参数 | ps |
应用程序名称 |
dpkg 或 rpm |