使用适合度评估工具

Migrate to Containers 提供了一个在虚拟机工作负载上运行的适合度评估工具,用于确定工作负载是否适合迁移到容器。该适合度评估工具可提供:

  • 通过与 vCenter 的直接连接获取 VMware 虚拟机的评估信息的功能。
  • 有关适用的评估规则的详细报告。
  • 新的收集脚本和新的评估工具 mfit

生成的评估报告会说明迁移前必须解决的所有问题,并提供以下整体适合度评估结果之一:

  • 完美适合。
  • 非常适合,可能需要注意一些发现结果。
  • 需要在迁移之前执行极少的工作。
  • 需要在迁移之前执行适量的工作。
  • 需要在迁移前执行大量工作。
  • 不合适。
  • 数据不足。

如需了解该工具如何确定虚拟机的整体适合度评估,请参阅评估操作

版本说明

1.11.3 版更新

功能

  • 适合度评估费用分析 - 在适合度评估报告中使用这一新部分来估算在 Google Cloud 中运行经过现代化改造的工作负载的费用。该报告按现代化改造策略对虚拟机进行分组,按策略显示估算的费用以及估算的总费用。费用分析帮助您确定是低工作量还是高度现代化改造策略可满足您的需求。如需查看现代化改造历程的成本效益,您需要在评估的虚拟机上运行收集脚本。如需查看更详细的说明,请参阅发现和收集数据

  • 改进了适合度历程的建议列表 - 完整的适合度评估报告现在会根据适合度以及所有失败条件的总严重级别对历程进行排序。列表中的第一个历程具有最高的推荐值,而失败严重级别较高的历程排名较低。

修复的问题

  • 228412514:修复了系统仅在运行 discover 命令时计算特征的问题。

1.11.2 版更新

功能

  • 报告过滤器 - 在适合度评估详细报告中添加了一个新过滤器,用于过滤适合特定历程的虚拟机。应用过滤条件后,系统会仅列出适合所选历程的虚拟机。

  • StratoZone - 向 StratoZone StratoProbe 收集器 5.0.2.1 添加了 mFIT 收集脚本。评估所需的信息由 StratoProbe 收集器收集,并可供已部署 StratoProbe 的用户用于评估。

细微更改

  • 225155748:添加了使用 mfit discover purge-db 命令来清除适合度评估本地数据库的选项

  • 218263444:在 CSV 报告中添加了有关 VMware 工具存在的信息。允许用户通过自动化脚本自动收集客机级别数据。

  • 222094811:向 Windows 收集脚本添加了一个 (--minimal) 标志,其有助于最大限度地减少收集的信息量,并仅提供评估 Windows IIS 应用容器化所需的特定信息。

  • 222433890:添加了一个选项,用于使用 mfit version --check 命令手动检查适合度评估工具新版本。

修复的问题

  • 227442419:从完整报告表中移除了适合度得分列,以提高可读性。

  • 228741831,227292405:更新了适合度评估摘要报告,以解决报告的摘要部分和指导部分中显示的百分比不匹配问题。

  • 222437181:将摘要报告上的严重性信息更改为使用文本而不是数值。

  • 222065929:修复了在适合度评估报告中标记为“其他操作系统”的操作系统识别错误。

1.11.1 版更新

  • 对错误进行了修复。

1.11.0 版更新

  • 执行摘要报告 - 此版本包含一个新的报告类型以及一项默认行为更改。新的执行摘要报告提供现代化改造流程的概览。概括来讲,该报告将现代化改造流程分为两个不同的场景:低工作量与高度现代化改造。了解这两种极端场景以及各自的优势和需要的工作量可帮助您进行关键业务决策。此外,报告的子部分介绍了迁移虚拟机(直接原样迁移分析)、重构为容器以及本地虚拟机现代化改造(通过将虚拟机迁移或挂接到 Anthos clusters on Bare Metal)的适合度和技术限制。默认的报告类型是新的执行摘要报告,在以前的版本中,默认报告为详细报告。
  • 评估要迁移到 Google Cloud VMware Engine 的工作负载 - 适合度评估工具增加了新的评估功能,用于评估要直接原样迁移到 Google Cloud VMware Engine 的工作负载。

1.10.0 版更新

1.10.0 版的适合度评估工具增加了一些新的功能,包括:

工具的工作原理

适合度评估工具的运行分为以下几个阶段:

  • 数据发现和收集阶段 - 收集要迁移的虚拟机的相关数据。您可以通过以下两种方式收集此数据:

    • 数据发现(仅限 VMware):运行 mfit 工具来执行资源清单发现:

      • VMware - 使用 vSphere API 收集有关 vCenter 中虚拟机的数据。mfit 工具使用传递给该工具的用户名和密码连接到远程 vCenter。

      • RVTools - 如果您使用 RVTools 创建关于 vSphere 的报告,则 mfit 工具可以导入由 RVTools 生成的 MPN 报告。

      通过发现功能,您可以快速确定虚拟机的特征,例如操作系统类型、存储、核心数和其他基本信息。但是,要计算完整的适合度评估,您必须在虚拟机上运行 mfit-linux-collect.sh bash 脚本。

      mfit 工具将评估数据和日志信息存储在宿主机的 ~/.mfit 目录中。

    • 收集:在要迁移的虚拟机上运行数据收集脚本,以收集用于确定虚拟机整体容器化适合度评估的详细信息。您必须在虚拟机上运行收集脚本,才能生成完整的适合度评估。

      该脚本会收集有关虚拟机的数据,并将该数据写入输出 tar 文件 (Linux) 或 zip 文件 (Windows)。对于 Linux 虚拟机,您可以选择将数据副本保留在虚拟机文件系统中,以供后续在迁移时使用。

      您可以在虚拟机本地运行脚本,也可以使用 mfit 远程运行脚本。对于在 VMware 上部署的 Linux 和 Windows 虚拟机,mfit 支持远程执行;此外,对于 Linux 虚拟机,系统还支持 mfit 通过 ssh 对其进行访问。

  • 评估阶段:使用 mfit 工具解析数据发现和收集阶段的数据、应用一组规则并为每个评估的虚拟机创建适合度评估分数。

    通常,您可以在单台 Linux 机器上安装 mfit,然后将收集脚本创建的 tar 文件 (Linux) 或 zip 文件 (Windows) 上传到该机器以供评估。

  • 报告阶段:使用 mfit 工具生成详细的报告,其中说明了每个虚拟机的评估结果。您可以创建 HTML、JSON 或 CSV 格式的报告。

与工作负载迁移集成

适合度评估工具在收集阶段中获取的有关来源虚拟机的数据可供 Migrate to Containers 用于为虚拟机生成迁移计划的各个部分。

例如,适合度评估工具收集的数据可用于发现来源虚拟机公开的服务端点的相关信息。因此,如果您想要自动填充服务端点的相关信息,就必须在来源虚拟机上运行该工具。如需了解详情,请参阅自定义 Service 端点

现代化改造流程

适合度评估报告工具使用流程来描述一组可能执行的现代化改造任务。该工具中定义的常见流程如下所示:

  • - 没有为工作负载确定适用的现代化改造流程。
  • 迁移 | Compute Engine 虚拟机 - 将虚拟机从 VMware 迁移到 Compute Engine。
  • 迁移 | Google Cloud VMware Engine - 将虚拟机从 VMware 迁移到 Google Cloud VMware Engine

  • 容器化 | Anthos 和 Google Kubernetes Engine - 将虚拟机或虚拟机上的应用迁移到在 Anthos 集群或 GKE 上运行的容器。

  • 容器化 | Google Kubernetes Engine Autopilot - 将虚拟机或虚拟机上的应用迁移到 Google Kubernetes Engine Autopilot。

  • 容器化 | Cloud Run - 将虚拟机或虚拟机上的应用迁移到 Cloud Run。

  • 容器化 | Tomcat 应用容器- 将 Tomcat 服务器和应用从虚拟机迁移到应用容器。如需了解 Tomcat 容器化,请参阅迁移 Tomcat 应用

查看适合度评估报告

要查看 mfit 工具输出的详细报告,您可以执行以下任一操作:

  • 在浏览器中打开 HTML 文件。适合度评估工具提供了增强的 HTML 输出,让您可以更轻松地查看评估结果。

  • 将 JSON 文件上传到 Google Cloud Console。

  • 将 CSV 文件导入您自己的数据可视化实用程序。

查看详细的 HTML 输出

在浏览器中打开 HTML 文件以查看报告。下图显示了 41 个虚拟机的详细评估报告(仅可看到摘要表的前六行):

mfit 工具的 HTML 输出。

其中:

  • 第一部分显示报告的运行者和运行时间。

  • 摘要流程分数操作系统发行版部分显示所有分析的虚拟机的结果的简要概览。

  • 在表格的第一行中,您可以指定报告的搜索条件。

  • 在该表中,每个被分析的虚拟机对应一行,并显示以下内容:

    • 虚拟机名称 - 根据收集来源最准确地描述虚拟机的名称。
    • 平台虚拟机 ID - 基于平台的虚拟机标识符。在 vSphere 上,这是 vCenter 主机名和 MoRef。在 AWS 和 Google Cloud 上,这是是实例 ID。
    • 适合度结果 - 推荐的现代化改造流程的适合度结果。此值取决于根据所选迁移过程测试的规则的结果。此字段定义在执行迁移之前需要花费大量精力的结果。完美适合是最佳结果,无需任何额外操作即可执行迁移。
    • 推荐的流程 - 在比较各种流程的适合度分数并选出适合度分数最高的流程后推荐的现代化改造流程。
    • 操作系统 - 操作系统名称的长格式。
    • 操作系统类型 - 虚拟机的操作系统。
  • 展开表中的每一行可查看虚拟机的相关信息:

    • 检测到信息,例如应用、侦听端口、磁盘装载、是否安装了客机工具以及指向原生平台控制台中的虚拟机的链接路径
    • 包含相应适合度结果的已评估流程表。
  • 展开已评估的流程表的每一行可详细了解评估规则:

    • 已评估的条件 - 针对影响特定迁移流程的现代化改造候选工作负载所测试的技术条件。
    • 规则 ID - 评估规则的唯一标识符。每条规则都会检查特定流程所需的一个特定条件。
    • 适合度结果 - 特定评估规则的适合度结果值。该值取决于准备自动迁移工作负载时的推荐任务所涉及的工作量大小。完美适合是最佳结果,无需任何额外操作即可执行迁移。
    • 摘要 - 满足规则条件时的规则摘要。
    • 建议和发现结果 - 根据适合度评估流程的发现结果,为实现自动迁移而提出的变更建议。

将 JSON 文件上传到 Google Cloud Console

如需在 Google Cloud Console 中查看报告,请执行以下操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Containers 页面。

    前往 Migrate to Containers 页面

  2. 选择适合度评估标签页。

  3. 选择浏览,然后选择要上传的 JSON 文件。

  4. 选择打开以查看报告。

    报告中会显示以下内容:

    • 准备方评估日期适合度评估工具字段包含报告的摘要信息。
    • 迁移过程分解区域显示以下内容:
      • 分析的虚拟机总数。
      • 准备好迁移或容器化的虚拟机数量。
      • 未准备好迁移的虚拟机数量。
    • 每个被分析的虚拟机对应一行,包括该虚拟机的适合度评估。
  5. 已评估的虚拟机表中,选择虚拟机的名称可以查看虚拟机的详细信息,包括监听端口、装载点、NFS 装载点等。

    对于所选虚拟机,您还会看到每条规则的说明和规则 ID,以及将规则应用到虚拟机的结果:

    LDT 的控制台输出。

安装适合度评估工具

安装 mfit 和收集脚本:

  • mfit:将 mfit 工具下载到中央 Linux 机器。然后,您可以将收集脚本生成的数据上传到此机器以供分析。

  • mfit-linux-collect.sh (Linux):将收集脚本下载到 Linux 虚拟机以执行数据收集。

  • mfit-windows-collect.ps1 (Windows):将收集脚本下载到 Windows 虚拟机以执行数据收集。

您可以选择使用 mfit 工具远程运行数据收集脚本,而不是在本地将收集脚本下载到每个虚拟机。此选项适用于在 VMware 上运行的虚拟机;此外,对于 Linux 虚拟机,此选项还允许从托管 mfit 的机器进行远程 ssh 连接。

前提条件

如需执行适合度评估,您必须满足以下前提条件:

  • mfit

    • 适合度评估工具 mfit 在 Linux 内核版本 2.6.23 或更高版本上运行。

    • 如需使用 mfit 通过 VMware 发现收集数据,则必须满足以下前提条件:

      • 运行 mfit 的 Linux 机器必须能够连接到您的 vCenter。

      • vSphere vCenter 服务器版本必须为 5.5 或更高版本。

      • 传递给该工具的用户名必须拥有一个或多个虚拟机的读取权限。该工具只能发现指定用户可访问的虚拟机的相关信息。读取权限通常分配给除 No Access 以外的所有角色。

      • 传递给工具的用户名必须具有主机 ESX 的读取权限。如果存在多个 ESX 服务器,则需要托管被发现的虚拟机的每个 ESX 的读取权限。

    • 如需使用 mfit 为 VMware 虚拟机远程运行收集脚本,则必须满足以下前提条件:

      • 您需要拥有上述权限才能运行 VMware 发现。

      • 传递给用于连接到 vSphere 的工具的用户名必须在虚拟机中具有以下权限:Guest operation modificationsGuest operation program executionGuest operation queries

      • mfit 用于执行脚本的虚拟机用户凭据必须具有管理员权限(Windows 虚拟机)。

    • 如需使用 mfit 通过 ssh 远程运行收集脚本,则必须满足以下前提条件:

      • 托管 mfit 的 Linux 机器必须具有对来源 Linux 虚拟机的 ssh 访问权限(不支持 Windows 虚拟机)。
  • 收集脚本

    • mfit-linux-collect.sh (Linux) 在所有 Linux 版本上运行。

    • mfit-windows-collect.ps1 (Windows),需要 Windows 7/Windows Server 2008r2 或更高版本。它必须以管理员身份运行。

安装

以下步骤介绍如何安装 mfit 和收集脚本。

安装 mfit

  1. 在 Linux 虚拟机上为 mfit 工具创建一个目录:

    mkdir m4a
    cd m4a
    
  2. 下载评估工具并使其可执行:

    curl -O "https://mfit-release.storage.googleapis.com/$(curl -s https://mfit-release.storage.googleapis.com/latest)/mfit"
    chmod +x mfit
    
  3. 如需查看 mfit 命令的帮助信息,请使用 --help 选项。例如:

    ./mfit --help
    

    如需查看特定命令的帮助,请在该命令中使用 --help 选项。例如:

    ./mfit discover import --help
    

安装 mfit-linux-collect.sh

  1. 登录虚拟机。

  2. 为收集脚本创建一个目录:

    mkdir m4a
    cd m4a
    
  3. 将收集脚本下载到虚拟机并使其可执行:

    curl -O "https://mfit-release.storage.googleapis.com/$(curl -s https://mfit-release.storage.googleapis.com/latest)/mfit-linux-collect.sh"
    chmod +x mfit-linux-collect.sh
    

如需安装 mfit-windows-collect.ps1,请执行以下操作:

  1. 登录虚拟机。

  2. 使用以管理员身份运行选项打开 PowerShell。

  3. 为收集脚本创建一个目录:

    mkdir ~\m4a
    cd ~\m4a
    
  4. 使用 PowerShell 下载收集脚本:

    $version = Invoke-WebRequest -UseBasicParsing https://mfit-release.storage.googleapis.com/latest
    $WebClient = New-Object System.Net.WebClient
    $WebClient.DownloadFile("https://mfit-release.storage.googleapis.com/"+$version+"/mfit-windows-collect.ps1", (Get-Location).Path + "\mfit-windows-collect.ps1")
    

执行评估

通过执行以下所有评估阶段来完成评估:

发现和收集数据

通过以下方式收集数据:

  • 发现(仅限 VMware):运行 mfit 工具来执行资源清单发现:

    • VMware - 使用 vSphere API 收集运行该工具的用户可以看到的 vCenter 中的所有虚拟机的相关数据。mfit 工具使用传递给该工具的用户名和密码连接到远程 vCenter。需要先提供这些凭据,然后才能运行评估。

    • RVTools - 适合度评估工具现在支持分析来自单个 VMware vCenter 的 RVTools .xlsx 报告文件。您可以使用 RVTools 数据源,通过运行以下命令,以基于现有 RVTools 导出生成详细的适合度评估报告:

    $./mfit discover rvtools name.xlsx.
    
  • 收集:在要迁移的虚拟机上运行数据收集脚本。该脚本会收集有关虚拟机的数据,并将该数据写入 tar 文件 (Linux) 或 zip 文件 (Windows)。将该文件上传到中央机器,供 mfit 工具进行评估。

    您可以在虚拟机本地运行脚本,也可以使用 mfit 远程运行脚本。对于在 VMware 上部署的 Linux 和 Windows 虚拟机,mfit 支持远程执行;此外,对于 Linux 虚拟机,系统还支持 mfit 通过 ssh 对其进行访问。

以下部分介绍如何执行发现(仅限 VMware)以及如何运行收集脚本:

执行发现(仅限 VMware)

  1. 切换到 m4a 目录:

    cd ~/m4a
    
  2. 运行以下命令以执行发现:

    ./mfit discover vsphere -u USERNAME --url https://VSPHERE_URL
    
  3. 出现提示时,输入 vCenter 密码。

  4. 使用 mfit discover import 下载并导入 tar 文件后,您可以按照下文所述评估收集的数据

确定发现范围

  1. 运行以下命令以在根上执行发现:

    ./mfit discover vsphere --url https://VSPHERE_URL -u USERNAME --path /

    运行以下命令以在特定文件夹中执行发现:

    ./mfit discover vsphere --url https://VSPHERE_URL -u USERNAME --path datacenter/vm/folder

    运行以下命令以在特定集群中执行发现:

    ./mfit discover vsphere --url https://VSPHERE_URL -u USERNAME --path datacenter/host/cluster

    运行以下命令以在特定数据中心执行发现:

    ./mfit discover vsphere --url https://VSPHERE_URL -u USERNAME --path datacenter
  2. 运行 mfit discover import 后,您可以按照下文所述评估收集的数据

使用 VMware 工具远程收集数据

对于托管在 vSphere 上的虚拟机,mfit 可以使用 VMware 工具在 Linux 和 Windows 虚拟机上远程部署和运行收集脚本。使用 VMware 工具时,mfit 工具会执行以下操作:

  • 将收集脚本上传到虚拟机
  • 在虚拟机上运行脚本
  • 下载并导入结果

您需要两组凭据才能远程收集数据:

  • 传递给用于连接到 vSphere 的工具的 vCenter 服务器用户名必须在虚拟机中具有以下权限:Guest operation modificationsGuest operation program executionGuest operation queries

  • 虚拟机的用户凭据:

    • 在 Windows 中,您必须拥有管理员权限。
    • 在 Linux 中,根权限不是必需的,但根权限能保证 mfit 可以收集所有适合度评估数据。

如需使用 VMware 工具收集数据,请执行以下操作:

  1. 登录托管 mfit 的 Linux 虚拟机。

  2. 切换到 m4a 目录:

    cd ~/m4a
  3. 确保虚拟机已启动,并将 vCenter 服务器用户、虚拟机用户凭据和 VM_ID(虚拟机或 MOREF 的名称)传递给命令:

    mfit discover vsphere guest --url https://VSPHERE_URL \
      -u VCENTER_USER --vm-user VM_USER VM_ID

    系统会提示您输入 VCENTER_USERVM_USER 的密码。

    如果您的 vSphere 集群具有多个数据中心,则必须使用 --dc 选项指定数据中心名称:

    mfit discover vsphere guest --url https://VSPHERE_URL --dc DATACENTER_NAME \
      -u VCENTER_USER --vm-user VM_USER VM_ID

通过 SSH 远程收集数据

如果托管 mfit 的 Linux 机器对来源 Linux 虚拟机有 ssh 访问权限(不支持 Windows 虚拟机),则 mfit 可以通过 ssh 连接到远程虚拟机来收集数据。

使用 ssh 时,mfit 工具会执行以下操作:

  • 将收集脚本上传到虚拟机。
  • 使用传递给 mfit 的虚拟机用户凭据在虚拟机上运行脚本。虽然虚拟机用户凭据不需要根访问权限,但具有根访问权限可确保 mfit 可以收集所有适合度评估数据。
  • 下载并导入结果。

您可以使用两种模式运行 ssh

  • 原生(默认):使用 mfit 机器上的 ssh 二进制文件和配置。原生模式默认使用本地 SSH 配置文件,例如托管它的工作站的 ~/.ssh/config~/.ssh/known_hosts

    在提示时输入密码,或使用 sshpass 在命令行中传递密码或私钥文件口令。例如:

    sshpass -p password mfit discover ssh IP-ADDRESS
    
  • 嵌入式:使用内置的 ssh 库。如果您环境中的原生模式出现故障,此模式允许您使用嵌入式 ssh 客户端。但是,默认情况下,它不会使用本地 SSH 配置文件。您可以使用 -i 选项指定 SSH 私钥文件。

如需通过 ssh 收集数据,请执行以下操作:

  1. 登录托管 mfit 的 Linux 虚拟机。

  2. 切换到 m4a 目录:

    cd ~/m4a
  3. 运行 mfit

    1. 使用原生模式(默认)收集数据:

      mfit discover ssh VM_IP_HOSTNAME

      调用 mfit 的用户的 SSH 私钥文件将用于 SSH 身份验证。

      出现提示时,输入 Linux 虚拟机上帐号的用户名。收集脚本会使用这些凭据运行。如果调用 mfit 的用户的 SSH 私钥未能通过用户名向虚拟机进行身份验证,则系统还会提示您输入密码。

    2. 使用原生模式指定虚拟机用户:

      mfit discover ssh -u USER VM_IP_HOSTNAME

      出现提示时,输入用户的密码。

    3. 使用 -v 选项指定详细模式:

      mfit discover ssh -u USER -v VM_IP_HOSTNAME
    4. 使用 -i 选项指定 SSH 私钥文件。例如,如需指定 .ssh/my_private_key,请运行以下命令:

      mfit discover ssh -i ~/.ssh/my_private_key -u USER VM_IP_HOSTNAME
    5. 使用嵌入式模式在命令行中指定密码:

      mfit discover ssh --ssh-client embedded -u USER --password PASSWORD VM_IP_HOSTNAME

      由于命令的嵌入式模式默认情况下不使用本地 SSH 配置文件,因此命令中指定的 USER 必须能够通过 ssh 访问虚拟机并且有权在虚拟机上执行收集脚本。

    6. 结合使用 -i 选项和嵌入式模式:

      mfit discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD VM_IP_HOSTNAME
    7. 借助 mfit 命令,您可以指定大多数 ssh 标志。然后,使用 -a/--ssh-args 选项将这些标志传递给 ssh 命令。例如,要使用 socks 代理,请运行以下命令:

      mfit discover ssh -u USER \
        -a '-o' -a 'ProxyCommand=nc -X 5 -x 127.0.0.1:proxy port %h %p'
        VM_IP_HOSTNAME

收集单个 Linux 虚拟机的数据

您可以在虚拟机上运行 mfit-linux-collect 脚本,以收集有关该虚拟机的数据。然后,可以通过将 tar 文件下载到安装了 mfit 的机器并运行 mfit discover import path-to-tar 来导入该文件。通常,您可以通过指定 sudo 选项来运行该脚本。您可以选择使用运行该工具的用户的权限来运行脚本。但是,脚本可能无法收集所有评估数据。

  1. 登录虚拟机。

  2. 切换到 m4a 目录:

    cd ~/m4a
  3. 在虚拟机上运行收集脚本:

    sudo ./mfit-linux-collect.sh

    该脚本将名为 m4a-collect-MACHINE_NAME-TIMESTAMP.tar 的 tar 文件输出到当前目录和 /var/m4a/m4a-collect-TIMESTAMP.tar。 时间戳的格式为 YYYY-MM-DD-hh-mm。如需了解 tar 文件格式,请参阅收集脚本操作

    您可以将可选参数传递给脚本:

    • --user,以运行该工具的用户的权限运行此脚本(使用此选项运行时省略 sudo)。使用 --user 运行意味着可能无法收集某些需要 sudo 访问权限的数据,这可能会降低适合度评估的质量。
    • --readonly,忽略写入 /var/m4a/m4a-collect-TIMESTAMP.tar 的输出。请注意,Migrate to Containers 的某些功能依赖于此信息。如需了解详情,请参阅与工作负载迁移的集成
    • --output,在指定路径下保存 tar 文件。
  4. 现在,您可以按照以下说明评估收集的数据

收集单个 Windows 虚拟机的数据

  1. 登录虚拟机。

  2. 使用以管理员身份运行选项打开 PowerShell。

  3. 切换到 m4a 目录:

    cd ~/m4a
  4. 在虚拟机上运行收集脚本:

    powershell -ExecutionPolicy ByPass -File .\mfit-windows-collect.ps1

    该脚本会将名为 m4a-collect-MACHINE_NAME-TIMESTAMP.zip 的 zip 文件输出到当前目录。添加输出路径可指定其他位置:

    .\mfit-windows-collect.ps1 \path\to\output\file.zip
  5. 现在,您可以按照以下说明评估收集的数据

使用 StratoZone 收集数据

使用 StratoZone StratoProbe 5.0.2.1 版或更高版本的客户可以使用该数据来评估其虚拟机。

  1. 在安装了 mFIT 的工作站上创建一个本地文件夹 ./collection_data

  2. 将存储在 StratoProbe 工作站上的已收集的 tar 文件(位于 C:\Program Files\StratoProbe\data\mFIT)下载到安装了 mFIT 的工作站上的 ./collection_data 文件夹。

  3. 运行以下命令以从已收集的文件执行发现:

    $ ./mfit discover import ./collection_data

  4. 评估收集的数据。

  5. 生成报告

评估收集的数据

如需执行评估,请对收集阶段收集的数据运行 mfit

执行评估

  1. 执行评估:

    ./mfit assess

    GCP 目标平台默认会进行评估。

  2. 指定 target-platform

    ./mfit assess --target-platform TARGET-PLATFORM

可用的选项包括 gcpanthosanthosbmall。每个选项都会指定一组不同的评估流程:

  • gcp 评估到 Compute Engine 和 Google Cloud VMware Engine 的迁移流程,以及到 Google Kubernetes Engine、Google Kubernetes Engine Autopilot 和 Cloud Run 的容器化流程。

  • anthos 评估至 Anthos on Bare Metal 的迁移流程和挂接流程,以及至 Google Kubernetes Engine 和 Cloud Run 的容器化流程。

  • anthosbm 等效于 anthos

  • all 评估所有可能的流程。

  1. 按目标平台查看详细的流程选择:

    流程名称 Compute Engine Anthos/Anthos Bare Metal 全部
    迁移 | Compute Engine 虚拟机 已包含 已排除 已包含
    迁移 | Google Cloud VMware Engine 已包含 已排除 已包含
    迁移 | Bare Metal 上的 Anthos 虚拟机 已排除 已包含 已包含
    挂接 | Bare Metal 上的 Anthos 虚拟机 已排除 已包含 已包含
    容器化 | Anthos 和 GKE 已包含 已包含 已包含
    容器化 | Autopilot 已包含 已排除 已包含
    容器化 | Cloud Run 已包含 已包含 已包含
    容器化 | Tomcat 应用容器 已包含 已包含 已包含
  2. 现在,您可以生成报告以查看评估结果。

生成报告

使用 mfit 工具生成摘要报告或详细报告。默认生成摘要报告。要运行详细报告,请添加 --full 标志。您可以采用 HTML、JSON 或 CSV 文件格式输出报告。

要生成报告,请执行以下操作:

  1. 切换到 m4a 目录:

    cd ~/m4a
    
  2. 生成评估的 HTML 报告:

    1. 运行以下命令:

      ./mfit report --format html > REPORT_NAME.html
      

      或者,运行以下命令以获取详细报告:

      ./mfit report --format html --full > REPORT_NAME.html
      

      工具会将名为 REPORT_NAME.html 的 HTML 文件输出到当前目录。

    2. 在浏览器中打开 REPORT_NAME.html 以查看报告。如需获取详细的报告文件格式的说明,请参阅报告内容

  3. 如需生成评估的 JSON 报告,请执行以下操作:

    1. 运行以下命令:

      ./mfit report --format json >  REPORT_NAME.json
      

      该工具会将名为 REPORT_NAME.json 的 JSON 文件输出到当前目录。

    2. 将 JSON 文件上传到 Google Cloud Console

      输出文件包含有关评估的信息,包括适合度评估。如需了解详情,请参阅报告内容

  4. 生成评估的 CSV 报告:

    1. 运行以下命令:

      ./mfit report --format csv >  REPORT_NAME.csv
      

      该工具会将名为 REPORT_NAME.csv 的 CSV 文件输出到当前目录。

    2. 将 CSV 报告导入您的数据可视化实用程序。

      输出文件包含有关评估的信息,包括适合度评估。如需了解详情,请参阅报告内容

收集脚本操作

收集脚本会运行一系列 Linux 命令以收集来源虚拟机的相关信息,同时还从虚拟机上的多个文件收集信息。

以下部分介绍脚本的操作。您还可以在文本编辑器中检查脚本以查看更详细的信息。

脚本命令

该脚本会运行以下 Linux 命令:

命令 说明
netstat -tlnp 列出所有有效的侦听端口
ps -o pid,user,%mem,comm,args -e 所有正在运行的用户进程的列表
dpkg -l 列出已安装的软件包(基于 debian)
rpm -qa 已安装软件包的列表(基于 rpm)
sestatus 获取 SELinux 状态
lsmod 获取已加载的内核模块
systemctl 列出正在运行的服务 (SystemD baseD)
service --status-all 列出正在运行的服务(基于 Init.d /Upstart)
lsof /dev / 列出文件和硬件设备的开放句柄
docker ps 列出正在运行的 Docker 容器
ip addr 列出分配给 NIC 的 IP 地址
ifconfig 显示 NIC 配置和分配的 IP
blkid 列出块存储设备属性
lsblk --json -p --output NAME,PARTFLAGS,PARTTYPE,UUID,LABEL,FSTYPE" 列出块存储设备
uname --all 列出内核、硬件、操作系统信息。
locale --all-locales --verbose 写入可用语言区域的名称。
locale --charmaps --verbose 写入可用字符映射的名称。
locale 写入 LANG 和 LC_ 设置。
localectl status 显示当前语言区域设置。
df 收集当前对象列表。

已收集的文件数

该脚本会将以下文件复制到生成的 tar 文件中:

路径 说明
/etc/fstab 启动时装载的装载列表
/etc/os-release CentOS 版本
/etc/default/locale
/etc/locale.conf
Ubuntu/Debian 上的语言区域设置
CentOS/RHEL 上的语言区域设置
/etc/hosts

/etc/resolv.conf

/etc/hostname

/etc/HOSTNAME

/proc/sys/kernel/hostname

主机和 DNS 数据的别名
/etc/issue

/etc/*-release

Linux 发行版的名称
/etc/network/interfaces

/etc/dhcp/dhclient-up-hooks

/etc/NetworkManager/conf.d/*

/etc/systemd/resolved.conf

/etc/sysconfig/network-scripts/*

/etc/sysconfig/network/*

配置的接口
/proc/cpuinfo CPU 信息
/proc/meminfo 虚拟机上当前的内存用量/总内存
/proc/self/mounts 当前装载的设备
/etc/exports NFS 导出列表
/opt/IBM/WebSphere/AppServer/properties/version/installed.xml Websphere 版本(默认安装时)
/opt/IBM/WebSphere/AppServer/properties/version/WAS.product Websphere 信息(默认安装时)
/sys/class/net/* NIC 信息
/sys/class/dmi/id/product_uuid
/sys/class/dmi/id/product_serial
/sys/class/dmi/id/chassis_serial
/sys/class/dmi/id/chassis_asset_tag

来自 SMBIOS 的 UUID
来自 SMBIOS 的序列
来自 SMBIOS 的序列
来自 SMBIOS 的资产标记

已检查的目录

该脚本会搜索以下目录(深度为 2),以查找已安装的实用程序和软件的目录:

  • /opt/
  • /usr/share/
  • /etc/
  • /usr/sbin/
  • /usr/local/bin/

收集 tar 文件格式

m4a-fit-collect.sh 脚本将名为 m4a-collect-machinename-timestamp.tar 的 tar 文件输出到当前目录和 /var/m4a/m4a-collect-timestamp.tar

您可以选择使用以下命令扩展 tar 文件,但这并非必需:

tar xvf m4a-collect-machinename-timestamp.tar

tar 文件采用以下格式:

collect.log # Log output of the script
files # Directory containing files with their full path from root. For example:
   |- etc/fstab
   |- etc/hostname
   |- etc/network/interfaces
   |- ...
commands # Output of commands run by the script:
   |- dpkg
   |- netstat
   |- ps
   |- ...
found_paths # Text file with the list of installation directories
machinename # Text file with machine name
ostype # Text file with operating system type (Linux)
timestamp # Text file with collection timestamp
version # Text file with version number of the script

执行快速评估

收集脚本创建的工件可用于执行快速评估。

如需执行快速评估,请执行以下操作

  1. 切换到 m4a 目录:

    cd ~/m4a
  2. 执行评估:

    ./mfit assess sample /path/to/mfit-linux-collect-results.tar

    这相当于在临时数据库上运行以下命令:

    ./mfit discover import /path/to/mfit-linux-collect-results.tar --db /tmp/db
    ./mfit assess --db /tmp/db
    ./mfit report --db /tmp/db

  3. 查看生成的报告。

如需了解每条规则的说明,请参阅适合度评估规则

自动版本检查

默认情况下,适合度评估工具会执行版本检查。为了使版本检查正常工作,需要连接到互联网。当 mfit 运行且有新版本时,系统将显示提醒消息。

如果需要代理才能访问互联网,请运行以下命令进行设置:

mfit config set proxy PROXY

如需停用自动版本检查,请设置 disable_version_checking 选项:

mfit config set disable_version_checking true

适合度评估工具配置

适合度评估工具具有配置属性,您可以使用配置命令来管理这些属性。

如需输出所有配置属性及其值,请运行以下命令:

mfit config list

如需输出配置属性的值,请运行以下命令:

mfit config get proxy

如需设置配置属性,请运行以下命令:

mfit config set proxy PROXY

如需将配置属性重置为默认值,请运行以下命令:

mfit config unset proxy