迁移中心Agent概述
迁移中心Agent部署在源端网络环境中,负责发现源端资源并采集数据,然后将信息发送至云端迁移中心MgC;用户在云端根据这些数据规划迁移任务,再由迁移中心Agent执行具体的迁移操作,实现从源端到华为云的一站式迁移。
逻辑架构
MgC Agent作为MgC部署在客户云环境网络边缘的工具,其主要作用是执行数据采集和数据迁移。在特定的迁移场景中,这些操作需要在客户自己的云网络环境中执行,MgC Agent扮演着连接MgC和客户网络的桥梁角色,确保数据迁移过程的顺畅和安全。
域名
MgC Agent所包含的域名参见下表。
| 说明 | 参数值 |
|---|---|
| IoTDA服务地址 | 华南-广州: ssl://a645b71f4e.st1.iotda-device.cn-south-1.myhuaweicloud.com:8883 |
| MgC服务地址 | 华南-广州: https://mgc.cn-south-1.myhuaweicloud.com |
| SMS服务桶地址 | https://sms-resource-cn-cn-north-4.obs.cn-north-4.myhuaweicloud.com |
| SMS服务域名 | sms.cn-north-4.myhuaweicloud.com |
源端主机需要能够访问下表依赖服务的域名。
| 依赖服务 | 域名 |
|---|---|
| SMS服务 | SMS服务域名不区分Region,统一为:https://sms.cn-north-4.myhuaweicloud.com:443 |
| OBS服务 | 源端需要能访问SMS-Agent的下载访问域名:https://sms-resource-cn-cn-north-4.obs.cn-north-4.myhuaweicloud.com:443 |
| IAM服务 | IAM 服务域名需要包含:iam.myhuaweicloud.com 和实际的目的端Region域名,各Region域名可查看终端节点。 例如,目的端为华南-广州,则源端主机需要能访问的域名为:https://iam.myhuaweicloud.com、https://iam.cn-south-1.myhuaweicloud.com:443 |
| ECS服务 | 源端需要访问的域名取决于实际的目的端Region,各Region域名可查看终端节点。 例如,目的端为华南-广州,则域名为:https://ecs.cn-south-1.myhuaweicloud.com:443 |
| IMS服务 | 源端需要访问的域名取决于实际的目的端Region,各Region域名可查看终端节点。 例如,目的端为华南-广州,则域名为:https://ims.cn-south-1.myhuaweicloud.com:443 |
| EVS服务 | 源端需要访问的域名取决于实际的目的端Region,各Region域名可查看终端节点。 例如,目的端为华南-广州,则域名为:https://evs.cn-south-1.myhuaweicloud.com:443 |
| VPC服务 | 源端需要访问的域名取决于实际的目的端Region,各Region域名可查看终端节点。 例如,目的端为华南-广州,则域名为:https://vpc.cn-south-1.myhuaweicloud.com:443 |
凭证收集
MgC Agent在进行资源采集时,会根据不同的资源类型,收集对应的凭证信息。涉及的资源类型和凭证信息包括:主机凭证、数据库凭证、容器凭证、VMware平台凭证、租户AKSK。
通信矩阵
通信矩阵列出了使用MgC Agent需要开放的端口,以及端口使用的传输层协议、认证方式、加密方式、用途等信息。
| 源端 | 目的端 | 端口 | 协议 | 数据内容 | 功能介绍 | 是否加密 | 云服务域名URL |
|---|---|---|---|---|---|---|---|
| 虚拟机 | MgC-Agent | 443 (用于专线迁移。也可以使用不同的端口) |
| SMS-Agent安装包 | 下载SMS-Agent安装包。 | 是 | NA |
| SMS-Agent | 华为云弹性云服务器 | Windows: 8900 |
| 数据文件 | 用于将数据文件传输到目的端服务器。 | 是 | NA |
| Windows: 8899 |
| 指令消息 | 用于向目标发送控制指令,修改注册表和启动项。 | 是 | NA | ||
| Windows: 22 | SSH V2 | 脚本文件 | 用于将脚本文件传输到目的端服务器。 | 是 | NA | ||
| Linux: 22 | SSH V2 | 数据和脚本文件 | 用于将脚本和数据文件传输到目的端服务器。 | 是 | NA | ||
| SMS-Agent | Squid 代理服务器 | 3128 | HTTPS | 迁移任务信息 | 用于在ECS、VPC、EVS、IMS、IAM、SMS上创建资源,并上报迁移任务进度信息。 | 是 | NA |
| Squid 代理服务器 | 华为云API网关 | 443 |
| 迁移任务信息 | 用于在ECS、VPC、EVS、IMS、IAM、SMS上创建资源,并上报迁移任务进度信息。 | 是 | ECS、VPC、EVS、IMS、IAM、SMS等服务的访问域名取决于实际的目的端Region,各服务Region域名地址请参考域名。 |
| SMS-Agent | 华为云API网关 | 443(用于公网迁移) |
| 迁移任务信息 | 用于在ECS、VPC、EVS、IMS、IAM、SMS上创建资源,并上报迁移任务进度信息。 | 是 | ECS、VPC、EVS、IMS、IAM、SMS等服务的访问域名取决于实际的目的端Region,各服务Region域名地址请参考域名。 |
| MgC-Agent | 源端服务器 | Linux: 22 (默认为22端口,也可以使用其他端口) | SSH V2 | 指令消息 | 在源端服务器部署SMS-Agent。 | 是 | NA |
| Windows: 5985 | 应用层协议:WinRM(开启通信加密) 加密协议:WinRM(启用通信加密)。具体操作请参考Windows远程管理,安装和配置窗口远程管理 | 指令消息 | 在源端服务器部署SMS-Agent。 | 是 | NA | ||
| MgC-Agent | IoTDA服务实例 | 8883 |
| 任务相关说明 | 用于从MgC获取迁移工作流指令,并返回指令执行结果。 | 是 | IoTDA服务的访问域名取决于实际的目的端Region,各Region域名地址请参考域名。 |
| MgC-Agent | MgC | 443 |
| 注册请求 | 用于向MgC注册。 | 是 | MgC服务的访问域名取决于实际的目的端Region,各Region域名地址请参考域名。 |
| 用户 | MgC-Agent | 27080 |
| 指令消息 | 用于在MgC-Agent控制台进行操作,如配置MgC-Agent的凭据、vCenter的凭据、虚拟机的凭据、华为云AK/SK对等。 | 是 | NA |
| 用户 | MgC | 443 |
| 指令消息 | 用于在MgC界面进行操作,下发迁移管理命令。 | 是 | MgC服务的访问域名取决于实际的目的端Region,各Region域名地址请参考域名。 |
| 采集器 | MgC-Agent | 5678 |
| 采集任务信息 | 上报采集任务结果。 | 是 | NA |
| MgC-Agent | 采集器 | 5678 |
| 指令消息 | 用于向插件发送采集任务。 | 是 | NA |
命令矩阵
命令矩阵列出了MgC Agent包含的命令,以及命令所在绝对路径、功能、用法等信息。
| 命令所在节点 | 命令名 | 命令所在绝对路径 | 是否可独立调用 | 命令功能 | 命令用法 | 命令风险提示 | 命令类型 |
|---|---|---|---|---|---|---|---|
| MgC Agent | accountPermission.ps1 | 是 | 查询管理员用户组角色 | .\accountPermission.ps1 | 无 | 功能类 | |
| basicInfo.ps1 | 是 | 查询基础信息 | .\basicInfo.ps1 | 无 | 功能类 | ||
| checkBasicObjects.ps1 | 是 | 检查系统基本组件 | .\checkBasicObjects.ps1 | 无 | 功能类 | ||
| checkPerformanceObjects.ps1 | 是 | 检查系统性能组件 | .\checkPerformanceObjects.ps1 | 无 | 功能类 | ||
| diskInfo.ps1 | 是 | 查询磁盘基本信息 | .\diskInfo.ps1 | 无 | 功能类 | ||
| eachDiskPerformance.ps1 | 是 | 查询磁盘性能信息 | .\eachDiskPerformance.ps1 | 无 | 功能类 | ||
| fileSharingInfo.ps1 | 是 | 查询文件分享信息 | .\fileSharingInfo.ps1 | 无 | 功能类 | ||
| firmware.ps1 | 是 | 查询固件信息 | .\firmware.ps1 | 无 | 功能类 | ||
| memorySize.ps1 | 是 | 查询内存信息 | .\memorySize.ps1 | 无 | 功能类 | ||
| netcardInfo.ps1 | 是 | 查询网卡信息 | .\netcardInfo.ps1 | 无 | 功能类 | ||
| netcardPerform.ps1 | 是 | 查询网卡带宽和PPS | .\netcardPerform.ps1 | 无 | 功能类 | ||
| oemSystem.ps1 | 是 | 检查OEM系统 | .\oemSystem.ps1 | 无 | 功能类 | ||
| osInfo.ps1 | 是 | 查询系统信息 | .\osInfo.ps1 | 无 | 功能类 | ||
| processInfo.ps1 | 是 | 查询进程信息 | .\processInfo.ps1 | 无 | 功能类 | ||
| scheduledTasks.ps1 | 是 | 查询定时任务 | .\scheduledTasks.ps1 | 无 | 功能类 | ||
| specialHardware.ps1 | 是 | 查询硬件信息 | .\specialHardware.ps1 | 无 | 功能类 | ||
| systemRoot.ps1 | 是 | 查询系统目录 | .\systemRoot.ps1 | 无 | 功能类 | ||
| systemService.ps1 | 是 | 检查VSS镜像服务 | .\systemService.ps1 | 无 | 功能类 | ||
| tcpNum.ps1 | 是 | 查询网络连接数 | .\tcpNum.ps1 | 无 | 功能类 | ||
| utilInfo.ps1 | 是 | 查询性能信息 | .\utilInfo.ps1 | 无 | 功能类 | ||
| virtioDriver.ps1 | 是 | 查询virtio驱动 | .\virtioDriver.ps1 | 无 | 功能类 | ||
| getArchitecture.sh | 是 | 查询系统架构 | sh getArchitecture.sh | 无 | 功能类 | ||
| getBootLoader.sh | 是 | 查询系统引导类型 | sh getBootLoader.sh | 无 | 功能类 | ||
| getCPUCores.sh | 是 | 查询CPU核数 | sh getCPUCores.sh | 无 | 功能类 | ||
| getCpuFrequency.sh | 是 | 查询CPU主频信息 | sh getCpuFrequency.sh | 无 | 功能类 | ||
| getCPURate.sh | 是 | 查询CPU使用率 | sh getCPURate.sh | 无 | 功能类 | ||
| getCPUtype.sh | 是 | 查询CPU类型 | sh getCPUtype.sh | 无 | 功能类 | ||
| getDisk_each_read_write_info.sh | 是 | 查询磁盘吞吐量 | sh getDisk_each_read_write_info.sh | 无 | 功能类 | ||
| getDiskInfo.sh | 是 | 查询磁盘基本信息 | sh getDiskInfo.sh | 无 | 功能类 | ||
| getDiskUtil.sh | 是 | 查询磁盘使用率 | sh getDiskUtil.sh | 无 | 功能类 | ||
| getFileSharingInfo.sh | 是 | 查询文件分享信息 | sh getFileSharingInfo.sh | 无 | 功能类 | ||
| getFirmwareType.sh | 是 | 查询固件类型 | sh getFirmwareType.sh | 无 | 功能类 | ||
| getGPUDevices.sh | 是 | 查询GPU设备 | sh getGPUDevices.sh | 无 | 功能类 | ||
| getHostname.sh | 是 | 查询主机名称 | sh getHostname.sh | 无 | 功能类 | ||
| getMem.sh | 是 | 查询内存信息 | sh getMem.sh | 无 | 功能类 | ||
| getMemRate.sh | 是 | 查询内存使用率 | sh getMemRate.sh | 无 | 功能类 | ||
| getKernel.sh | 是 | 查询内核 | sh getKernel.sh | 无 | 功能类 | ||
| getNetCards.sh | 是 | 查询网卡信息 | sh getNetCards.sh | 无 | 功能类 | ||
| getNetcardsInfo.sh | 是 | 查询网卡带宽和PPS | sh getNetcardsInfo.sh | 无 | 功能类 | ||
| getOsDisk.sh | 是 | 查询系统盘信息 | sh getOsDisk.sh | 无 | 功能类 | ||
| getOsInfo.sh | 是 | 查询系统信息 | sh getOsInfo.sh | 无 | 功能类 | ||
| getRawDevices.sh | 是 | 查询裸设备信息 | sh getRawDevices.sh | 无 | 功能类 | ||
| getRsync.sh | 是 | 查询Rsync | sh getRsync.sh | 无 | 功能类 | ||
| getProcessInfo.sh | 是 | 查询进程信息 | sh getProcessInfo.sh | 无 | 功能类 | ||
| getScheduledTasks.sh | 是 | 查询定时任务 | sh getScheduledTasks.sh | 无 | 功能类 | ||
| getUSBDevices.sh | 是 | 查询USB设备 | sh getUSBDevices.sh | 无 | 功能类 | ||
| getTcpTotal.sh | 是 | 查询网络连接数 | sh getTcpTotal.sh | 无 | 功能类 | ||
| getVirtioDriver.sh | 是 | 查询virtio驱动 | sh getVirtioDriver.sh | 无 | 功能类 | ||
| getVirtualType.sh | 是 | 查询虚拟类型 | sh getVirtualType.sh | 无 | 功能类 |
