本文档介绍如何使用元数据服务器或操作系统工具检测虚拟机是否正在 Compute Engine 中运行。
使用元数据服务器检测虚拟机是否正在 Compute Engine 中运行
根据虚拟机的操作系统,请按照以下步骤之一向元数据服务器发送请求,并检测虚拟机是否正在 Compute Engine 中运行:
Linux 虚拟机
从 Linux 虚拟机运行以下命令:
curl metadata.google.internal -i
验证输出中是否存在如下所示的
Metadata-Flavor: Google
:HTTP/1.1 200 OK Metadata-Flavor: Google Content-Type: application/text Date: Tue, 23 Nov 2021 01:27:16 GMT Server: Metadata Server for VM Content-Length: 22 X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN 0.1/ computeMetadata/
如果输出中存在
Metadata-Flavor: Google
,则表示 Compute Engine 虚拟机发送了请求。
Windows 虚拟机
从 Windows 虚拟机运行以下命令:
curl metadata.google.internal -i
验证输出中是否存在如下所示的
Metadata-Flavor: Google
:HTTP/1.1 200 OK Metadata-Flavor: Google Content-Type: application/text Date: Tue, 23 Nov 2021 20:48:50 GMT Server: Metadata Server for VM Content-Length: 22 X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN 0.1/ computeMetadata/
如果输出中存在
Metadata-Flavor: Google
,则表示 Compute Engine 虚拟机发送了请求。
使用操作系统工具检测虚拟机是否正在 Compute Engine 中运行
根据虚拟机的操作系统,请按照以下步骤之一使用特定于虚拟机操作系统的工具检测虚拟机是否正在 Compute Engine 中运行:
Linux 虚拟机
从 Linux 虚拟机运行以下
dmidecode
命令:sudo dmidecode -s system-product-name | grep "Google Compute Engine"
此
dmidecode
命令会直接访问/proc/mem
中的系统管理服务 BIOS 信息。验证输出中是否存在
Google Compute Engine
。
Windows 虚拟机
在 Windows 命令提示符中,运行 WMI 命令行实用程序:
wmic.exe computersystem get model,manufacturer
验证
System Manufacturer
为Google
且System Model
为Google Compute Engine
。
如需了解如何以编程方式确定 Windows 虚拟机是否正在运行 Compute Engine,请参阅以下内容: