在迁移期间维护静态 IP 地址(预览版)
适用于:Azure Local 2311.2 及更高版本
本文介绍如何使用 Azure Migrate 在虚拟机(VM)迁移到 Azure 本地期间保留静态 IP 地址。 它提供有关在 Windows VM 上运行静态 IP 迁移脚本以及支持 Windows Server 2012 R2 及更高版本中的来宾操作系统的详细说明。 这适用于 Hyper-V 迁移和 VMware 迁移。
关于静态 IP 迁移工具包
下载 Windows 静态 IP 迁移包(.zip 格式)。
.zip 文件包含以下脚本:
Prepare-MigratedVM.ps1 – 使用
-StaticIPMigration
cmdlet 运行 Initialize-StaticIPMigration.ps1 脚本,为静态 IP 迁移准备 VM。日志会自动在脚本的目录中创建。
Initialize-StaticIPMigration.ps1 - 将 VM 网络接口信息收集到配置文件(本地目录中InterfaceConfigurations.json),并设置计划的任务来运行 Set-StaticIPConfiguration.ps1 脚本。
Set-StaticIPConfiguration.ps1 - 在 VM 启动时运行,应用生成的网络接口配置文件。
Utilities.psm1 - 包含脚本的辅助函数。
注意
静态 IP 地址迁移目前仅适用于 Windows VM,Linux VM 不支持。
先决条件
在开始之前,请准备用于 IP 迁移的源环境和目标环境。
准备源 VM 进行 IP 迁移
若要从源系统(Hyper-V 或 VMware)迁移具有静态 IP 的 VM,请执行以下步骤:
确保虚拟机在整个复制过程和计划内故障转移(迁移)期间保持开机。
对于 VMware VM,请确保安装 VMware 工具。
对于 Hyper-V 虚拟机,请确保安装 Hyper-V Integration Services。 有关详细信息,请参阅管理 Hyper-V 集成服务。
对于 Linux VM,请确保安装 Linux Integration Services。
确保准备脚本由具有管理员权限的帐户在源 VM 上运行,以创建计划的任务。
为 IP 迁移准备目标 VM
在目标系统上,预配静态 Azure Arc 逻辑网络以支持迁移。 此设置需要定义 IP 地址空间、网关地址、DNS 服务器和 IP 池范围(可选)。
有关创建和配置静态或动态 Azure Arc 逻辑网络的详细指南,请参阅 为 Azure 本地创建逻辑网络。
(可选)准备使用组策略大规模部署 IP 迁移
若要使用此方法,需要域管理员权限和对组策略编辑器的访问权限。 此外,必须满足以下条件之一:
源 VM 必须具有 Internet 访问权限,才能将静态 IP 迁移包直接下载到其本地文件系统。
源 VM 必须具有对托管静态 IP 迁移包的远程文件共享的只读访问权限,该包必须事先准备并下载到远程共享。
手动设置 IP 迁移
下载 .zip 文件,并将静态 IP 迁移包内容安装到 VM 上的本地文件夹中。
打开 PowerShell 控制台并使用以下命令运行 Prepare-MigratedVM.ps1 脚本:
.\Prepare-MigratedVM.ps1 -StaticIPMigration
在 Azure 门户中,创建迁移项目、触发发现并复制 VM。 有关详细信息,请参阅 创建 Azure Migrate 项目。
选择要迁移的 VM 之前,请使用复制向导为源 VM 上的每个网络接口分配和配置正确的逻辑网络。
在 "复制"、"> 常规"、"> 计算和网络" 的 部分中,选择 VM。 在此选项卡上,确保网络接口分配给正确的逻辑网络。 DHCP 网络接口分配给动态逻辑网络,静态网络接口分配给静态逻辑网络。
未能将网络接口正确分配给其相应的逻辑网络会导致 Azure Arc 和 Azure 门户中显示的 IP 地址信息不正确。
在 迁移 视图中,在 关闭虚拟机下,选择 “是”,关闭虚拟机(确保不会丢失数据)。
迁移 VM 后,请检查已迁移的 VM,验证是否已迁移静态 IP 设置。
使用组策略设置 IP 迁移
按照以下步骤使用组策略在已加入域的 VM 上大规模设置静态 IP 迁移。
- 查看使用组策略列出的静态 IP 迁移的先决条件。
创建组策略对象
打开 Active Directory(AD)环境的组策略管理控制台。
在您的 AD 林中,导航到包含需迁移且保留静态 IP 的 VM 的位置。
右键单击并选择 在此域上创建 GPO,并在此处链接。
出现提示时,为此 GPO 分配描述性名称:
编辑 GPO:
右键单击新创建的 GPO,然后选择 编辑。
在组策略管理编辑器中,转到 计算机配置 > 首选项 > 控制面板设置 > 计划任务。
右键单击 计划任务 下的空白区域,然后选择 “新建 > 即时任务”(至少 Windows 7)。
定义计划任务
选择新建 > 即时任务。 当计划任务向导打开时,按如下所示配置每个选项卡:
在“常规”选项卡上的“操作”下,选择 “创建”,然后输入任务的描述性名称。
在 安全选项下,选择以下设置:
运行任务时,请使用以下用户帐户 NT AUTHORITY\SYSTEM。
选择“不管用户是否登录都要运行”。
选择使用最高权限运行。
在“为配置
”下,选择 Windows Vista 或 Windows Server 2008 用于配置:在“操作”选项卡上,选择“新建”,此按钮位于“操作”选项卡下。
在 操作下,选择 启动程序。
在设置下:
运行 程序/脚本:键入 powershell.exe。
如果 VM 可以访问 .zip 文件的下载链接,请添加以下参数,替换括号中的参数:
-ExecutionPolicy Bypass -Command "Invoke-WebRequest -Uri [download link] -OutFile [path to static IP migration package] ; Expand-Archive Path [path to static IP migration package] -DestinationPath C:\StaticIp ; & C:\StaticIp\Prepare-MigratedVM.ps1 -StaticIPMigration ```
(备用)如果有托管 .zip 文件的远程共享,请添加以下参数,替换括号中的参数:
-ExecutionPolicy Bypass -Command "Copy-Item -Path [ZIP file path in remote share] -Destination [path to static IP migration package] -Force ; Expand-Archive -Path [path to static IP migration package] DestinationPath C:\StaticIp ; & C:\StaticIp\Prepare-MigratedVM.ps1 -StaticIPMigration
选择操作、程序/脚本,添加可选的参数,以及可选的开始于信息,如下所示:
选择 确定 以完成计划的任务配置。
应用组策略对象
将 GPO 链接到所需的组织单位(OU):
如果 GPO 尚未链接,请在组策略管理控制台中右键单击所需的 OU,然后选择 链接现有 GPO。
选择创建的 GPO。
等待复制完成。 10-20 分钟后,组策略对象将复制到相应的域控制器。 还可以通过在特定 VM 上的 PowerShell 中运行
gpupdate
cmdlet 来强制策略更新。验证更改:
检查 VM 以确认已在上的
C:\StaticIp\IpConfigurations.js下创建了接口配置文件。 确保已创建名为
Set-StaticIpConfiguration
的计划任务,以便在重启时运行。
已知限制
以下是迁移静态 IP 地址时的已知限制和显示问题:
设备管理器中的旧网络适配器信息
迁移后,设备管理器仍可能会显示迁移前的旧网络适配器信息。 虽然这不会影响迁移后创建的新网络适配器,并且不会造成 IP 冲突,但脚本当前不会删除此旧注册,因此它仍然可见。
单个网络适配器上的多个 IP 地址
如果源 VM 有多个静态 IP 地址分配给单个网络适配器,则会在迁移的 VM 上正确分配这些 IP 地址。 但是,Azure 本地中的 Arc VM 只会在 Arc 门户中为每个网络适配器显示一个 IP 地址。 这是 Arc 门户中的已知显示问题,不会影响已迁移 VM 上 IP 地址的实际功能。
多个网络适配器和类型
如果源 VM 具有多个混合 DHCP 和静态配置的网络适配器,则迁移的 VM 将保留静态网络适配器上的网络适配器、网络适配器类型和静态 IP 地址的正确数量。 但是,迁移的 VM 的 Arc 门户视图可能会错误地在网络适配器上显示重复或不准确的 IP。 这是 Arc 门户中的已知显示问题,不会影响已迁移 VM 上的 IP 地址的功能。 请参阅以下包含 DHCP 网络适配器和静态网络适配器的已迁移 VM 的示例。