维护 Bare Metal 解决方案环境

Bare Metal 解决方案环境正常运行后,请按照本指南中提供的信息维护您的 Bare Metal 解决方案服务器。

设置 Google Cloud 项目以使用 Bare Metal Solution API

Bare Metal Solution API 提供许多工具,可让您监控和维护裸金属解决方案环境。通常,您只需在首次使用 Bare Metal Solution API 时执行此过程。但是,您可以根据需要重复使用这些说明进行问题排查,以防该 API 未按预期响应。

  1. 为您的主帐号分配 Bare Metal Solution Admin 或 Bare Metal Solution Editor 预定义 IAM 角色。如需了解如何映射 IAM 角色,请参阅授予 IAM 角色

  2. 在 Cloud 项目中启用 Bare Metal Solution API。

    控制台

    1. 转到 Google Cloud Console 信息中心中的 Bare Metal Solution API。您也可以从此处在 API 库中搜索 Bare Metal Solution API:API 和服务 > 库
    2. Bare Metal Solution API 页面上,点击启用
    3. 点击浏览器上的返回按钮。如果 API 已启用旁边显示绿色对勾标记,则表示您可以使用该 API。

    gcloud

    • 如需通过 gcloud 启用 Bare Metal Solution API,请在以下命令中输入您的 Google Cloud 项目 ID,复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键:

       gcloud services enable baremetalsolution.googleapis.com --project=PROJECT_ID
       

  3. 允许 Cloud SDK 使用您的 Cloud 项目。

    1. 在 Cloud Shell 窗口中,输入 gcloud auth login 命令。
      gcloud auth login
      
    2. 复制生成的网址并将其粘贴到单独的浏览器标签页或窗口中。
    3. 使用与您的 Cloud 项目关联的用户名登录该页面。
    4. 点击允许以启用 Cloud SDK。
    5. 复制授权代码。
    6. 将代码粘贴到 Cloud Shell 客户端命令行中。
    7. Enter 键或 Return 键。

如需详细了解在 Google Cloud 中设置 API 所需的一般步骤,请参阅 Google Cloud API 使用入门

重启裸金属解决方案服务器

如需关闭并重启 Bare Metal 解决方案服务器,请按以下步骤操作。

务必按照 API 设置步骤操作

重启服务器要求您启用 Bare Metal Solution API 和 Cloud SDK。您还需要授予 Bare Metal Solution Admin 或 Bare Metal Solution Editor IAM 角色。如需完成设置步骤,请参阅设置 Google Cloud 项目以使用 Bare Metal Solution API

登录 Bare Metal 解决方案服务器以观察服务器重启

  1. 打开 Cloud Console 窗口。
  2. 导航到您的跳板机虚拟机实例:Compute Engine > 虚拟机实例
  3. 点击 SSH 按钮以连接到跳板机虚拟机实例。
  4. 如需登录 Bare Metal 解决方案服务器,请在跳板机命令行中输入 SSH 命令。

    [username@instance-jump-host ~]$ ssh customeradmin@bms-ip-address>
    customeradmin@bms-ip-address's password: bms-password
    Last login: Mon Mar 15 22:43:19 2021 from bms-ip-address
    [customeradmin@bms-server-name ~]$
     

  5. 输入 top 命令以验证服务器是否正在运行。您可以使用此窗口来监控重新启动的进度。

运行重启命令

  1. 打开 Cloud Shell 窗口。
  2. 在以下命令中添加 Cloud 项目 ID 和 Bare Metal 解决方案服务器名称。

     curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "X-Goog-User-Project: project-id" \
     "https://baremetalsolution.googleapis.com/v1/projects/project-id/locations/loc/instances/bms-server-name:resetInstance" --header 'Content-Length: 0'
     

  3. 复制命令并粘贴到 Cloud Shell 窗口中,然后按 EnterReturn 键。

    Bare Metal 解决方案服务器会关机并重新启动,并在 Cloud Shell 窗口中显示左右大括号 {} 作为输出。服务器重新启动时,您无法在跳板机虚拟机实例上使用 ping 或 SSH 来访问 Bare Metal 解决方案服务器。

    几分钟后,Bare Metal 解决方案服务器将恢复在线状态。

  4. 服务器恢复在线状态后,您便可以成功从跳板机虚拟机实例发出 ping 或使用 SSH 来访问 Bare Metal 解决方案服务器。

如需详细了解如何重启 Bare Metal 解决方案服务器,请参阅 Bare Metal Solution API

管理裸金属解决方案环境中的服务器

通过 Bare Metal Solution Management API,您可以查看 Bare Metal 解决方案环境中的设备状态。如需查看当前状态,请按照以下步骤操作。

务必设置 Bare Metal Solution API

查看服务器状态要求您启用 Bare Metal Solution API 和 Cloud SDK。您还需要向主帐号授予一个裸金属解决方案 IAM 角色,例如 Bare Metal Solution Admin 或 Bare Metal Solution Editor。如需在管理服务器之前完成 API 设置步骤,请参阅设置 Google Cloud 项目以使用 Bare Metal Solution API

运行命令以查看裸金属解决方案环境中的服务器

发出命令来调用 Bare Metal Solution Management API 时,您可以了解裸金属解决方案环境中的设备的状态。如需查看当前状态,请选择以下命令选项之一:

控制台

  1. 打开 Google Cloud Console 中的 Cloud Shell 终端窗口

  2. 如需列出裸金属解决方案环境中的服务器并查看其状态,请在以下 curl 命令中输入您的项目 ID 和区域,复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances"
    
  3. 如需获取裸金属解决方案环境中的服务器的网络和存储信息,请发出以下命令:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME"
    

gcloud

  1. 如需列出裸金属解决方案环境中的服务器并查看其状态,请发出以下 gcloud 命令:

    gcloud bms instances list --project=PROJECT_ID
    

    以下输出示例显示了服务器的信息,例如服务器名称、类型、IP 地址和状态。

    NAME               PROJECT              REGION           MACHINE_TYPE          IP_ADDRESSES             STATE
    SERVER_NAME      PROJECT_ID        REGION         o2-standard-32-metal  192.168.1.1,192.168.2.1  RUNNING
    

    其他命令选项包括:

    • --region:查看特定 Google Cloud 区域中的设备。
    • --limit:限制输出以显示特定数量的设备
  2. 如需获取裸金属解决方案环境中的服务器的网络和存储信息,请发出以下 gcloud 命令:

    gcloud bms instances describe SERVER_NAME --project=PROJECT_ID --region=REGION
    

    以下输出示例显示了一个运行中的服务器,该服务器具有 12 个 LUN,客户端网络为 192.168.1.1,专用网络为 192.168.2.1。

    luns:
    - bootLun: true
      name: SERVER_NAME-lun000-b1
      sizeGb: '200'
      state: READY
      storageVolume: SERVER_NAME-vol000-b1
    - name: STORAGE_DEVICE_NAME-lun001
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun002
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun003
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun004
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun005
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun006
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun007
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun008
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun009
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun010
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun011
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    - name: STORAGE_DEVICE_NAME-lun012
      sizeGb: '85'
      state: READY
      storageVolume: STORAGE_DEVICE_NAME-vol001
    machineType: o2-standard-32-metal
    name: projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME
    networks:
    - ipAddress: 192.168.1.1
      macAddress:
      - 34:80:0D:52:AF:28
      - 34:80:0D:15:3E:0D
      network: STORAGE_DEVICE_NAME-vlan001
    - ipAddress: 192.168.2.1
      macAddress:
      - 34:80:0D:52:AF:38
      - 34:80:0D:15:3E:1D
      network: STORAGE_DEVICE_NAME-vlan002
    state: RUNNING