使用 Windows 发现工具

Migrate to Containers 提供了您在 Windows 虚拟机工作负载上运行的自助式工具,用于确定工作负载是否适合迁移到容器。

该工具会输出 zip 文件,指示 Windows 虚拟机是否适合迁移。文件的名称表示结果:

  • info-hostname-timestamp.zip 表示虚拟机适合迁移。
  • info-hostname-timestamp-NOFIT.zip 表示虚拟机不适合迁移。通常情况下,NOFIT 会导致 IIS 缺失或版本不正确。

工具的工作原理

由于 Migrate to Containers 要求 Windows 虚拟机运行 Microsoft IIS 7 或更高版本,因此发现工具会收集 IIS 和常规系统信息。

前提条件

如需运行 Windows 发现工具,请执行以下操作:

  • 您必须有 64 位版本的 Windows。
  • 您必须是 Windows 虚拟机上的管理员。

下载并运行工具

此工具打包为单个 .exe 文件。您必须先下载该工具,然后才能执行该工具。

评估虚拟机

  1. 登录虚拟机。

  2. 为工具创建一个目录:

    > mkdir m4a 
    > cd m4a
  3. 访问 https://storage.googleapis.com/anthos-migrate-release/v1.9.0/windows/amd64/collect_info.exe 将工具下载到虚拟机。

  4. 以管理员身份在虚拟机上运行该工具:

    您可以在文件管理器中右键点击该工具并选择以管理员身份运行,或者以管理员身份打开 PowerShell 命令窗口:

    > collect_info.exe

    该工具会将名为 info-hostname-timestamp.zipinfo-hostname-timestamp-NOFIT.zip 的 Zip 文件输出到当前目录。

    时间戳的格式为 YYYMMDDhhmmss。有关 Zip 文件的说明,请参阅输出 Zip 文件格式

    您可以选择使用 -o 选项指定输出目录的路径。例如:

    > collect_info.exe -o /home/mydir

    如需查看帮助信息,请使用:

    > collect_info.exe -h

输出 Zip 文件格式

输出 Zip 文件包含:

  • 名为 log.log 的日志文件。
  • 包含工具版本的 collect_info_version.txt 文件。
  • 包含系统相关信息的目录:
    • computer_info
    • iis
    • gac
    • odbc

下面介绍了每个目录的内容。

computer_info 目录

computer_info 目录包含:

文件 说明
hosts.txt 机器 hosts 文件的副本
installed_programs.json 已安装程序的信息
ipconfig_out.txt ipconfig /all 的输出。
msinfo32_out.txt 来自 msinfo32 实用程序的报告。
netstat_out.txt 创建每个连接或侦听端口时涉及的所有可执行和监听端口的信息。
routing_tables.txt 机器的路由表。
schedtasks.csv 计划任务的信息
systeminfo_out.csv systeminfo 实用程序的输出(采用 CSV 格式)。
win32_product_installed_programs.json Win32_Product WMI 类提供的已安装程序的信息。
windows_features.json 有关 Windows 功能的信息。

iis 目录

iis 目录包含关于 IIS、网站和 .NET 配置的信息,以及其他可能帮助我们理解应用的其他信息。

该目录包含以下文件:

文件 说明
Framework[64]_v<version>_config 为每个框架和版本复制所有 .NET 全局配置目录。

包括 global.configs 和 machine.configs,例如 Framework_v2.0.50727_configFramework64_v4.0.30319_config。此信息的来源为 %windir%\Microsoft.NET\Framework[64]\version\config

iis_config IIS 配置目录(包括配置和架构)的副本。
sites_files 某个目录包含来自 IIS 网站导出文件,这意味着网站上所有 web.config 文件的副本。
sites.json IIS 中配置的所有网站的相关信息,包括每个含有文件 ACL 信息的网站的递归目录列表。
version.txt IIS 版本。

在 iis 目录中处理 Secret

配置文件和目录(IIS、全局 .NET 和网站)的副本可能包含 Secret。这些文件包括 applicationHost.configweb.config

collect_info.exe 工具会从这些文件的连接字符串中过滤密码(.NET 3.5+ 格式)。每个密码都会替换为 ***。您可以移除和过滤输出 Zip 文件中的任何其他敏感信息。

gac 目录

gac 目录包含 .NET Global Assembly Cache 的信息:

文件 说明
clr2.txt CLR2.0 GAC 中的配件列表。
clr4.txt CLR4.0 GAC 中的配件列表。

odbc 目录

odbc 目录包含 ODBC DSN 和已安装的驱动程序的相关信息:

文件 说明
system_dsn_32.reg 导出的注册表,其中包含系统 32 位系统 DSN 和驱动程序的所有信息。
system_dsn_64.reg 导出的注册表,其中包含系统 64 位系统 DSN 和驱动程序的所有信息。
user_dsn.reg 导出的注册表,其中包含用户 32 位和 64 位用户 DSN 和驱动程序的所有信息。

在 odbc 目录中处理 Secret

ODBC DSN 可能包含 Secret。collect_info.exe 工具会从导出的 .reg 文件中滤除密码。您可以移除和过滤输出 Zip 文件中的任何其他敏感信息。

后续步骤