配置 Shift Toolkit
配置 Shift Toolkit 以自动化虚拟机的迁移或转换)此过程包括添加源站点和目标站点、配置存储、将虚拟机分组为资源组、创建迁移蓝图以及安排迁移。
运行 Shift 工具包
-
使用浏览器,输入"http://<IP安装时指定的地址>:3001”
使用 Google Chrome 或 Internet Explorer 可获得最佳体验。 -
使用默认凭据访问 UI,如下所示:
用户名:admin
密码:admin
|
可以使用“更改密码”选项更改管理员凭据。 |
点击“接受并继续”即表示接受合法的 EULA。
Shift Toolkit 配置
正确配置源和目标虚拟机管理程序的存储和连接后,开始配置 Shift 工具包以利用FlexClone功能自动将虚拟机 VMDK 迁移或转换为适当的格式。
添加站点
第一步是发现并添加源 vCenter,然后将目标 Hyper-V 详细信息(虚拟机管理程序和存储)添加到 Shift 工具包。在支持的浏览器中打开 Shift 工具包并使用默认用户名和密码(admin/admin),然后单击“添加站点”。
|
还可以使用“发现”选项添加站点。 |
添加以下平台:
来源
-
源站点详细信息
-
站点名称- 提供站点的名称
-
虚拟机管理程序 – 选择 VMware 作为源(GA 期间唯一可用的选项)
-
站点位置 – 选择默认选项
-
连接器 – 选择默认选择
-
填写完成后,单击“继续”。
-
源 vCenter
-
端点 - 输入 vCenter 服务器的 IP 地址或 FQDN
-
用户名 - 访问 vCenter 的用户名(UPN 格式:
username@domain.com
) -
vCenter 密码 – 用于访问 vCenter 以执行资源清单的密码。
-
vCenter SSL 指纹(可选)
-
选择“接受自签名证书”,然后单击“继续”。
-
ONTAP存储系统凭据
一旦添加,Shift 工具包将执行自动发现并显示虚拟机以及相关的元数据信息。 Shift 工具包将自动检测虚拟机使用的网络和端口组并填充它们。
|
如果对源站点进行了任何修改,请确保运行发现以获取最新信息。您可以通过单击站点名称旁边的 3 个点并单击“发现站点”来完成此操作。 |
|
VM 库存每 24 小时自动刷新一次。 |
要查看特定 vCenter 的数据,请转到仪表板,单击相应站点名称对应的“查看 VM 列表”。该页面将显示虚拟机清单以及虚拟机属性。
下一步是添加目标虚拟机管理程序。要添加,请单击“添加新站点”并选择“目的地”。
目的地
-
目的地详情
-
站点名称- 提供站点的名称
-
虚拟机管理程序 – 选择 Hyper-V 或 KVM 作为目标
-
站点位置 – 选择默认选项
-
连接器 – 选择默认选择
-
填写完成后,单击“继续”。
根据虚拟机管理程序的选择,填写必要的详细信息。
-
目标 Hyper-V 详细信息
-
Hyper-V 独立或故障转移群集管理器 IP 地址或 FQDN
-
用户名 - 访问的用户名(UPN 格式: `username@domain.com`或域\管理员)
密码 – 用于访问 Hyper-V 主机或 FCI 实例以执行资源清单的密码。
选择“接受自签名证书”,然后单击“继续”。
-
完成后,单击“继续”
|
Shift 工具包在当前版本中无法直接与 System Center 通信。 |
|
Hyper-V FCI 和主机发现依赖于 DNS 解析。确保主机名可以从 Shift 工具包 VM 解析。如果解决失败,请更新主机文件(C:\Windows\System32\drivers\etc\hosts)并重试发现操作。 |
-
ONTAP存储系统*
|
源和目标存储系统应该相同,因为磁盘格式转换发生在卷级别和同一卷内。 |
下一步是将所需的虚拟机作为资源组分组到其迁移组中。
资源分组
添加平台后,将要迁移或转换的虚拟机分组到资源组中。 Shift 工具包资源组允许您将从属虚拟机集分组为包含其启动顺序和启动延迟的逻辑组。
|
在创建资源组之前,请确保已配置 Qtree(如先决条件部分所述)。 |
要开始创建资源组,请单击“创建新资源组”菜单项。
-
访问资源组,点击“创建新资源组”。
-
在“新建资源组”中,从下拉菜单中选择源站点,然后单击“创建”
-
提供资源组详细信息并选择工作流。工作流程提供了两个选项
-
基于克隆的迁移——执行从源虚拟机管理程序到目标虚拟机管理程序的端到端虚拟机迁移。
-
基于克隆的转换 - 将磁盘格式转换为所选的虚拟机管理程序类型。
-
-
点击“继续”
-
使用搜索选项选择合适的虚拟机。默认过滤选项是“数据存储”。
在转换之前,将虚拟机移动以进行转换或迁移到新创建的ONTAP SVM 上的指定数据存储库。这有助于隔离生产 NFS 数据存储,并且指定的数据存储可用于暂存虚拟机。 此上下文中的数据存储下拉菜单将仅显示 NFSv3 数据存储。 NFSv4 数据存储将不会显示。 -
通过选择“目标站点”、“目标 Hyper-V 条目”和数据存储到 Qtree 映射来更新迁移详细信息。
将虚拟机从 ESX 转换为 Hyper-V 时,请确保目标路径(转换后的虚拟机的存储位置)设置为 qtree。将目标路径设置为相应的 qtree。 可以创建多个 qtree 并用于相应地存储转换后的 VM 磁盘。 -
为所有选定的虚拟机选择启动顺序和启动延迟(秒)。通过选择每个虚拟机并设置其优先级来设置开机顺序。 3 是所有虚拟机的默认值。
选项如下:
1 – 第一个启动的虚拟机 3 – 默认 5 – 最后一个启动的虚拟机
-
点击“创建资源组”。
如果需要修改资源组以添加或删除虚拟机,请使用资源组名称旁边的 3 个点并选择“编辑资源组”。
蓝图
要迁移或转换虚拟机,必须制定计划。从下拉菜单中选择源和目标虚拟机管理程序平台,并选择要包含在此蓝图中的资源组,以及应用程序启动方式的分组(即域控制器,然后是第 1 层,然后是第 2 层,等等)。这些通常也被称为迁移计划。要定义蓝图,请导航到“蓝图”选项卡并单击“创建新蓝图”。
要开始创建蓝图,请单击“创建新蓝图”。
-
访问蓝图,点击“创建新蓝图”。
-
在“新蓝图”上,提供计划名称并通过选择源站点>关联的 vCenter、目标站点和关联的 Hyper-V 虚拟机管理程序添加必要的主机映射。
-
映射完成后,选择集群和主机映射。
-
选择资源组详情并点击“继续”
-
设置资源组的执行顺序。当存在多个资源组时,此选项可以选择操作顺序。
-
完成后,选择网络映射到适当的虚拟交换机。虚拟交换机应该已经在 Hyper-V 内配置。
在 Hyper-V 端,虚拟交换机类型“外部”是唯一支持的网络选择选项。 对于测试迁移,“不配置网络”是默认选择,Shift 工具包不执行 IP 地址分配。一旦磁盘转换完毕并且在 Hyper-V 端购买了虚拟机,请手动分配气泡网络交换机以避免与生产网络发生任何冲突。 -
根据虚拟机的选择,将自动选择存储映射。
确保预先配置了 qtree 并分配了必要的权限,以便可以从 SMB 共享创建虚拟机并启动虚拟机。 -
在虚拟机详细信息下,为每种操作系统类型提供服务帐户和有效用户凭据。这用于连接到虚拟机以创建和运行删除 VMware 工具和备份 IP 配置详细信息所需的某些脚本。
-
对于基于 Windows 的操作系统,建议使用具有本地管理员权限的用户。也可以使用域凭据,但是请确保在转换之前虚拟机上存在用户配置文件,否则域凭据将不起作用,因为它会在没有网络连接时寻找域身份验证。
-
对于基于 Linux 发行版的客户虚拟机,提供一个无需密码即可执行 sudo 命令的用户,这意味着该用户应该是 sudoers 列表的一部分,或者作为新配置文件添加到 /etc/sudoers.d/ 文件夹。
-
-
再次在 VM 详细信息下,选择相关的 IP 配置选项。默认情况下,选择“不配置”。
-
要从源系统迁移具有相同 IP 的虚拟机,请选择“保留 IP”。
-
要在源系统中使用静态 IP 迁移虚拟机并在目标虚拟机上分配 DHCP,请选择“DHCP”。
请确保满足以下要求才能使此功能正常工作:
-
确保虚拟机在 prepareVM 阶段以及预定的迁移时间内处于开启状态。
-
对于 VMware VM,请确保已安装 VMware Tools。
-
确保准备脚本由在 Windows 操作系统上具有管理员权限的帐户在源 VM 上运行,并在基于 Linux 的发行版操作系统上具有无密码选项的 sudo 权限的帐户运行,以创建 cron 作业。
-
-
-
下一步是虚拟机配置。
-
可选择调整虚拟机的 CPU/RAM 参数,这对于调整大小非常有帮助。
-
启动顺序覆盖:还修改资源组中所有选定虚拟机的启动顺序和启动延迟(秒)。如果需要对资源组启动顺序选择期间选择的内容进行任何更改,这是一个用于修改启动顺序的附加选项。默认情况下,使用资源组选择期间选择的启动顺序,但可以在此阶段进行任何修改。
-
开启:如果工作流程不应开启虚拟机,请取消选中此选项。默认选项为 ON,表示虚拟机将开启。
-
删除 VMware 工具:Shift 工具包在转换后删除 VMware 工具。默认情况下选择此选项。如果计划执行客户自己的定制脚本,则可以取消选择此项。
-
生成:Shift 工具包使用以下经验法则并默认为适当的规则 - Gen1 > BIOS 和 Gen2 > EFI。此选项无法选择。
-
保留 MAC:可以保留各个虚拟机的 MAC 地址,以克服依赖 MAC 的应用程序的许可挑战。
-
服务帐户覆盖:如果无法使用全局服务帐户,则此选项允许指定单独的服务帐户。
-
-
点击“继续”。
-
在下一步中,通过选中复选框来设置日期和时间来安排迁移。确保所有虚拟机 (VM) 在预定日期之前准备好并关闭。完成后,点击“创建蓝图”。
安排时,请选择比当前 Shift VM 时间至少早 30 分钟的日期。这是为了确保工作流程有足够的时间来准备资源组内的虚拟机。 -
创建蓝图后,将启动 prepareVM 作业,并自动在源虚拟机上运行脚本以准备迁移
此作业使用invoke-VMScript方法运行脚本,复制删除VMware工具和备份网络配置详细信息所需的脚本,包括IP地址、路由和DNS信息,这些信息将用于在目标VM上维护相同的设置。
-
对于基于 Windows 的操作系统,准备脚本的默认存储位置是“C:\ NetApp”文件夹。
-
对于基于 Linux 的虚拟机,准备脚本的默认存储位置是 / NetApp和 /opt 目录。
对于运行 CentOS 或 Red Hat 的 Linux 源 VM,Shift 工具包可以智能地自动安装必要的 Hyper-V 驱动程序。这些驱动程序必须在磁盘转换之前存在于源 VM 中,以确保 VM 在转换后能够成功启动。 有关详细信息,请参阅"将 RHEL VM 迁移到 Hyper-V 后,系统陷入 dracut 状态"。 一旦 prepareVM 作业成功完成(如下面的屏幕截图所示),虚拟机就可以进行迁移,并且蓝图状态将更新为“活动”。
迁移将在设定的时间进行,或者可以通过单击“迁移”选项手动启动。
-
监控和仪表板
使用作业监控来监控作业的状态。
通过直观的用户界面,自信地评估迁移、转换和蓝图的状态。这使管理员能够快速识别成功、失败或部分失败的计划以及迁移或转换的虚拟机数量。
高级设置
Shift 工具包提供了高级设置,可以通过单击顶部工具栏中的“设置”图标进行访问。
CredSSP
Shift 利用凭证安全服务提供商 (CredSSP) 来管理凭证传输。在转换过程中,Shift 服务器在被转换的虚拟机的客户操作系统上运行许多脚本。运行这些脚本的凭证通过 Hyper-V 服务器的“双跳”从 Shift 服务器传递到客户操作系统。
将 Shift 服务器配置为 CredSSP 客户端:
“高级设置”向导自动将 Shift 服务器配置为 CredSSP 客户端。这样做可以使 Shift 服务器将凭据委托给 Hyper-V 服务器。
幕后发生了什么:
Shift 工具包执行一系列命令将自身配置为客户端,使其能够管理 Hyper-V 主机。此过程涉及设置必要的配置。
-
运行以下命令:
-
设置项目 WSMan:\localhost\Client\TrustedHosts -Value“hyper-v-host 的 fqdn”
-
Enable-WSManCredSSP -角色客户端 -DelegateComputer“fqdn-of-hyper-v-host”
-
-
配置以下组策略:
-
计算机配置 > 管理模板 > 系统 > 凭据委派 > 允许使用仅 NTLM 服务器身份验证委派新凭据
-
选择启用并添加 wsman/fqdn-of-hyper-v-host。
将 Hyper-V 服务器配置为 CredSSP 服务器
使用 Hyper-V 服务器上的 Enable-WSManCredSSP cmdlet 将 Hyper-V 服务器配置为 CredSSP 服务器,这使得 Hyper-V 服务器能够从 Shift 服务器接收凭据。
在 Shift 工具包服务器将配置虚拟机的 Hyper-V 主机上,以管理员身份打开 Windows PowerShell 会话并运行以下命令:
-
启用 PSRemoting
-
启用-WSManCredSSP-角色服务器
昂首阔步
高级设置中的 swagger 页面允许与可用的 API 进行交互。通过 Shift 工具包 REST API 提供的资源按类别组织,如 swagger API 文档页面所示。下面简要介绍了每个资源及其基本资源路径,并在适当的情况下提供了额外的使用注意事项。
会议
您可以使用此 API 登录 Shift 工具包服务器。此 API 返回一个用户授权令牌,用于验证后续请求。
-
开始会话
-
验证会话
-
获取所有会话 ID
-
结束会话
连接器
-
添加连接器
-
获取所有连接器的详细信息
-
通过 ID 更新连接器详细信息
-
通过 ID 获取连接器详细信息
租户
使用 API 执行添加和获取操作
-
添加租户
-
获取所有租户
用户
使用 API 执行添加、获取、更改和接受操作
-
添加用户
-
获取所有用户
-
修改用户密码
-
接受 EULA
CredSSP
使用 API 执行启用和获取操作
-
启用credssp
-
获取 credssp 的状态
地点
使用 API 执行获取、添加、删除和更新操作
-
获取站点数量
-
获取所有站点详细信息
-
添加站点
-
通过 ID 获取站点详细信息
-
根据 ID 删除站点
-
向站点添加虚拟环境
-
将存储环境添加到站点
-
获取站点的虚拟环境详细信息
-
更新站点的虚拟环境详细信息
-
删除站点的虚拟环境详细信息
-
获取站点的存储环境详细信息
-
更新站点的存储环境详细信息
-
删除站点的存储环境详细信息
发现
使用 API 执行发现和获取操作
-
发现源站点
-
获取源站点的所有发现请求
-
发现目标站点
-
获取目标站点的所有发现请求
-
通过 Id 获取源站点的发现步骤
-
通过 Id 获取目标站点的发现步骤
虚拟机
使用 API 执行获取操作
-
获取源中的站点和虚拟环境的虚拟机
-
为站点和虚拟环境获取未受保护的虚拟机
-
获取虚拟机数量
-
获取受保护的虚拟机数量
资源
使用 API 执行获取操作
-
获取站点和虚拟环境的资源详细信息
-
获取源站点资源数量
资源组
使用 API 执行添加、更新和获取操作
-
获取保护组数量
-
获取所有保护组详细信息
-
添加保护组
-
通过 ID 获取保护组详细信息
-
根据 ID 删除保护组
-
根据 ID 更新保护组详细信息
-
根据 ID 获取保护组的虚拟机
-
获取包含保护组的蓝图
蓝图
使用 API 执行添加、更新和获取操作
-
获取蓝图数量
-
获取所有蓝图详细信息
-
添加蓝图
-
通过 ID 获取蓝图详细信息
-
根据 ID 删除蓝图
-
更新 Id 的蓝图详细信息
-
获取蓝图的虚拟机
-
获取蓝图中虚拟机的电源状态
-
获取蓝图数量
-
获取所有蓝图详细信息
遵守
使用 API 执行添加和获取操作
-
获取蓝图的合规性检查结果
-
获取蓝图的合规性检查最终状态
-
按需添加蓝图的新合规性检查
执行
使用 API 执行获取操作
-
获取所有执行细节
-
获取正在执行的详细信息
-
获取执行次数
-
获取正在进行的执行次数
-
获取执行步骤 ID
恢复
使用 API 执行添加和获取操作
-
为蓝图添加新的执行请求
-
为蓝图添加重试执行请求
-
获取所有蓝图的执行状态
-
获取蓝图 ID 的执行状态
脚本块
使用 API 执行获取和更新操作
-
获取所有脚本元数据
-
通过 Id 获取脚本元数据
-
获取所有刷新元数据
-
执行脚本
脚本块
Shift 工具包中的脚本块提供了示例代码,可帮助通过可用的内部和外部 API 实现自动化、集成和开发功能。在脚本块中的代码示例部分,浏览和下载由 Shift 工具包自动化团队和社区成员编写的示例。使用示例开始自动化、管理或集成任务。
这是一个示例 powershell 脚本的示例,可用于在 Shift UI 中删除特定作业。该功能不通过工作流公开,但可以通过脚本块实现。相同的脚本也可用作 bat 脚本,通过下载和调用即可轻松执行。
这里的目标是提供示例脚本,使用 Shift 工具包 API 和相应的虚拟机管理程序发布的 API 为特定的虚拟机管理程序执行第 0 天和第 N 天的操作。
SAN 环境
作为 Shift 工具包的一项关键要求,要转换的虚拟机必须位于 NAS 环境(ESX 的 NFS)中。如果虚拟机位于 SAN 环境(iSCSI、FC、FCoE、NVMeFC)中,则必须在转换之前将其迁移到 NAS 环境。
上述方法描述了典型的 SAN 环境,其中虚拟机存储在 SAN 数据存储中。首先使用 VMware vSphere Storage vMotion 将要从 ESX 转换为 Hyper-V 的虚拟机及其磁盘迁移到 NFS 数据存储。 Shift 工具包使用FlexClone将虚拟机从 ESX 转换为 Hyper-V。转换后的虚拟机(及其磁盘)位于 CIFS 共享上。转换后的虚拟机(及其磁盘)通过 Hyper-V 存储实时迁移迁移回启用 SAN 的 CSV。
|
如果节点具有不同的进程能力集,则实时虚拟机迁移可能会失败。这可以通过设置“迁移到具有不同处理器的物理计算机”来处理。该脚本可在脚本块下找到。 |