维护 Bare Metal 解决方案环境

裸金属解决方案环境正常运行后,请按照本指南中提供的信息维护裸金属解决方案服务器、存储和网络。

如果您在裸金属解决方案环境中运行 SAP HANA,请参阅裸金属解决方案上的 SAP HANA 规划指南

设置 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. 在 Google Cloud 项目中启用 Bare Metal Solution API。

    控制台

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

    gcloud

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

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

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

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

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

运行裸金属解决方案服务器

您可以在裸金属解决方案服务器上执行以下操作:

  • 启动 - 开启服务器的电源。
  • 停止 - 关闭服务器的电源。
  • 重置 - 重启服务器。

控制台

如需在服务器上执行这些操作,请按照以下步骤操作:

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器页面。

  2. 对于要启动、停止或重置的服务器,请点击

  3. 执行以下操作:

    • 如需开启服务器的电源,请点击启动
    • 如需关闭服务器的电源,请点击停止
    • 如需重启服务器,请点击重置

gcloud

  1. 如需关闭并重启裸金属解决方案服务器,请按照以下步骤操作。

    1. 务必按照 API 设置步骤操作。

      重启服务器要求您启用裸金属解决方案 API 和 gcloud CLI。您还需要向主账号授予 Bare Metal Solution Admin 或 Bare Metal Solution Editor IAM 角色。如需完成设置步骤,请参阅设置 Google Cloud 项目以使用 Bare Metal Solution API

    2. 如需关闭并重启裸金属解决方案服务器,请发出 gcloud bms instances reset 命令:

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

      输出会显示服务器重启请求的状态。

      Reset request issued for: [SERVER_NAME]

      Waiting for operation [operations/880d346a-4836-4467-acc4-29e6a430bfdd] to complete...done.

      输入该命令后,裸金属解决方案服务器会重启。重启需要 15 到 60 分钟才能完成,具体取决于您的服务器配置。

      此命令的输出提供了一个操作 ID,可用于检查重启状态。如需使用操作 ID 并查看重启状态,请参阅查看长时间运行的操作的状态

  2. 如需开启服务器的电源,请使用 gcloud bms instances start 命令。

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

    输出会显示服务器重启请求的状态。

    Start request issued for: [SERVER_NAME]

    Waiting for operation [operations/880d346a-4836-4467-acc4-29e6a430bfdd] to complete...done.

    在大多数情况下,服务器的电源会保持开启。如果您需要关闭电源,请使用以下选项:

    • 使用服务器操作系统的关闭命令。
    • 某些应用在重新成像后会自动关闭服务器的电源。
  3. 如需关闭服务器的电源,请使用 gcloud bms instances stop 命令。

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

API

  1. 如需关闭并重启裸金属解决方案服务器,请按照以下步骤操作。

    1. 务必按照 API 设置步骤操作。

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

    2. 登录裸金属解决方案服务器以观察服务器重启。

      • 打开 Google Cloud 控制台窗口。
      • 导航到您的跳转主机虚拟机实例:Compute Engine > 虚拟机实例
      • 点击 SSH 按钮以连接到跳板机虚拟机实例。
      • 如需登录裸金属解决方案服务器,请在跳板机命令行中输入 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 2022 from bms-ip-address
        [customeradmin@BMS_SERVER_NAME ~]$
        
      • 输入 top 命令以验证服务器是否正在运行。您可以使用此窗口来监控重新启动的进度。

    3. 运行重启命令

      • 打开 Cloud Shell 窗口。
      • 在以下命令中添加 Google Cloud 项目 ID、区域和裸金属解决方案服务器名称。

        curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        -H "Content-Type: application/json" \
        "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/BMS_SERVER_NAME:reset"
        
      • 复制命令并粘贴到 Cloud Shell 窗口中,然后按 EnterReturn 键。

        裸金属解决方案服务器会重启。重启需要 15 到 60 分钟才能完成,具体取决于您的服务器配置。

        此命令的输出提供了一个操作 ID,可用于检查重启状态。如需使用操作 ID 并查看状态,请参阅查看长时间运行的操作的状态

        {
         "name": "operations/5c0c8b3f-5edc-4117-be9f-812af9740aaf"
        }
        

        服务器重新启动时,您无法在跳板机虚拟机实例上使用 ping 或 SSH 来访问裸金属解决方案服务器。几分钟后,裸金属解决方案服务器将恢复在线状态。

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

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

  2. 如需开启服务器的电源,请输入项目 ID、区域和服务器名称,然后发出以下 curl 命令。

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

    大多数情况下,服务器的电源会保持开启。如果您需要关闭电源,请使用以下选项:

    • 使用服务器操作系统的关闭命令。
    • 某些应用在重新成像后会自动关闭服务器的电源。
  3. 如需关闭服务器的电源,请输入项目 ID、区域和服务器名称,然后发出以下 curl 命令。

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

由于启动、停止和重启服务器需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

检查服务器的状态

服务器会在其生命周期中转换多个状态。当您启动服务器时,裸金属解决方案会为服务器预配资源。接下来,服务器为启动序列做准备。服务器启动后,会进入运行状态。在服务器正常运行期间,您可以停止并重启正在运行的服务器。

服务器可能处于以下任一状态:

  • PROVISIONING:为服务器分配资源。服务器尚未运行。
  • STARTING:获取资源。服务器正在启动。

    启动操作通常需要 30 分钟,之后服务器状态会设置为 RUNNING

  • RUNNING:服务器已启动且正在运行

    如果服务器状态为 RUNNING,但您无法使用服务器,则它可能仍在启动。如果您的服务器很大或具有许多存储卷和 LUN,则可能会发生这种情况。如需了解详情,请参阅服务器需要很长时间才能启动

  • STOPPING:服务器正在停止。

  • SHUTDOWN:服务器已停止并关闭。

  • DELETED:服务器已删除。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器页面。

  2. 您可以在状态列中查看服务器的状态。

gcloud

如需检查服务器的状态,请发出 gcloud bms instances describe 命令。

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

您可以在输出的 state 字段中查看服务器的状态。例如:

state: RUNNING

API

如需检查服务器的状态,请在以下 curl 命令中输入项目 ID、区域和服务器名称。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

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

您可以在输出的 state 字段中查看服务器的状态。例如:

"state" : "RUNNING"

管理裸金属解决方案环境中的资源

借助 Bare Metal Solution Management API、gcloud 命令和 Google Cloud 控制台,您可以查看裸金属解决方案环境中的资源(例如服务器、网络和存储)的状态。

务必设置 Bare Metal Solution API

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

列出组织和文件夹中的裸金属解决方案资源

有时,您可能需要在组织级或文件夹级查看裸金属解决方案资源。如需在组织级或文件夹级列出资源,您需要拥有在相应级别列出这些资源的 IAM 权限。

如需了解如何向用户授予 IAM 权限,请参阅使用 IAM 对组织资源进行访问权限控制

以下是一个 Python 脚本示例,其中列出了组织或文件夹中的存储卷。您可以根据需要修改此示例脚本并使用它。例如,使用 attached=false 等过滤条件,您可以列出所有未挂接的存储卷。

如需使用此脚本在组织级层列出存储卷,您需要拥有组织级层的以下 IAM 权限:

  • resourcemanager.folders.get
  • resourcemanager.folders.list
  • resourcemanager.organizations.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • baremetalsolution.volumes.list
  • baremetalsolution.luns.list

#!/usr/bin/env python

# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


# This file is automatically generated. Please do not modify it directly.
# Find the relevant recipe file in the samples/recipes or samples/ingredients
# directory and apply your changes there.

from typing import Sequence
from typing import Tuple
from absl import app
from absl import flags
from google.api_core.exceptions import PermissionDenied
from google.cloud import resourcemanager_v3
from google.cloud.bare_metal_solution_v2.services.bare_metal_solution import BareMetalSolutionClient
from google.cloud.bare_metal_solution_v2.types import ListVolumesRequest


_ORGANIZATION_ID = flags.DEFINE_string(
    "organization-id",
    None,
    "Your organization id retrieved from its name:"
    " organizations/<organization-id>.",
)
_FOLDER_ID = flags.DEFINE_string(
    "folder-id",
    None,
    "Your folder id retrieved from its name: folders/<folder-id>.",
)
_FILTER = flags.DEFINE_string(
    "filter",
    "",
    "Filter for the resource list request. Syntax should be per"
    " https://google.aip.dev/160",
)


def get_projects(
    parent: str,
    folders_client: resourcemanager_v3.FoldersClient,
    projects_client: resourcemanager_v3.ProjectsClient,
) -> str:
  """Retrieves a list of all project IDs available in given organization or folder parent.

  Args:
      parent: Organization ID or Folder ID of the Cloud org or folder you want
        to recursively list project IDs from.
      folders_client: Resource manager folder API client.
      projects_client: Resource manager project API client.

  Yields:
      The list of project ids as a string.
  """
  projects_request = resourcemanager_v3.ListProjectsRequest(parent=parent)
  for project in projects_client.list_projects(request=projects_request):
    yield project.project_id

  folders_request = resourcemanager_v3.ListFoldersRequest(parent=parent)
  for folder in folders_client.list_folders(request=folders_request):
    get_projects(folder.name, folders_client, projects_client)


def get_volumes_list(parent: str, filter: str) -> Tuple[str, str]:
  """Retrieves a list of all volume names available in given project.

  Args:
      parent: Organization ID or Folder ID of the Cloud org or folder you want
        to recursively list volumes from.
      filter: Filter string for the resource list call. Syntax is per
        https://google.aip.dev/160.

  Returns:
      The list of volumes as a string and the list of PermissionDenied errors in
      individual folder or projects, if any.
  """
  folders_client = resourcemanager_v3.FoldersClient()
  projects_client = resourcemanager_v3.ProjectsClient()
  bms_client = BareMetalSolutionClient()
  output = []
  errors = []

  try:
    for project in get_projects(parent, folders_client, projects_client):
      volumes_list_request = ListVolumesRequest(
          parent="projects/" + project + "/locations/global",
          filter=filter,
      )
      try:
        for volume in bms_client.list_volumes(request=volumes_list_request):
          output.append(f" -  {volume.name}")
      # This could happen because BMS API is not enabled in a certain project.
      except PermissionDenied as e:
        errors.append(
            f"Unable to list bms resources for project {project}: {e}"
        )
  except PermissionDenied as e:
    errors.append(f"Unable to access folder or project: {e}")
  return "\n".join(output), "\n".join(errors)


def main(_: Sequence[str]):
  if _ORGANIZATION_ID.value is not None and _FOLDER_ID.value is not None:
    raise Exception("Only one of organization ID or folder ID must be provided")
  elif _ORGANIZATION_ID.value is None and _FOLDER_ID.value is None:
    raise Exception(
        "Either one of organization ID or folder ID must be provided"
    )
  elif _ORGANIZATION_ID.value is not None:
    parent = f"organizations/{_ORGANIZATION_ID.value}"
  else:
    parent = f"folders/{_FOLDER_ID.value}"
  volumes, errors = get_volumes_list(parent, filter=_FILTER.value)
  print(
      "=================== Flat list of volumes in the folder or organization"
      " ==================="
  )
  print(volumes)

  print(
      "=================== List of folders or projects with errors"
      " ==================="
  )
  print(errors)


if __name__ == "__main__":
  app.run(main)

管理服务器

您可以通过以下方式管理裸金属解决方案环境中的服务器:

查看服务器

如需查看裸金属解决方案服务器的详细信息,请按照以下步骤操作:

控制台

  1. 进入服务器页面。

    前往服务器

    服务器页面列出了所有服务器及以下详细信息:

    字段 说明 示例
    状态 表示服务器的可用性 带有对勾标记的绿色圆圈表示服务器已预配且可用。
    名称 服务器名称。点击该名称可查看有关服务器的其他信息。

    注意:如果您在预配服务器时未输入名称,则 ID 会显示在此字段中。
    server-1
    ID 分配给服务器的标识符。
    • 点击该 ID 可查看有关服务器的基本信息。
    • 排查此资源的问题时,请与 Google Cloud 支持团队共享该 ID。
    at-1234567-svr001
    位置 裸金属解决方案区域 asia-southeast1
    Pod

    包含服务器的 Pod。Pod 是一个包含裸金属解决方案资源的隔离单元。不同 Pod 中的资源无法关联。一个区域可以有多个 pod。

    Pod 列默认处于停用状态。如需启用此功能,请执行以下操作:

    1. 点击列显示选项
    2. 选中 Pod 复选框。
    3. 点击确定

    如果您不想启用 Pod 列,则可以点击服务器名称来查看服务器的 pod。

    asia-southeast1-pod1
    服务器类型 服务器规格 o2-standard-32-metal
    客户端 IP 连接到 Google Virtual Private Cloud 的服务器 IP 地址 10.200.0.5
    专用 IP 连接到其他裸金属解决方案环境资源的服务器 IP 地址 192.168.2.5
    标签 显示您添加到此服务器的所有标签

    如果要使用标签来过滤控制台输出,您可以复制标签文本并将其粘贴到状态字段上方的过滤条件框。
    environment:test
    服务器活动 告知可能会影响您的工作负载的任何裸金属解决方案基础架构问题。如果您的服务器正常运行且没有问题,则服务器活动字段为空。

    但是,当服务器有问题时,它会显示检测到异常。在这种情况下,我们会进行调查并通知您。 在我们解决问题后,如果您的工作负载中断,请与客户服务联系。

  2. 如需查看有关服务器的其他详细信息,请点击服务器的名称

    服务器详情页面显示了以下其他详细信息:

    字段 说明
    超线程 指示服务器上是否启用了超线程。
    操作系统映像 在服务器上运行的操作系统。
    固件版本 服务器的当前固件版本。
    网络模板 服务器所使用的网络模板。
    SSH 密钥 服务器的 SSH 密钥(如果您已配置)。
    密码加密密钥 服务器的加密密钥(如果您已配置)。
    登录信息 获取登录密码的步骤。
    用户账号 用户名及其对应的加密密码。
    网络 连接到服务器的网络的详细信息。
    LUN 连接到服务器的 LUN 的详细信息。

gcloud

  1. 如需列出裸金属解决方案环境中的服务器并查看它们的状态,请输入项目 ID 并发出 gcloud bms instances list 命令:

    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. 如需获取裸金属解决方案环境中特定服务器的网络和存储信息,请输入服务器名称、项目 ID 和区域,然后发出 gcloud bms instances describe 命令:

    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
    

API

  1. 打开 Google Cloud 控制台中的 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"
    

使用标签整理服务器

为帮助整理服务器,您可以使用标签。标签采用键值对形式,您可以将其附加到每个服务器,然后根据其标签过滤服务器。例如,您可以使用标签按照用途、环境、位置、部门等对服务器进行分组。标签是可选项。

为服务器添加或更新标签

您可以为现有服务器添加或更新标签。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器页面。

  2. 对于要为其添加标签的服务器,请点击

  3. 点击 修改标签

  4. 标签编辑器页面上,执行以下操作:

    1. 点击 添加标签,然后添加键值对。
    2. 如需更新标签,请选择现有标签并修改其值。
    3. 点击提交
  5. 返回服务器页面后,刷新该页面即可查看您所做的更改。

gcloud

如需为服务器添加或更新标签,请将 gcloud bms instances update 命令与 --update-labels 选项结合使用。

以下示例命令会添加标签 environment = devlocation = branch

gcloud bms instances update SERVER_NAME --project=PROJECT_ID --region=REGION --update-labels environment=dev,location=branch

如果您为已存在的标签提供新值,则系统会使用新标签值更新现有键。如果您提供新标签,则系统会将新标签添加到标签列表中。

API

如需为服务器添加或更新标签,请在以下 curl 命令中输入项目 ID、区域、服务器名称和标签列表。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会分配标签 environment = test

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME?updateMask=labels"
 -d "{
  'labels' : {'environment': 'test'}
}"

移除服务器的标签

您可以移除服务器的标签。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器页面。

  2. 对于要移除其标签的服务器,请点击

  3. 点击 修改标签

  4. 标签编辑器页面上,执行以下操作:

    1. 如需删除标签,请点击
    2. 点击提交
  5. 返回服务器页面后,刷新该页面即可查看您所做的更改。

gcloud

如需移除服务器的标签,请将 gcloud bms instances update 命令与以下选项结合使用:

  • --remove-labels:移除指定的标签。
  • --clear-labels:移除所有标签。

以下示例命令会移除服务器的 department 标签:

gcloud bms instances update SERVER_NAME --project=PROJECT_ID --region=REGION --remove-labels=department

以下示例命令会移除服务器的所有标签:

gcloud bms instances update SERVER_NAME --project=PROJECT_ID --region=REGION --clear-labels

API

如需移除服务器的标签,请在以下 curl 命令中输入项目 ID、区域和服务器名称。提供一个空的标签列表以移除所有标签,或提供您要保留的标签列表(去掉您要移除的标签)。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会移除除 environment = test 以外的所有标签。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME?updateMask=labels"
 -d "{
  'labels' : {'environment': 'test'}
}"

使用标签过滤服务器

您可以搜索服务器并使用标签过滤结果。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器页面。

  2. 点击服务器列表上方的 Filter 栏。

  3. 属性列表中,选择标签

  4. 输入标签的键、值或键值对。

    例如,如需仅查看标签为 env:dev 的服务器,您可以输入以下任一项:

    • 输入键:env
    • 输入值:dev
    • 输入键值对:env:dev
  5. 如需应用标签过滤条件,请点击过滤条件栏外部的任意位置。

gcloud

如需使用标签过滤服务器,请将 gcloud bms instances list 命令与 --filter 选项结合使用。

--filter 选项的值必须采用 labels.KEY=VALUE 格式。例如,如果您要按键为 env、值为 dev 的标签进行过滤,请发出以下命令:

gcloud bms instances list --project=PROJECT_ID --region=REGION --filter labels.environment=dev

如需详细了解 gcloud CLI 中的过滤条件语法,请参阅 gcloud topic filters 文档

API

如需使用标签过滤服务器,请输入项目 ID 和区域,以及 filter=labels 和键值对标签。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会限制输出,以查找键值对标签为 environment = test 的服务器。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances"?filter=labels.environment=test

重命名服务器

要重命名服务器,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,打开 Compute Engine > 裸金属解决方案 > 服务器页面。

  2. 点击服务器名称。

  3. 服务器详情页面的名称字段中,点击 修改名称

  4. 修改名称页面上,输入新名称。

  5. 点击保存

  6. 如需查看更改,请刷新页面。

gcloud

如需重命名服务器,请使用 gcloud bms instances rename 命令。

gcloud bms instances rename SERVER_NAME --new-name=NEW_NAME --project=PROJECT_ID --region=REGION

请替换以下内容:

  • SERVER_NAME:服务器的当前名称。
  • NEW_NAME:服务器的新名称。
  • PROJECT_ID:您的项目 ID。
  • REGION:服务器的位置。

检索服务器的初始密码

当您首次接收裸金属解决方案服务器或更改操作系统时,服务器将以默认状态启动并且具有初始密码。您首次获得对服务器的访问权限时,必须使用此密码。输入初始密码后,服务器会提示您更改密码。

如需查找您的初始密码,请执行以下操作:

gcloud

  1. 授权您自己冒充 Google Cloud 服务账号。运行 gcloud iam service-accounts add-iam-policy-binding 命令。

    gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
    --member=user:USER_EMAIL \
    --project=PROJECT_ID \
    --role=roles/iam.serviceAccountTokenCreator
    

    如果您已获得授权,则可以跳过此步骤。

  2. 在包含裸金属解决方案服务器的项目中,运行 gcloud bms instances describe 命令。

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

    在输出中,查找 loginInfo 字段。

  3. loginInfo 字段中,复制并粘贴 gcloud beta secrets versions access 命令到命令行提示中。

  4. --impersonate-service-account 参数添加到 gcloud beta secrets versions access 命令中,如下所示,然后运行该命令。

    gcloud beta secrets versions access \
    --project=PROJECT_ID \
    --secret machine-reg-SERVER_NAME-customeradmin latest \
    --impersonate-service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    

    该命令会输出服务器的凭据。

  5. 检索用户名(通常为 customeradmin)和密码。

  6. 使用这些凭据登录服务器

  7. 更改密码。

API

  1. 在检索密码之前,请确保您已激活 Google Cloud 为您提供的服务账号。
  2. 在包含裸金属解决方案资源的项目中,访问 Cloud Shell。
  3. 在以下 curl 命令中输入您的项目 ID、区域和服务器名称,将此命令复制并粘贴到命令行提示符中,然后按 Enter 键或 Return 键:

    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"
    
  4. 在输出中,查找 loginInfo 字段,然后按照说明操作。

  5. 如果 loginInfo 字段包含 gcloud beta secrets versions access 命令,请将该命令复制并粘贴到命令行提示符中,然后按 Enter 键或 Return 键。

  6. 检索用户名(通常为 customeradmin)和密码。

  7. 使用这些凭据登录服务器

  8. 更改密码。

查看操作系统详细信息

如需查看服务器的操作系统 (OS) 的详细信息,请运行 gcloud bms os-images describe 命令以查看操作系统详细信息。

gcloud bms os-images describe OS_IMAGE --project=PROJECT_ID

替换以下内容:

  • OS_IMAGE:操作系统映像代码。如需获取操作系统的操作系统映像代码,请参阅操作系统
  • PROJECT_ID:项目 ID。

示例:

gcloud bms os-images describe OEL8x --project=test-project

以下是输出示例:

applicableInstanceTypes:
- o2-highmem-224-metal
- o2-standard-112-metal
- o2-standard-16-metal
- o2-standard-32-metal
- o2-standard-48-metal
code: OEL8x
description: Oracle Linux 8.8 [5.4.17-2136.324.5.3.el8uek.x86_64]
name: projects/bmaas-testing/locations/global/osImages/OEL8x
supportedNetworkTemplates:
- s200-bondaa-bondaa
- s400-bondaa-bondaa

更改服务器的操作系统

您可以使用其他操作系统映像对裸金属解决方案服务器重装映像。更改操作系统映像需要很长时间才能完成,并且需要重启服务器。如需选择某个可用的操作系统映像,请使用操作系统选项。

控制台

您可以从 Google Cloud 控制台为裸金属解决方案服务器重装映像。

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器
  2. 对于您要重装映像的服务器,请点击 菜单。
  3. 点击修改
  4. 修改服务器页面上:

    • 选中为服务器重装映像复选框。
    • 操作系统映像列表中,选择要安装的操作系统映像。
    • (可选)为服务器密码设置加密密钥。

      • 密码加密密钥列表中,选择一个密钥。
      • 版本列表中,选择加密密钥的版本。

      如需详细了解如何将加密密钥与裸金属解决方案搭配使用,请参阅为服务器设置加密密钥

    • (可选)为服务器设置或更改 SSH 密钥。

      • SSH 密钥列表中,选择密钥。该列表仅显示与您的服务器位于同一项目中的 SSH 密钥。

      如需更改服务器的现有 SSH 密钥,请取消选择要更改的密钥,然后选择新的密钥。

      如需详细了解如何将 SSH 密钥与裸金属解决方案搭配使用,请参阅为服务器设置 SSH 密钥

    • 点击保存

gcloud

运行 gcloud bms instances update 命令可更改服务器上的操作系统映像。如需了解操作系统映像代码,请参阅操作系统

gcloud bms instances update SERVER_NAME --region REGION --os-image=OS_IMAGE

如需设置 SSH 密钥和/或加密密钥,请使用 gcloud alpha bms instances update 命令。您可以将键指定为名称或完整资源。

gcloud alpha bms instances update SERVER_NAME --region REGION --os-image=OS_IMAGE --kms-crypto-key-version=KMS_CRYPTO_KEY_VERSION --ssh-keys=KEY_1,KEY_2

示例:

gcloud alpha bms instances update server1 --region europe-west3 --os-image=OS_IMAGE --kms-crypto-key-version=projects/bmaas-testing/locations/global/keyRings/e2e-test/cryptoKeys/e2e-test-key/cryptoKeyVersions/1 --ssh-keys=e2e-test-key-1,e2e-test-key-2

API

如需更新裸金属解决方案服务器上的操作系统映像,请输入项目 ID、区域、服务器名称和操作系统映像,然后发出以下 curl 命令。如需了解操作系统映像代码,请参阅操作系统

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME?updateMask=os_image"
 -d "{
  'osImage' : 'OS_IMAGE'
}"

由于此更改需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

在服务器上启用超线程

您可以在裸金属解决方案服务器上启用或停用超线程。此操作需要很长时间才能完成,并且需要重启服务器。

控制台

您可以在 Google Cloud 控制台中启用或停用裸金属解决方案服务器上的超线程。

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器
  2. 对于您要启用/停用超线程的服务器,请点击 菜单。
  3. 点击 修改
  4. 修改服务器页面上,执行以下操作:
    • 如需启用超线程,请选中启用超线程复选框。
    • 如需停用超线程,请清除启用超线程复选框。
    • 点击保存

gcloud

运行 gcloud bms instances update 命令以启用或停用超线程。

  • 添加 --enable-hyperthreading 选项可启用超线程。
  • 添加 –no-enable-hyperthreading 选项可停用超线程。
gcloud bms instances update SERVER_NAME --region REGION --enable-hyperthreading

API

如需更改服务器的当前超线程功能,请在以下 curl 命令中输入项目 ID、区域和服务器名称。如果要启用超线程,请为超线程值添加 true;如果要停用,请添加 false

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME?updateMask=hyperthreading_enabled"
 -d "{
  'hyperthreadingEnabled' : 'HYPERTHREADING_VALUE'
}"

由于此更改需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

管理 VRF

在裸金属解决方案环境中,VRF(虚拟路由和转发)是客户端网络与 VLAN 连接(也称为 interconnectAttachments)之间的连接接口。

使用 VRF,您可以通过以下方式将客户端网络映射到 VLAN 连接:

  • 通过单个 VRF 将单个客户端网络映射到单个 VLAN 连接对。这是默认映射。通过 Google Cloud 控制台登记表创建客户端网络时,系统会隐式创建一个 VRF。此 VRF 用于从客户端网络及其 VLAN 连接到 Google Cloud。

    使用 VRF 的默认映射。

  • 通过单个 VRF 将单个客户端网络映射到多个 VLAN 连接。这样,您就可以增加裸金属解决方案环境与 Google Cloud 之间的带宽。

    使用单个 VRF 映射多个 VLAN 连接。

  • 使用单个 VRF 映射多个客户端网络,以共享多个 VLAN 连接。这样,您就可以增加裸金属解决方案环境与 Google Cloud 之间的带宽。

    在此映射中,客户端网络并非彼此隔离。它们通过一个公共 VRF 在彼此之间进行路由。因此,这些网络中的主机可以相互通信,而无需进行任何流量过滤。

    使用单个 VRF 映射多个 VLAN 连接和多个网络。

  • 使用专用 VRF 将多个客户端网络映射到其专用 VLAN 连接。这样,您就可以为每个客户端网络实现特定的带宽。

    在此映射中,客户端网络彼此隔离。您无法将 VPC 网络(即 Google Cloud 网络)用作这些客户端网络之间的中转网络。

    使用多个 VRF 映射多个 VLAN 连接和多个网络。

您可以通过以下方式管理裸金属解决方案环境中的 VRF 和 VLAN 附加项:

查看 VRF

如需查看您的 VRF 的详细信息,请按以下步骤操作:

  1. 前往 VRF 页面。

    前往 VRF

    VRF 页面列出了所有 VRF 及以下详细信息:

    字段 说明
    状态 指示 VRF 的可用性。
    名称 VRF 的名称。点击该名称可查看有关 VRF 的其他信息。

    注意:如果您在预配 VRF 时未输入名称,则 ID 会显示在此字段中。
    ID 分配给您的 VRF 的标识符。
    • 点击该 ID 可查看有关该 VRF 的更多信息。
    • 排查此资源的问题时,请与 Google Cloud 支持团队共享该 ID。
    区域 VRF 所在的区域。
    Pod

    包含您的 VRF 的 pod。Pod 是一个包含裸金属解决方案资源的隔离单元。不同 Pod 中的资源无法关联。一个区域可以有多个 pod。

    Pod 列默认处于停用状态。如需启用此功能,请执行以下操作:

    1. 点击列显示选项
    2. 选中 Pod 复选框。
    3. 点击确定

    如果您不想启用 Pod 列,则可以点击 VRF 名称或 ID 来查看 VRF 的 pod。

  2. 如需查看有关 VRF 的其他详细信息,请点击 VRF 的名称ID

    VRF 详情页面显示了以下其他详细信息:

    字段 说明
    VLAN 连接对 与 VRF 关联的 VLAN 连接对的详细信息,例如对等 IP、路由器 IP 和带宽。
    成员网络 与 VRF 关联的网络列表。您可以点击某个影音平台来查看其详细信息。

创建 VRF

当您通过 Google Cloud 控制台信息登记表单预配新网络时,系统会隐式创建一个 VRF。不过,您也可以稍后创建更多 VRF。

如需创建新的 VRF,请按以下步骤操作:

  1. 前往 VRF 页面。

    前往 VRF

  2. 点击创建

  3. 输入 VRF 的名称。

  4. 区域列表中,为 VRF 选择一个区域。

  5. Pod 列表中,为 VRF 选择一个 Pod。

    Pod 下拉列表还会显示所选位置的每个 Pod 中现有裸金属解决方案资源的数量。

    如果您不确定要选择哪个 pod,请与 Google Cloud 销售团队联系。

  6. 添加 VLAN 连接对。

    创建 VRF 时,您只能添加一个 VLAN 连接对。创建 VRF 后,您可以按照添加 VLAN 连接对中的步骤添加更多 VLAN 连接对。

    1. 点击添加 VLAN 连接对
    2. 带宽列表中,选择要分配给 VLAN 连接对的带宽量。
    3. 如需从当前项目中添加 VLAN 连接对,请执行以下操作:
      1. 选中选择当前项目中的 VLAN 连接复选框。
      2. First VLAN attachment ID 字段中,输入第一个 VLAN 连接的 ID;在 Second VLAN attachment ID 字段中,输入第二个 VLAN 连接的 ID。
    4. 如需从其他项目中添加 VLAN 连接对,请执行以下操作:

      1. 在后续步骤中添加 VLAN 连接之前,在包含 VLAN 连接的项目中执行以下一次性操作。如果您已经完成,请跳过这些操作。
        1. 启用 Bare Metal Solutions API
        2. 在 Google Cloud 控制台中打开任何裸金属解决方案页面,或运行任何裸金属解决方案 gcloud 命令
        3. 如需了解详情,请查看 Google Cloud 控制台登记表
      2. 清除选择当前项目中的 VLAN 连接复选框。
      3. First VLAN attachment ID 字段中,输入第一个 VLAN 连接的 ID;在 Second VLAN attachment ID 字段中,输入第二个 VLAN 连接的 ID。请按以下格式输入 VLAN 连接

        projects/PROJECT_ID/regions/INTERCONNECT_REGION/interconnectAttachments/VLAN_ATTACHMENT_NAME
        
    5. 点击完成

  7. 点击创建

删除 VRF

在删除某个虚拟路由转发 (VRF) 之前,您必须先删除其所有 VLAN 连接对和附加的网络。请参阅删除 VLAN 连接对删除网络

如需删除 VRF,请按以下步骤操作:

  1. 前往 VRF 页面。

    前往 VRF

  2. 选择要删除的 VRF。

  3. 点击删除

  4. 点击确认

管理 VLAN 连接

您可以通过以下方式管理 VLAN 连接对:

添加 VLAN 连接对

一个 VRF 可以有多个 VLAN 连接对。不过,一个 VLAN 连接只能与一个 VRF 配对。

对于裸金属解决方案网络,我们建议您成对创建 VLAN 连接,以实现高可用性。

  1. 前往 VRF 页面。

    前往 VRF

  2. 点击 VRF 名称。

  3. VRF 详情页面上的 VLAN 连接对部分中,点击创建

  4. 新建 VLAN 连接对页面上,执行以下操作:

  5. 带宽列表中,选择要分配给 VLAN 连接对的带宽量。

  6. 如需从当前项目中添加 VLAN 连接对,请执行以下操作:

    1. 选中选择当前项目中的 VLAN 连接复选框。
    2. First VLAN attachment ID 字段中,输入第一个 VLAN 连接的 ID;在 Second VLAN attachment ID 字段中,输入第二个 VLAN 连接的 ID。
  7. 如需从其他项目中添加 VLAN 连接对,请执行以下操作:

    1. 在后续步骤中添加 VLAN 连接之前,在包含 VLAN 连接的项目中执行以下一次性操作。如果您已经完成,请跳过这些操作。
      1. 启用 Bare Metal Solutions API
      2. 在 Google Cloud 控制台中打开任何裸金属解决方案页面,或运行任何裸金属解决方案 gcloud 命令。
      3. 如需了解详情,请查看 Google Cloud 控制台登记表
    2. 清除选择当前项目中的 VLAN 连接复选框。
    3. First VLAN attachment ID 字段中,输入第一个 VLAN 连接的 ID;在 Second VLAN attachment ID 字段中,输入第二个 VLAN 连接的 ID。请按以下格式输入 VLAN 连接

       projects/PROJECT_ID/regions/INTERCONNECT_REGION/interconnectAttachments/VLAN_ATTACHMENT_NAME
      
  8. 点击创建

由于创建 VLAN 连接对需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

更新 VLAN 连接对

您只能更新 VLAN 连接对的带宽。

  1. 前往 VRF 页面。

    前往 VRF

  2. 点击 VRF 名称。

  3. VRF 详情页面的 VLAN 连接对部分中,选择要更新的 VLAN 连接对。

  4. 点击修改

  5. 修改 VLAN 连接对页面上,执行以下操作:

    1. 带宽列表中,选择要分配给 VLAN 连接对的带宽量。
    2. 点击保存

由于更新 VLAN 连接对需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

删除 VLAN 连接对

按照此过程中的步骤删除 VLAN 连接对,只会将 VLAN 连接对与 VRF 解除关联,实际上并不会将其删除。

  1. 前往 VRF 页面。

    前往 VRF

  2. 点击 VRF 名称。

  3. VRF 详情页面的 VLAN 连接对部分中,选择要删除的 VLAN 连接对。

  4. 点击删除

由于删除 VLAN 连接对需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

管理网络

您可以通过以下方式管理裸金属解决方案环境中的网络:

查看网络

通过监控裸金属解决方案环境中的网络资源,您可以了解服务器如何连接到其他资源。

如需查看网络的详细信息,请按照以下步骤操作:

控制台

  1. 进入网络页面。

    前往“网络”页面

    网络页面列出了所有网络及以下详细信息:

    字段 说明 示例
    状态 指明网络的可用性 带有对勾标记的绿色圆圈表示网络已预配且可用。
    ID 分配给网络的标识符。
    • 点击该 ID 可查看有关网络的基本信息。
    • 排查此资源的问题时,请与 Google Cloud 支持团队共享该 ID。
    at-1234567-vlan001
    名称 网络名称。点击该名称可查看有关网络的其他信息。

    注意:如果您在预配网络时未输入名称,则 ID 会显示在此字段中。
    network-1
    位置 网络所在的区域 asia-southeast1
    Pod

    包含网络的 Pod。Pod 是一个包含裸金属解决方案资源的隔离单元。不同 Pod 中的资源无法关联。一个区域可以有多个 pod。

    Pod 列默认处于停用状态。如需启用此功能,请执行以下操作:

    1. 点击列显示选项
    2. 选中 Pod 复选框。
    3. 点击确定

    如果您不想启用 Pod 列,则可以点击网络名称来查看网络的 pod。

    asia-southeast1-pod1
    类型 客户端或专用网络 Client
    CIDR 网络的 IP 地址范围 192.168.1.0/24
    VLAN ID Google Cloud 分配的 VLAN 标识符 100
    标签 显示您添加到此网络资源中的任何标签

    如果要使用标签来过滤控制台输出,您可以复制标签文本并将其粘贴到状态字段上方的过滤器框。
    environment:test
  2. 如需查看网络的其他详细信息,请点击网络的名称ID

    网络详情页面显示了以下其他详细信息:

    字段 说明
    网关 IP 网络中网关的 IP 地址。
    服务 IP 地址范围 服务器上运行的操作系统。
    MTU 网络的 MTU。
    VRF 与网络关联的 VRF。
    使用的地址 通过网络连接的服务器的 IP 地址。

gcloud

  1. 如需查看裸金属解决方案环境中的所有网络并查看其状态,请输入项目 ID 并发出 gcloud bms networks list 命令。

    gcloud bms networks list --project=PROJECT_ID
    
    以下输出示例展示了每个网络的网络名称、区域、IP 地址范围、网络类型和 VLAN ID。
    NAME                REGION           RANGE           TYPE     VLAN_ID
    at-1111111-vlan001  REGION         192.168.1.0/24  CLIENT   122
    at-1111111-vlan002  REGION         192.168.2.0/24  PRIVATE  123
    
  2. 如需查看单个网络的详细信息,请输入项目 ID、区域和网络名称,然后发出以下 gcloud bms networks describe 命令:

    gcloud bms networks describe NETWORK_NAME --project=PROJECT_ID --region=REGION
    
    以下输出示例展示了 IP 地址范围、网络名称、状态、网络类型、VLAN ID 以及虚拟路由和转发 (VRF) 详细信息。
    cidr: 192.168.1.0/24
    name: projects/PROJECT_ID/locations/REGION/networks/NETWORK_NAME
    state: PROVISIONED
    type: CLIENT
    vlanId: '122'
    vrf:
      autonomousSystemNumber: '65500'
      juniperAlias: g00000-at-1111111-ic001
      name: at-1111111-ic001
      routeTarget: '282'
      state: PROVISIONED
    

API

  1. 打开 Google Cloud 控制台中的 Cloud Shell 终端窗口。

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

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/networks"
    
  3. 如需查看单个网络的详细信息,请输入项目 ID、区域和网络名称,然后发出以下命令:

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

使用标签整理网络

为帮助整理网络,您可以使用标签。标签采用键值对形式,您可以将其附加到每个服务器,然后根据其标签过滤网络。例如,您可以使用标签按照用途、环境、位置、部门等对网络进行分组。标签是可选项。

为网络添加或更新标签

您可以为现有网络添加或更新标签。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 网络页面。

  2. 对于要为其添加标签的网络,请点击

  3. 点击 修改标签

  4. 标签编辑器页面上,执行以下操作:

    1. 点击 添加标签,然后添加键值对。
    2. 如需更新标签,请选择现有标签并修改其值。
    3. 点击提交
  5. 返回网络页面后,刷新该页面即可查看您所做的更改。

gcloud

如需为网络添加或更新标签,请将 gcloud bms networks update 命令与 --update-labels 选项结合使用。

以下示例命令会添加标签 environment = devlocation = branch

gcloud bms networks update NETWORK_NAME --project=PROJECT_ID --region=REGION --update-labels environment=dev,location=branch

如果您为已存在的标签提供新值,则系统会使用新值更新现有标签。如果您提供新标签,则系统会将新标签添加到标签列表中。

API

如需为网络添加或更新标签,请在以下 curl 命令中输入项目 ID、区域、服务器名称和标签列表。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会分配标签 environment = test

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/networks/NETWORK_NAME?updateMask=labels"
 -d "{
  'labels' : {'environment': 'test'}
}"

移除网络的标签

您可以移除网络的标签。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 网络页面。

  2. 对于要移除其标签的网络,请点击

  3. 点击 修改标签

  4. 标签编辑器页面上,执行以下操作:

    1. 如需删除标签,请点击
    2. 点击提交
  5. 返回网络页面后,刷新该页面即可查看您所做的更改。

gcloud

如需移除网络的标签,请将 gcloud bms networks update 命令与以下选项结合使用:

  • --remove-labels:移除指定的标签。
  • --clear-labels:移除所有标签。

以下示例命令会移除网络的 department 标签:

gcloud bms networks update NETWORK_NAME --project=PROJECT_ID --region=REGION --remove-labels=department

以下示例命令会移除网络的所有标签:

gcloud bms networks update NETWORK_NAME --project=PROJECT_ID --region=REGION --clear-labels

API

如需移除网络的标签,请在以下 curl 命令中输入项目 ID、区域和网络名称。提供一个空的标签列表以移除所有标签,或提供您要保留的标签列表(去掉您要移除的标签)。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会移除除 environment = test 以外的所有标签。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/networks/NETWORK_NAME?updateMask=labels"
 -d "{
  'labels' : {'environment': 'test'}
}"

使用标签过滤网络

您可以搜索网络并使用标签过滤结果。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 网络页面。

  2. 点击影音平台列表上方的 Filter(过滤)栏。

  3. 属性列表中,选择标签

  4. 输入标签的键、值或键值对。

    例如,如需仅查看标签为 env:dev 的网络,您可以输入以下任一项:

    • 输入键:env
    • 输入值:dev
    • 输入键值对:env:dev
  5. 如需应用标签过滤条件,请点击过滤条件栏外部的任意位置。

gcloud

如需使用标签过滤网络,请将 gcloud bms networks list 命令与 --filter 选项结合使用。

--filter 选项的值必须采用 labels.KEY=VALUE 格式。例如,如果您要按键为 env、值为 dev 的标签进行过滤,请发出以下命令:

gcloud bms networks list --project=PROJECT_ID --region=REGION --filter labels.environment=dev

如需详细了解 gcloud CLI 中的过滤条件语法,请参阅 gcloud topic filters 文档

API

如需使用标签过滤网络,请输入项目 ID 和区域,以及 filter=labels 和键值对标签。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会限制输出,以查找键值对标签为 environment = test 的网络。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/networks"?filter=labels.environment=test

重命名网络

要重命名网络,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,打开 Compute Engine > 裸金属解决方案 > 网络页面。
  2. 点击网络名称。
  3. 网络详情页面的名称字段中,点击 修改名称
  4. 修改名称页面上,输入新名称。
  5. 点击保存
  6. 如需查看更改,请刷新页面。

gcloud

如需重命名网络,请使用 gcloud bms networks rename 命令。

gcloud bms networks rename NETWORK_NAME --new-name=NEW_NAME --project=PROJECT_ID --region=REGION

请替换以下内容:

  • NETWORK_NAME:网络的当前名称。
  • NEW_NAME:网络的新名称。
  • PROJECT_ID:您的项目 ID。
  • REGION:网络的位置。

创建网络

在创建网络之前,您必须先创建一个 VRF。请参阅创建 VRF

如需创建影音平台,请按以下步骤操作:

  1. 进入网络页面。

    前往“网络”页面

  2. 点击创建

  3. 为网络输入名称。

  4. 位置列表中,为影音平台选择一个区域。

  5. Pod 列表中,为网络选择一个 Pod。

    Pod 下拉列表还会显示所选位置的每个 Pod 中现有裸金属解决方案资源的数量。

    如果您不确定要选择哪个 pod,请与 Google Cloud 销售团队联系。

  6. 选择网络的类型:

    1. 如需创建客户端网络,请选择客户端
    2. 如需创建专用网络,请选择专用
  7. (仅当您选择了客户端网络类型时才适用)。在 VRF 列表中,选择一个 VRF。

  8. Network IP address range(网络 IP 地址范围)字段中,输入网络的 IP 地址范围。

  9. (可选)在服务 IP 地址范围字段中,输入网络的服务 IP 地址范围。

  10. 为网络选择 MTU

    1. 1500 - 适用于标准大小的帧。
    2. 9000 - 适用于巨型帧。
  1. 点击保存

将网络连接到服务器

如果网络的 IP 地址范围与已附加到服务器的其他网络重叠,您将无法将该网络附加到服务器。

如需附加网络,请按以下步骤操作:

  1. 进入服务器页面。

    前往服务器

  2. 点击服务器名称。

  3. 服务器详情页面上,点击连接网络

  4. 关联网络页面上,执行以下操作:

    1. 如需从组织中的其他项目选择网络,请执行以下操作:
      1. 选中从组织中的其他项目选择网络复选框。
      2. 选择现有网络列表中,选择一个网络。
    2. 如需从当前项目中选择网络,请执行以下操作:

      1. 清除从组织中的其他项目选择网络复选框。
      2. 选择现有网络列表中,选择一个网络。
    3. 设置接口配置:

      1. 接口列表中,为网络选择一个绑定接口。

        在大多数情况下,选择 bond0 作为客户端网络,选择 bond1 作为专用网络。

      2. IP 地址字段中,输入要连接的网络中的 IP 地址。

  5. (可选)如需将此网络设置为默认网关,请选中默认网关复选框。

  6. 点击连接网络

    服务器状态会更改为“正在预配”。连接网络是一项长时间运行的操作。如需查看状态,请在 Google Cloud 控制台中点击 通知。您还可以按照查看长时间运行的操作的状态中的步骤操作。 操作完成后,服务器状态会更改为“正在运行”。

  7. 更新裸金属解决方案服务器的操作系统配置。

    完成通过 Google Cloud 控制台连接网络的前面步骤后,如果服务器状态变为“Running”(运行中),您必须更新裸金属解决方案服务器的操作系统配置。如果您不更新操作系统配置,则在 Google Cloud 控制台中所做的更改不会完全实现。此流程中的后续步骤将介绍如何更新操作系统配置。

    后续步骤只是示例,可能会因您的操作系统而异。如果您遇到任何问题,请参阅操作系统配置指南。

    RHEL 和 Oracle Linux

    1. 以根用户身份登录。
    2. 创建新连接。运行以下命令:

      nmcli connection add type vlan con-name INTERFACE_NAME.VLAN_ID  ifname INTERFACE_NAME.VLAN_ID dev INTERFACE_NAME mtu MTU id VLAN_ID ip4 IP_ADDRESS/NETMASK ipv6.method "ignore"
      

      替换以下内容:

      • INTERFACE_NAME:您要将网络连接到的接口的名称。这与您在此过程的第 6 步(设置接口配置)中选择的接口相同。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
      • VLAN_ID:您要连接的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络
      • IP_ADDRESS:网络中裸金属解决方案服务器的 IP 地址。该地址与您在此过程的第 6 步(设置接口配置)中输入的 IP 地址相同。 您可以从网络部分的服务器详细信息页面获取 IP 地址。请参阅查看服务器
      • NETMASK:您要附加的网络的网络掩码。您可以从网络详情页面上的 CIDR 字段获取网络掩码。 请参阅查看网络
      • MTU:您要连接的网络的 MTU。您可以从网络详情页面获取 MTU。 请参阅查看网络

      示例:

      nmcli connection add type vlan con-name bond0.114 ifname bond0.114 dev bond0 mtu 1500 id 114 ip4 172.16.80.1/24 ipv6.method "ignore"
      
    3. (可选)如果您已创建客户端网络,并且想要使用此网络从 VPC 连接到 VLAN 连接或其他环境(例如本地环境),请配置到特定子网的路由。以根用户身份运行以下命令:

      nmcli connection modify INTERFACE_NAME.VLAN_ID +ipv4.routes "SUBNET GATEWAY_IP"
      
      nmcli connection up INTERFACE_NAME.VLAN_ID
      

      替换以下内容:

      • INTERFACE_NAME:您要将网络连接到的接口的名称。这与您在此过程的第 6 步(设置接口配置)中选择的接口相同。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
      • VLAN_ID:您要连接的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络
      • SUBNET:网络的 IP 地址和掩码(采用 CIDR 表示法),用于通过客户端网络连接到裸金属解决方案服务器。如果这是您的 VPC 网络,则可以从 VPC 网络页面的子网部分获取子网。请参阅列出子网。如果这是其他环境,请与您的网络管理员联系。
      • GATEWAY_IP:您要连接的网络中的网关的 IP 地址。您可以从网络详情页面获取网关 IP。 请参阅查看网络

      示例:

      nmcli connection modify bond0.114 +ipv4.routes "192.168.122.0/24 172.16.80.254"
      
      nmcli connection up bond0.114
      
    4. (可选)如果您创建了客户端网络,并在此过程的第 7 步(默认网关)中将其设置为默认网关,请按照以下步骤操作更新您的操作系统配置:

      1. 完成上一步(即第 9.c 步)。
      2. 确保您已通过新的客户端网络连接到裸金属解决方案服务器。例如,从此网络使用 VLAN 连接所连接到的 VPC 中的虚拟机连接到服务器。
      3. 如需将此网络设置为默认网关,请在旧网络上停用默认网关设置,然后在此网络上启用默认网关设置。以根用户身份运行以下命令:

        nmcli connection modify OLD_INTERFACE_NAME.OLD_VLAN_ID ipv4.gateway ""
        
        nmcli connection modify INTERFACE_NAME.VLAN_ID ipv4.gateway GATEWAY_IP
        
        nmcli connection up INTERFACE_NAME.VLAN_ID
        
        nmcli connection up OLD_INTERFACE_NAME.OLD_VLAN_ID
        

        替换以下内容:

        • OLD_INTERFACE_NAME:旧默认网关网络连接到的接口的名称。您可以从服务器详情页面的网络部分中或通过检查裸金属解决方案服务器操作系统配置来获取接口名称,即使用 ip anmcli connection show 命令。
        • OLD_VLAN_ID:旧默认网关网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。请参阅查看网络,或检查裸金属解决方案服务器操作系统配置,即使用 ip anmcli connection show commands
        • INTERFACE_NAME:新网络连接到的接口的名称。这与您在此过程的第 11 步(设置接口配置)中选择的接口相同。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
        • VLAN_ID:新网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络
        • GATEWAY_IP:新网络中的网关的 IP 地址。您可以从网络详情页面获取网关 IP。请参阅查看网络

        示例:

        nmcli connection modify bond0.143 ipv4.gateway ""
        
        nmcli connection modify bond0.114 ipv4.gateway 172.16.80.254
        
        nmcli connection up bond0.114
        
        nmcli connection up bond0.143
        

    SLES

    1. 以根用户身份登录。
    2. /etc/sysconfig/network 位置创建接口配置 (ifcfg) 文件,并遵循以下命名惯例:

      ifcfg-INTERFACE_NAME.VLAN_ID
      

      替换以下内容:

      • INTERFACE_NAME:您要将网络连接到的接口的名称。这与您在此过程的第 6 步(设置接口配置)中选择的接口相同。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
      • VLAN_ID:您要连接的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络

      完成后,文件的路径应如下所示:

      /etc/sysconfig/network/ifcfg-INTERFACE_NAME.VLAN_ID
      
    3. ifcfg 文件中为网络接口添加以下信息。

      NAME='INTERFACE_NAME.VLAN_ID'
      ETHERDEVICE='INTERFACE_NAME'
      STARTMODE='auto'
      USERCONTROL='no'
      BOOTPROTO='static'
      IPADDR='IP_ADDRESS/NETMASK'
      MTU=MTU
      VLAN='yes'
      

      替换以下内容:

      • INTERFACE_NAME:您要将网络连接到的接口的名称。这与您在此过程的第 6 步(设置接口配置)中选择的接口相同。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
      • VLAN_ID:您要连接的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络
      • IP_ADDRESS:网络中裸金属解决方案服务器的 IP 地址。该地址与您在此过程的第 6 步(设置接口配置)中输入的 IP 地址相同。 您可以在网络部分的“服务器详细信息”页面中找到 IP 地址。
      • NETMASK:您要附加的网络的网络掩码。您可以从网络详情页面上的 CIDR 字段获取网络掩码。 请参阅查看网络
      • MTU:您要连接的网络的 MTU。您可以从网络详情页面获取 MTU。 请参阅查看网络

      例如,示例文件 /etc/sysconfig/network/ifcfg-bond1.121 如下所示:

       NAME='bond1.121'
       ETHERDEVICE='bond1'
       STARTMODE='auto'
       USERCONTROL='no'
       BOOTPROTO='static'
       IPADDR='192.168.200.10/24'
       MTU=1500
       VLAN='yes'
      
      1. 调出界面以应用更改。

        ifup INTERFACE_NAME.VLAN_ID
        

        替换以下内容:

        • INTERFACE_NAME:您要将网络连接到的接口的名称。这与您在此过程的第 6 步(设置接口配置)中选择的接口相同。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
        • VLAN_ID:您要连接的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络
    4. (可选)如果您已创建客户端网络,并且想要使用此网络从 VPC 连接到 VLAN 连接或其他环境(例如本地环境),请配置到特定子网的路由。

      1. /etc/sysconfig/network 位置创建一个接口路由配置 (ifroute) 文件,并遵循以下命名惯例:

        ifroute-INTERFACE_NAME.VLAN_ID
        

        完成后,文件的路径应如下所示:

        /etc/sysconfig/network/ifroute-INTERFACE_NAME.VLAN_ID
        
      2. ifroute 文件中为网络接口添加以下信息。

        SUBNET   GATEWAY_IP    -       -
        

        替换以下内容:

        • SUBNET:网络的 IP 地址和掩码(采用 CIDR 表示法),用于通过客户端网络连接到裸金属解决方案服务器。如果这是您的 VPC 网络,则可以从 VPC 网络页面的子网部分获取子网。请参阅列出子网。如果这是其他环境,请与您的网络管理员联系。
        • GATEWAY_IP:您要连接的网络中的网关的 IP 地址。您可以从网络详情页面获取网关 IP。 请参阅查看网络
      3. 调出界面以应用更改。

        ifup INTERFACE_NAME.VLAN_ID
        

        替换以下内容:

        • INTERFACE_NAME:您要将网络连接到的接口的名称。这与您在此过程的第 6 步(设置接口配置)中选择的接口相同。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
        • VLAN_ID:您要连接的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络
    5. (可选)如果您创建了客户端网络,并在此过程的第 7 步(默认网关)中将其设置为默认网关,请按照以下步骤操作更新您的操作系统配置:

      1. 完成上一步(即第 9.c 步)。
      2. 确保您已通过此网络连接到裸金属解决方案服务器。例如,从此网络通过 VLAN 连接所连接到的 VPC 中的虚拟机连接到服务器。
      3. 如需将此网络设置为默认网关,请更改系统默认路由配置:

        修改文件 /etc/sysconfig/network/routes,将当前默认网关的 IP 地址替换为新默认网关的 IP 地址。

        更新文件内容,使其与以下内容一致:

        default   GATEWAY_IP    -       -
        

        替换以下内容:

        • GATEWAY_IP:新网络中的网关的 IP 地址。您可以从网络详情页面获取网关 IP。请参阅查看网络
      4. 重新加载网络配置以应用更改。

        systemctl reload network
        

将网络与服务器分离

一次只能从服务器分离一个网络,并且服务器可以正在运行或已关闭。

如需分离网络,请按以下步骤操作:

  1. 更新裸金属解决方案服务器的操作系统配置。

    在通过 Google Cloud 控制台分离网络之前,您必须先更新裸金属解决方案服务器的操作系统配置。如果您不更新操作系统配置,则在 Google Cloud 控制台中所做的更改不会完全实现。

    此步骤中的操作只是示例,可能会因您的操作系统而异。如果您遇到任何问题,请参阅操作系统配置指南。

    RHEL 和 Oracle Linux

    1. 删除要分离的网络的绑定接口。以根用户身份运行以下命令:

      nmcli connection delete INTERFACE_NAME.VLAN_ID
      

      替换以下内容:

      • INTERFACE_NAME:您要分离的网络的接口名称。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
      • VLAN_ID:您要解除关联的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络

      示例:

      nmcli connection delete bond0.148
      

    SLES

    1. 关闭接口。以根用户身份运行以下命令:

      ifdown INTERFACE_NAME.VLAN_ID
      

      替换以下内容:

      • INTERFACE_NAME:您要分离的网络的接口名称。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
      • VLAN_ID:您要解除关联的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络

      示例:

      ifdown bond1.121
      
    2. 将接口路由配置文件的信息备份到其他文件中,以免在下次启动时处理该文件。运行以下命令:

      mv /etc/sysconfig/network/ifcfg-INTERFACE_NAME.VLAN_ID /etc/sysconfig/network/ifcfg-INTERFACE_NAME.VLAN_ID.backup
      

      替换以下内容:

      • INTERFACE_NAME:您要分离的网络的接口名称。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
      • VLAN_ID:您要解除关联的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络

      示例:

      mv /etc/sysconfig/network/ifcfg-bond1.121 /etc/sysconfig/network/ifcfg-bond1.121.backup
      
    3. (可选)如果要分离客户端网络,并配置此网络的专用路由。将接口路由配置文件的信息备份到其他文件中,以免在下次启动时处理该文件。运行以下命令:

      mv /etc/sysconfig/network/ifroute-INTERFACE_NAME.VLAN_ID /etc/sysconfig/network/ifroute-INTERFACE_NAME.VLAN_ID.backup
      

      替换以下内容:

      • INTERFACE_NAME:您要分离的网络的接口名称。您可以从服务器详情页面的网络部分中获取接口名称。请参阅查看服务器
      • VLAN_ID:您要解除关联的网络的 VLAN ID。您可以从网络详情页面获取 VLAN ID。 请参阅查看网络

      示例:

      mv /etc/sysconfig/network/ifroute-bond1.121 /etc/sysconfig/network/ifroute-bond1.121.backup
      
  2. 通过 Google Cloud 控制台分离网络:

    1. 进入 Compute Engine > 裸金属解决方案 > 服务器页面。
    2. 点击服务器名称。
    3. 服务器详情页面上,选择要分离的网络。
    4. 点击分离网络
    5. 出现提示时,点击确认

服务器状态会更改为“正在预配”。分离网络是一项长时间运行的操作。如需查看状态,请在 Google Cloud 控制台中点击 通知。您还可以按照查看长时间运行的操作的状态中的步骤操作。操作完成后,服务器状态会更改为“正在运行”。

删除网络

无法删除连接到同一 VRF 的多个客户端网络。在这种情况下,请与客户服务团队联系。

如需删除网络,请按照以下步骤操作:

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 网络页面。
  2. 选择要删除的版本。
  3. 点击删除
  4. 出现提示时,点击确认

删除网络是一项长时间运行的操作。如需查看状态,请在 Google Cloud 控制台中点击 通知。 您还可以按照查看长时间运行的操作的状态中的步骤操作。

查看裸金属解决方案环境的高级网络信息

如果您为裸金属解决方案环境中的复杂部署选择了高级网络选项,则可以使用以下服务器命令来查看此信息。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器页面。

  2. 点击服务器名称。

  3. 服务器详情页面上,您可以查看以下信息:

    1. 在基本详细信息下,您可以查看网络模板。
    2. 网络部分中,您可以查看以下信息:
      • 网络名称
      • 网络类型
      • IP 地址
      • 默认网关
      • 接口名称

gcloud

运行 gcloud bms instances describe 命令以查看服务器的高级网络设置。

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

API

如需查看服务器的高级网络设置,请输入项目 ID、区域和服务器名称,然后发出以下 curl 命令。在输出的网络部分中,您可以查看分配给每个接口的网络模板、逻辑接口、绑定接口和网络类型。

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

在裸金属解决方案环境中实现 IP 地址管理

在裸金属解决方案环境中能够管理网络拓扑非常重要。IP 地址管理可帮助您创建、查看和删除资源的 IP 地址。您可以使用此信息来防止 IP 地址重叠以及解决请求新资源时的冲突。

查看 IP 地址预留

要查看现有预留的 IP 地址,请执行以下操作:

gcloud

运行 gcloud bms networks list-ip-reservations 命令:

gcloud bms networks list-ip-reservations --project=PROJECT_ID --region REGION

API

如需查看现有资源的 IP 地址预留,请输入项目 ID、区域和网络名称,然后发出以下 curl 命令。输出中的预留部分显示预留的 IP 地址范围。

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

创建和更新 IP 地址预留

如需创建新的 IP 地址预留或更新现有 IP 地址预留,请执行以下操作:

gcloud

运行 gcloud bms networks update 命令以管理 IP 地址预留:

gcloud bms networks update NETWORK_NAME --project=PROJECT_ID --region REGION --add-ip-range-reservation=start-address=START_ADDRESS,end-address=END_ADDRESS,note="NOTE"
  • 如需移除所有 IP 地址预留,请添加 --clear-ip-range-reservations 选项。
  • 如需删除预留地址块之一,请添加 --remove-ip-range-reservation 选项并指定要移除的预留 IP 地址块的起始地址和结束地址。
gcloud bms networks update NETWORK_NAME --project=PROJECT_ID --region REGION --remove-ip-range-reservation=start-address=START_ADDRESS,end-address=END_ADDRESS

API

要创建新的 IP 地址预留或更新现有 IP 地址预留,请在以下命令中输入项目 ID、区域和网络名称。为您要预留的每个 IP 地址块添加起始地址、结束地址和备注,然后发出 curl 命令。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/networks/NETWORK_NAME?updateMask=reservations"
 -d "{
  'reservations' : [
    {
      'startAddress' : 'START_ADDRESS_1',
      'endAddress' : 'END_ADDRESS_1',
      'note' : 'NOTES_1'
    },
    {
      'startAddress' : 'START_ADDRESS_2',
      'endAddress' : 'END_ADDRESS_2',
      'note' : 'NOTES_2'
    }
  ]
}"
  • IP 地址预留块必须位于目标网络的 CIDR 范围内。
  • 请勿在预留块中使用 .1(网关 IP 地址)。
  • 每次运行此 curl 命令时,它都会覆盖上一组预留。如果您需要进行更新,请务必在发出命令之前添加所有预留块组。
  • 如需清除所有预留,请将命令末尾替换为以下内容:

    -d "{
    'reservations' : []
    }"
    

管理存储空间

您可以通过以下方式管理裸金属解决方案环境中的存储:

查看存储卷

留意裸金属解决方案环境中的存储资源有助于您确定服务器是否有足够的存储容量来容纳应用和工作负载。

如需查看存储卷的详细信息,请按照以下步骤操作:

控制台

  1. 进入页面。

    前往卷

    页面列出了所有存储卷及以下详细信息:

    字段 说明 示例
    状态 指明存储卷的可用性 带有对勾标记的绿色圆圈表示存储卷已准备就绪。
    ID 分配给存储卷的标识符。
    • 点击该 ID 可查看有关存储卷的基本信息,包括 LUN 和快照。
    • 排查此资源的问题时,请与 Google Cloud 支持团队共享该 ID。
    • 启动卷:
      at-1234567-svr001-vol000-b1
    • Fibre Channel 量:
      at-1111111-vol001
    • NFS 共享:
      at-2222222-nfs001-vol000
    名称 存储卷名称。点击名称可查看有关存储卷的其他信息,包括 LUN 和快照。

    注意:如果您在预配存储卷时未输入名称,则 ID 会显示在此字段中。
    • 启动卷:
      boot-volume-1
    • Fibre Channel 量:
      fibre-channel-volume-5
    • NFS 共享:
      nfs-share-7
    位置 存储卷所在的区域 asia-southeast1
    Pod

    包含存储卷的 Pod。Pod 是一个包含裸金属解决方案资源的隔离单元。不同 Pod 中的资源无法关联。一个区域可以有多个 pod。

    Pod 列默认处于停用状态。如需启用此功能,请执行以下操作:

    1. 点击列显示选项
    2. 选中 Pod 复选框。
    3. 点击确定

    如果您不想启用 Pod 列,则可以点击存储卷名称来查看存储卷的 pod。

    asia-southeast1-pod1
    类型 硬盘或固态硬盘 HDD - Hard drive
    标签 显示您为此存储资源添加的所有标签

    如果要使用标签来过滤控制台输出,您可以复制标签文本并将其粘贴到状态字段上方的过滤条件框。
    environment:test

gcloud

  1. 如需查看裸金属解决方案环境中的所有存储卷并查看其状态,请输入项目 ID 并发出 gcloud bms volumes list 命令:

    gcloud bms volumes list --project=PROJECT_ID
    
    以下输出示例展示了三个存储卷、项目 ID、区域、卷大小和存储类型。
    NAME                         PROJECT              REGION           REQUESTED_SIZE_GIB  STORAGE_TYPE  STATE
    at-1234567-svr001-vol000-b1  PROJECT_ID         REGION         200                 SSD           READY
    at-1111111-vol001            PROJECT_ID         REGION         1024                SSD           READY
    at-2222222-nfs001-vol000     PROJECT_ID         REGION         400                 HDD           READY
    
  2. 如需查看单个存储卷,请输入存储卷名称、项目 ID 和区域,然后发出 gcloud bms volumes describe 命令:

    gcloud bms volumes describe VOLUME_NAME --project=PROJECT_ID --region=REGION
    
    以下输出示例展示了存储卷大小、名称、快照自动删除政策、状态和存储类型。
    currentSizeGib: '250'
    name: projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME
    requestedSizeGib: '250'
    snapshotAutoDeleteBehavior: OLDEST_FIRST
    snapshotReservationDetail:
      reservedSpaceGib: '50'
      reservedSpaceRemainingGib: '50'
    state: READY
    storageType: SSD
    
  3. 如需查看存储卷的所有 LUN,请输入项目 ID、区域和存储卷名称,然后发出 gcloud bms volumes luns list 命令:

    gcloud bms volumes luns list --project=PROJECT_ID --region=REGION --volume=VOLUME_NAME
    
    以下输出示例展示了 LUN 名称、区域、存储卷名称、卷大小和状态。
    NAME                         REGION           VOLUME       SIZE_GB  STATE
    at-11111111-vol001-lun000    REGION        VOLUME_NAME 200      READY
    
  4. 如需查看单个 LUN 的详细信息,请输入项目 ID、区域和 LUN 名称,然后发出 gcloud bms volumes luns describe 命令:

    gcloud bms volumes luns describe LUN_NAME --project=PROJECT_ID --region=REGION --volume=VOLUME_NAME
    
    以下输出示例展示了 LUN 名称和存储卷信息,例如大小、状态、存储类型、名称和 ID。
    bootLun: true
    name: projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME/luns/LUN_NAME
    sizeGb: '200'
    state: READY
    storageType: SSD
    storageVolume: VOLUME_NAME
    wwid: 600a09803831434434244f774d616b94
    

API

  1. 打开 Google Cloud 控制台中的 Cloud Shell 终端窗口。

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

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes"
    
  3. 如需查看单个存储空间卷,请输入项目 ID、区域和存储空间卷名称并发出以下命令:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME"
    
  4. 如需查看存储空间卷的所有逻辑单元号 (LUN),请输入项目 ID、区域和存储空间卷名称,然后发出以下命令:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME/luns
    
  5. 如需查看单个 LUN 的详细信息,请输入项目 ID、区域、存储空间卷名称和 LUN 名称,然后发出以下命令:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME/luns/LUN_NAME"
    

使用标签整理存储卷

为帮助整理存储卷,您可以使用标签。标签采用键值对形式,您可以将其附加到每个存储卷,然后根据其标签过滤存储卷。例如,您可以使用标签按照用途、环境、位置、部门等对存储卷进行分组。标签是可选项。

为存储卷添加或更新标签

您可以为现有存储卷添加或更新标签。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 页面。

  2. 对于要为其添加标签的存储卷,请点击

  3. 点击 修改标签

  4. 标签编辑器页面上,执行以下操作:

    1. 点击 添加标签,然后添加键值对。
    2. 如需更新标签,请选择现有标签并修改其值。
    3. 点击提交
  5. 返回页面后,刷新该页面即可查看您所做的更改。

gcloud

如需为存储卷添加或更新标签,请将 gcloud bms volumes update 命令与 --update-labels 选项结合使用。

以下示例命令会添加标签 environment = devlocation = branch

gcloud bms volumes update VOLUME_NAME --project=PROJECT_ID --region=REGION --update-labels environment=dev,location=branch

如果您为已存在的标签提供新值,则系统会使用新值更新现有标签。如果您提供新标签,则系统会将新标签添加到标签列表中。

API

如需为存储卷添加或更新标签,请在以下 curl 命令中输入项目 ID、区域、卷名称和标签列表。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会分配标签 environment = test

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME?updateMask=labels"
 -d "{
  'labels' : {'environment': 'test'}
}"

移除存储卷的标签

您可以移除存储卷的标签。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 页面。

  2. 对于要移除其标签的存储卷,请点击

  3. 点击 修改标签

  4. 标签编辑器页面上,执行以下操作:

    1. 如需删除标签,请点击
    2. 点击提交
  5. 返回页面后,刷新该页面即可查看您所做的更改。

gcloud

如需移除存储卷的标签,请将 gcloud bms volumes update 命令与以下选项结合使用:

  • --remove-labels:移除指定的标签。
  • --clear-labels:移除所有标签。

以下示例命令会移除存储卷的 department 标签:

gcloud bms volumes update VOLUME_NAME --project=PROJECT_ID --region=REGION --remove-labels=department

以下示例命令会移除存储卷的所有标签:

gcloud bms volumes update VOLUME_NAME --project=PROJECT_ID --region=REGION --clear-labels

API

如需移除存储卷的标签,请在以下 curl 命令中输入项目 ID、区域和存储卷名称。提供一个空的标签列表以移除所有标签,或提供您要保留的标签列表(去掉您要移除的标签)。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会移除除 environment = test 以外的所有标签。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME?updateMask=labels"
 -d "{
  'labels' : {'environment': 'test'}
}"

使用标签过滤存储卷

您可以搜索存储卷并使用标签过滤结果。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 页面。

  2. 点击存储卷列表上方的 Filter 栏。

  3. 属性列表中,选择标签

  4. 输入标签的键、值或键值对。

    例如,如需仅查看标签为 env:dev 的存储卷,您可以输入以下任一项:

    • 输入键:env
    • 输入值:dev
    • 输入键值对:env:dev
  5. 如需应用标签过滤条件,请点击过滤条件栏外部的任意位置。

gcloud

如需使用标签过滤存储卷,请将 gcloud bms volumes list 命令与 --filter 选项结合使用。

--filter 选项的值必须采用 labels.KEY=VALUE 格式。例如,如果您要按键为 env、值为 dev 的标签进行过滤,请发出以下命令:

gcloud bms volumes list --project=PROJECT_ID --region=REGION --filter labels.environment=dev

如需详细了解 gcloud CLI 中的过滤条件语法,请参阅 gcloud topic filters 文档

API

如需使用标签过滤存储卷,请输入项目 ID 和区域,以及 filter=labels 和键值对标签。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会限制输出,以查找键值对标签为 environment = test 的存储卷。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes"?filter=labels.environment=test

重命名存储卷

如需重命名存储卷,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,打开 Compute Engine > 裸金属解决方案 > 页面。
  2. 点击存储卷名称。
  3. 卷详情页面的名称字段中,点击 修改名称
  4. 修改名称页面上,输入新名称。
  5. 点击保存
  6. 如需查看更改,请刷新页面。

gcloud

如需重命名存储卷,请使用 gcloud bms volumes rename 命令。

gcloud bms volumes rename VOLUME_NAME --new-name=NEW_NAME --project=PROJECT_ID --region=REGION

请替换以下内容:

  • VOLUME_NAME:存储卷的当前名称。
  • NEW_NAME:存储卷的新名称。
  • PROJECT_ID:您的项目 ID。
  • REGION:存储卷的位置。

在裸金属解决方案环境中预配存储卷资源

为裸金属解决方案环境订购存储资源后,您可以在资源可用后预配资源。您可以预配以下自助选项:

  • 创建新的 Fibre Channel 存储卷
  • 在卷上创建 LUN
  • 将存储卷挂接到服务器

创建新的存储卷

借助此功能,您可以预配之前订购的存储空间。如需订购存储服务,请联系 Google Cloud 销售团队

如需创建新的存储卷,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,点击 Compute Engine > 裸金属解决方案 > 菜单。

  2. 点击创建

  3. 请输入以下信息:

    字段 说明 示例
    区域 距离裸金属解决方案环境最近的 Google Cloud 区域。 us-central1
    名称 为您的存储卷指定一个名称。 volume-1
    类型 选择存储类型:
    • SSD - 固态硬盘
    • HDD - 硬盘
    SSD
    性能层 如果您选择了 SSD 存储类型,请选择 SSD 硬盘的性能层级:
    • 标准 - 选择此选项可创建标准 SSD 驱动器。
    • 高性能 - 选择此选项可创建高性能 SSD 驱动器。
    Performance
    大小 选择硬盘大小(以 GiB 为单位),1024 GiB = 1 TiB。大小范围介于 100 GiB 到 16 TiB 之间。如果您需要超过 16 TiB,请根据需要创建更多卷。

    对于高性能 SSD 驱动器,每个卷的大小上限为 8 TiB。
    16384
    快照已启用 每天对存储卷的备份副本执行一次保存操作。这对于自定义快照而言是必需的,但默认情况下该功能处于停用状态。 已勾选复选框以启用快照
    配置 选择所需的 LUN 配置类型:
    • 默认配置 - 创建大小相同的 LUN(推荐)。
    • 自定义配置 - 创建大小不同的 LUN。
    Default configuration
    目标服务器 选择服务器并挂接存储卷。 server-1
  4. 点击创建

  5. 控制台会检查所请求的存储空间是否有足够的可用空间。控制台会在有可用空间时实施更改,如果无法执行该操作,则会提醒您。如果存储卷请求成功,系统会自动开始计算额外存储空间的费用。

  6. 预配存储卷后,您可以将其与其他服务器共享

在存储卷上创建 LUN

如需为存储卷创建 LUN,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,点击 Compute Engine > 裸金属解决方案 > 菜单。

  2. 点击您要创建 LUN 的存储卷的名称。

  3. LUN 部分旁边,点击创建

  4. 请输入以下信息:

    字段 说明 示例
    LUN 数 您要创建特定大小的 LUN 的总数。 4
    大小 选择 LUN 大小(以 GiB 为单位),1024 GiB = 1 TiB。 1024
  5. 如果您需要创建多组 LUN,请点击添加一项

  6. 点击创建以部署新的 LUN。

将存储卷挂接到服务器

您可以一次将多个存储卷挂接到服务器。

如需将存储卷附加到服务器,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,打开 Compute Engine > 裸金属解决方案 > 服务器页面。

  2. 点击要将存储卷挂接到的服务器的名称。

  3. LUN 部分中,点击挂接卷

  4. 目标卷列表中,选择要附加的存储卷。您也可以选择多个存储卷。

  5. 点击附加卷

您还可以将同一存储卷并行挂接到其他服务器。进入服务器页面,然后对所有其他服务器重复此过程。

删除存储卷资源

如果不再需要特定的存储卷资源,可以将其删除。您可以删除整个存储卷或其 LUN。但在执行此操作之前,您必须先将存储卷与其挂接到的服务器分离。

本部分介绍了以下任务:

将存储卷与服务器分离

您可以将存储卷与服务器分离。您无法将个别 LUN 与服务器分离。您可以一次分离多个存储卷。

如需将存储卷与服务器分离,请按照以下步骤操作:

  1. 更新裸金属解决方案服务器的操作系统配置。

    在通过 Google Cloud 控制台分离存储卷之前,您必须更新裸金属解决方案服务器的操作系统配置。如果您不更新操作系统配置,则在 Google Cloud 控制台中所做的更改不会完全实现,您的数据可能会损坏,并且服务器可能会在下次重新启动时遇到问题。

    此步骤展示了如何更新操作系统配置的示例。具体说明可能会因操作系统而异。如果您遇到任何问题,请参阅操作系统配置指南。

    Logical Volume Manager (LVM)

    通过 LVM 分离 RHEL7.x、RHEL 8.x、Oracle Linux 7.x、Oracle Linux 8.x、SLES 12 SP4、SLES 12 SP5、SLES 15 和 SLES 15 SP1 的存储卷。

    以下示例过程展示了如何通过 LVM 分离文件系统 (/testvol02) 及其关联的逻辑卷、物理卷和底层 LUN。

    请按照以下步骤操作:

    1. 确定与文件系统 /testvol02 关联的 LVM 卷和底层 LUN。

        df -h|grep testvol02
        

      示例输出:

        /dev/mapper/testvg01-lv02                         99G   33M   99G   1% /testvol02
        

      输出结果显示文件系统 /testvol02 与设备 /dev/mapper/testvg01-lv02 相关联。

    2. 确定设备 testvg01-lv02 的 WWID。

        sudo dmsetup ls --tree
        

      示例输出:

        testvg01-lv02 (253:10)
        └─3600a0980383146354a2b522d53374236 (253:6)
            ├─ (8:176)
            ├─ (8:112)
            ├─ (8:240)
            └─ (8:48)
        testvg01-lv01 (253:9)
        └─3600a0980383146354a2b522d53374235 (253:5)
            ├─ (8:160)
            ├─ (8:96)
            ├─ (8:224)
            └─ (8:32)
        

      输出显示设备 testvg01-lv02 的 WWID 为 3600a0980383146354a2b522d53374236

    3. 确定文件系统 /testvol02 的逻辑卷、物理卷和底层 LUN 的 WWID。

        sudo vgdisplay -v
        

      示例输出:

          --- Volume group ---
          VG Name               testvg01
          System ID
          Format                lvm2
          Metadata Areas        2
          Metadata Sequence No  4
          VG Access             read/write
          VG Status             resizable
          MAX LV                0
          Cur LV                2
          Open LV               2
          Max PV                0
          Cur PV                2
          Act PV                2
          VG Size               199.99 GiB
          PE Size               4.00 MiB
          Total PE              51198
          Alloc PE / Size       50688 / 198.00 GiB
          Free  PE / Size       510 / 1.99 GiB
          VG UUID               W42Rle-9sER-jpS1-dwBC-xbtn-1D2b-FNRDMA
      
          --- Logical volume ---
          LV Path                /dev/testvg01/lv01
          LV Name                lv01
          VG Name                testvg01
          LV UUID                W8bzQQ-Qtyf-CDJA-AXPt-P1b1-X4xL-2WDq92
          LV Write Access        read/write
          LV Creation host, time at-5176205-svr001, 2022-12-06 22:14:56 +0000
          LV Status              available
          # open                 1
          LV Size                99.00 GiB
          Current LE             25344
          Segments               1
          Allocation             inherit
          Read ahead sectors     auto
          - currently set to     8192
          Block device           253:9
      
          --- Logical volume ---
          LV Path                /dev/testvg01/lv02
          LV Name                lv02
          VG Name                testvg01
          LV UUID                B1vtMm-RAKx-3S92-mHfx-98xc-gKwR-XWOavH
          LV Write Access        read/write
          LV Creation host, time at-5176205-svr001, 2022-12-07 17:02:53 +0000
          LV Status              available
          # open                 1
          LV Size                99.00 GiB
          Current LE             25344
          Segments               1
          Allocation             inherit
          Read ahead sectors     auto
          - currently set to     8192
          Block device           253:10
      
          --- Physical volumes ---
          PV Name               /dev/mapper/3600a0980383146354a2b522d53374235
          PV UUID               ieY2Cr-HNrg-dj2G-wHgP-lsuh-PTAH-hNemRq
          PV Status             allocatable
          Total PE / Free PE    25599 / 255
      
          PV Name               /dev/mapper/3600a0980383146354a2b522d53374236
          PV UUID               AMrtZa-TZHO-w0h6-Uf1G-NCwa-UtFY-83rZen
          PV Status             allocatable
          Total PE / Free PE    25599 / 255
        

      输出展示了以下内容:

      • 文件系统 /testvol02 使用的是卷组 testvg01 中的逻辑卷 (LV) lv02
      • 使用的物理卷 (PV) 为 /dev/mapper/3600a0980383146354a2b522d53374236
      • 底层 LUN 的 WWID 为 3600a0980383146354a2b522d53374236
    4. 卸载文件系统 /testvol02

        sudo umount /testvol02
        
    5. 如果需要,请从文件 /etc/fstab 中找到并移除文件系统 /testvol02 的相应条目,方法是注释或删除相关行。

        grep testvol02 /etc/fstab
        

      示例输出:

        /dev/mapper/testvg01-lv02 /testvol02                    xfs     defaults        0 0
        
    6. 停用逻辑卷 lv02

        sudo lvchange -an /dev/testvg01/lv02
        
    7. 从卷组 testvg01 中移除逻辑卷 lv02

        sudo lvremove /dev/testvg01/lv02
        

      示例输出:

        Logical volume "lv02" successfully removed
        
    8. 从卷组 testvg01 中移除物理卷 /dev/mapper/3600a0980383146354a2b522d53374236

    9.   sudo vgreduce testvg01 /dev/mapper/3600a0980383146354a2b522d53374236
        

      示例输出:

        Removed "/dev/mapper/3600a0980383146354a2b522d53374236" from volume group "testvg01"
        
    10. 可选:移除逻辑卷和物理卷后,使用 vgdisplay -vdmsetup ls -tree 命令确认 LVM 不再使用该设备。如果设备已不再使用,则不会显示在 vgdisplay 命令输出的“物理卷”部分,也不会在 dmsetup 命令输出中与任何卷相关联。

    本地文件系统

    通过本地文件系统分离存储卷(适用于 RHEL7.x、RHEL 8.x、Oracle Linux 7.x 和 Oracle Linux 8.x)。

    以下示例过程展示了如何移除文件系统 (/localfs01) 和底层 LUN。

    请按照以下步骤操作:

    1. 确定与文件系统 /localfs01 关联的底层 LUN。

      df -h|grep localfs01
      

      示例输出:

      /dev/mapper/3600a0980383146354a2b522d53374236    100G   33M  100G   1% /localfs01
      

      df 命令的输出显示文件系统 /localfs01 与设备 /dev/mapper/3600a0980383146354a2b522d53374236 相关联。

    2. 卸载文件系统 /localfs01

      sudo umount /localfs01
      
    3. 根据需要,通过注释或删除相关行,从文件 /etc/fstab 中查找并移除文件系统 /localfs01 的相应条目。

      grep localfs01 /etc/fstab
      

      示例输出:

      grep localfs01 /etc/fstab
      /dev/mapper/3600a0980383146354a2b522d53374236 /localfs01    xfs defaults 0 0
      

    Oracle ASM

    通过 Oracle ASM 为 RHEL7.x、RHEL 8.x、Oracle Linux 7.x 和 Oracle Linux 8.x 分离存储卷。

    以下示例过程展示了如何在 Oracle ASM 中移除磁盘 (DEMO_0001) 及其关联的 LUN。

    请按照以下步骤操作:

    1. 确定您要从 Oracle ASM 中移除的磁盘。

      sqlplus / as sysasm
      
      set lines 999;
      col diskgroup for a15
      col diskname for a15
      col path for a35
      select a.name DiskGroup,b.name DiskName, b.total_mb, (b.total_mb-b.free_mb) Used_MB, b.free_mb,b.path,b.header_status
      from v$asm_disk b, v$asm_diskgroup a
      where a.group_number (+) =b.group_number
      order by b.group_number,b.name;
      
      DISKGROUP   DISKNAME      TOTAL_MB    USED_MB    FREE_MB PATH                    HEADER_STATU
      --------------- --------------- ---------- ---------- ---------- ----------------------------------- ------------
      DATA        DATA_0000        25600   5676      19924 /dev/asmdisks/DATA1             MEMBER
      DEMO        DEMO_0000        25600     16      25584 /dev/asmdisks/DEMO1             MEMBER
      DEMO        DEMO_0001       102400     51     102349 /dev/asmdisks/DEMO2             MEMBER
      RECO        RECO_0000        25600   3896      21704 /dev/asmdisks/RECO1             MEMBER
      

      示例输出:

      DISKGROUP   DISKNAME      TOTAL_MB    USED_MB    FREE_MB PATH                    HEADER_STATU
      --------------- --------------- ---------- ---------- ---------- ----------------------------------- ------------
      DATA        DATA_0000        25600   5676      19924 /dev/asmdisks/DATA1             MEMBER
      DEMO        DEMO_0000        25600     16      25584 /dev/asmdisks/DEMO1             MEMBER
      DEMO        DEMO_0001       102400     51     102349 /dev/asmdisks/DEMO2             MEMBER
      RECO        RECO_0000        25600   3896      21704 /dev/asmdisks/RECO1             MEMBER
      

      查询的输出显示与磁盘 DEMO_0001 关联的设备是 /dev/asmdisks/DEMO2

    2. 确定与磁盘关联的多路径设备及其 WWID。

      ls -l /dev/asmdisks/DEMO2
      lrwxrwxrwx 1 root root 8 Dec 29 17:52 /dev/asmdisks/DEMO2 -> ../dm-18
      
      sudo multipath -ll|grep dm-18
      3600a0980383146354a2b522d53374247 dm-18 NETAPP  ,LUN C-Mode
      
    3. 从磁盘组中移除磁盘。

      SQL> alter diskgroup DEMO drop disk DEMO_0001 rebalance power 5;
      
      Diskgroup altered.
      
      col diskgroup for a15
      col diskname for a15
      col path for a35
      select a.name DiskGroup,b.name DiskName, b.total_mb, (b.total_mb-b.free_mb) Used_MB, b.free_mb,b.path,b.header_status
      from v$asm_disk b, v$asm_diskgroup a
      where a.group_number (+) =b.group_number
      order by b.group_number,b.name;
      
      DISKGROUP   DISKNAME      TOTAL_MB    USED_MB    FREE_MB PATH                    HEADER_STATU
      --------------- --------------- ---------- ---------- ---------- ----------------------------------- ------------
                0     0          0 /dev/asmdisks/DEMO2             FORMER
      DATA        DATA_0000        25600   5676      19924 /dev/asmdisks/DATA1             MEMBER
      DEMO        DEMO_0000        25600     64      25536 /dev/asmdisks/DEMO1             MEMBER
      RECO        RECO_0000        25600   3896      21704 /dev/asmdisks/RECO1             MEMBER
      
      SQL> exit
      
    4. (请在集群中的所有节点上执行此步骤。)从 /etc/udev/rules.d/99-oracle-asmdevices.rules 文件中移除对磁盘的所有引用。

      在此示例中,我们移除了第 9 行和第 10 行,因为它们与此过程的第 1.b 步中标识的磁盘 DEMO_00013600a0980383146354a2b522d53374247 的 WWID 相关联。

      cat -n /etc/udev/rules.d/99-oracle-asmdevices.rules
       1  # BEGIN ASM disk udev rules for /dev/mapper/3600a0980383146354a2b522d53374244
       2  ACTION=="add|change", ENV{DM_UUID}=="mpath-3600a0980383146354a2b522d53374244", SYMLINK+="asmdisks/DATA1", GROUP="asmadmin", OWNER="grid", MODE="0660"
       3  # END ASM disk udev rules for /dev/mapper/3600a0980383146354a2b522d53374244
       4  # BEGIN ASM disk udev rules for /dev/mapper/3600a0980383146354a2b522d53374243
       5  ACTION=="add|change", ENV{DM_UUID}=="mpath-3600a0980383146354a2b522d53374243", SYMLINK+="asmdisks/RECO1", GROUP="asmadmin", OWNER="grid", MODE="0660"
       6  # END ASM disk udev rules for /dev/mapper/3600a0980383146354a2b522d53374243
       7  # BEGIN ASM disk udev rules for /dev/mapper/3600a0980383146354a2b522d53374242
       8  ACTION=="add|change", ENV{DM_UUID}=="mpath-3600a0980383146354a2b522d53374242", SYMLINK+="asmdisks/DEMO1", GROUP="asmadmin", OWNER="grid", MODE="0660"
       9  # BEGIN ASM disk udev rules for /dev/mapper/3600a0980383146354a2b522d53374247
      10  ACTION=="add|change", ENV{DM_UUID}=="mpath-3600a0980383146354a2b522d53374247", SYMLINK+="asmdisks/DEMO2", GROUP="asmadmin", OWNER="grid", MODE="0660"
      11  # END ASM disk udev rules for /dev/mapper/3600a0980383146354a2b522d53374247
      
    5. (请在集群中的所有节点上执行此步骤。)应用 udev 规则集更改。

      sudo udevadm control -R
      

    Oracle Linux 虚拟化管理器

    通过 Oracle Linux 虚拟化管理器 4.4.10.7 分离存储卷。

    不支持从 Oracle Linux 虚拟化管理器存储网域中移除单个光纤通道设备。您需要先移除存储域,然后才能移除底层 LUN。

    以下示例过程展示了如何移除 WWID 为 3600a0980383146354a2b522d533742443600a0980383146354a2b522d53374245 且属于 Oracle Linux 虚拟化管理器存储网域 olvm-domain-02 的 LUN。

    1. 在 Oracle Linux 虚拟化管理器中,依次前往存储 > 网域
    2. 选择存储网域 olvm-domain-02
    3. 点击 Manage Domain(管理域名)。
    4. 记下要移除的光纤通道 LUN 的 WWID。 在本例中,WWID 分别为 3600a0980383146354a2b522d533742443600a0980383146354a2b522d53374245
    5. 关闭 Manage Domain(管理域名)窗格。
    6. 将存储网域置于维护模式,如下所示:
      1. 点击存储网域。
      2. 选择数据中心标签页。
      3. 点击维护,然后点击确定
      4. 如需详细了解此步骤,请参阅 Oracle 文档:如何安全地从环境中移除存储域

    7. 依次点击分离确定
    8. 移除存储网域:
      1. 返回 Storage > Domains
      2. 选择存储网域。
      3. 依次点击移除确定

    Oracle VM 服务器

    通过 Oracle VM Server 版本 3.4.6 分离存储卷。

    以下示例过程展示了如何移除 WWID 为 3600a0980383146354a2b522d53374236 的 LUN。

    请按照以下步骤操作:

    1. 在 Oracle VM Manager 中,删除关联的物理磁盘。请参阅 Oracle 文档:删除物理磁盘

      在此示例中,WWID 为 3600a0980383146354a2b522d53374236 的物理磁盘的 OVM 控制台名称为 NETAPP (10)

      1. 服务器和虚拟机中,选择实体磁盘。
      2. 依次点击删除实体磁盘确定
  2. 在 Google Cloud 控制台中,进入 Compute Engine > 裸金属解决方案 > 服务器页面。

  3. 点击包含要分离的存储卷的服务器的名称。

  4. LUN 部分中,点击分离卷

  5. 目标卷列表中,选择要分离的存储卷。您也可以选择多个存储卷。

  6. 可选:默认情况下,当您分离存储卷时,服务器会重新启动。如果您不想重新启动服务器,请选中跳过服务器重新启动复选框。

  7. 点击分离卷

    如果您在第 6 步中未选择跳过服务器重新启动选项,则服务器将重新启动并分离存储卷及其 LUN。

  8. (如果您在第 6 步中跳过了重新启动,请执行此步骤。)通过 Google Cloud 控制台分离存储卷后,请在操作系统上执行 SCSI 重新扫描和设备清理。

    具体说明可能会因操作系统而异。如果您遇到任何问题,请参阅操作系统配置指南。

    Logical Volume Manager (LVM)

    此示例适用于 RHEL7.x、RHEL 8.x、Oracle Linux 7.x、Oracle Linux 8.x、SLES 12 SP4、SLES 12 SP5、SLES 15 和 SLES 15 SP1。

    1. 移除与 LUN 关联的路径。

      以下是裸金属解决方案环境中的示例:

          sudo /bin/rescan-scsi-bus.sh -r
          Syncing file systems
          Scanning SCSI subsystem for new devices and remove devices that have disappeared
          Scanning host 0 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
          Scanning host 1 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
          Scanning host 2 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
          ...
          Scanning host 17 for all SCSI target IDs, all LUNs
          0 new or changed device(s) found.
          0 remapped or resized device(s) found.
          4 device(s) removed.
            [14:0:2:1]
            [14:0:3:1]
            [16:0:0:1]
            [16:0:1:1]
          
    2. 重新加载多路径映射。

        sudo /sbin/multipath -r
        

    本地文件系统

    此示例适用于 RHEL7.x、RHEL 8.x、Oracle Linux 7.x 和 Oracle Linux 8.x。

    1. 移除与 LUN 关联的路径。

      以下是裸金属解决方案环境中的示例:

        sudo /bin/rescan-scsi-bus.sh -r
        Syncing file systems
        Scanning SCSI subsystem for new devices and remove devices that have disappeared
        Scanning host 0 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
        Scanning host 1 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
        Scanning host 2 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
        ...
        Scanning host 17 for all SCSI target IDs, all LUNs
        0 new or changed device(s) found.
        0 remapped or resized device(s) found.
        4 device(s) removed.
          [14:0:2:1]
          [14:0:3:1]
          [16:0:0:1]
          [16:0:1:1]
        
    2. 重新加载多路径映射。

       sudo /sbin/multipath -r
       

    Oracle ASM

    此示例适用于 RHEL7.x、RHEL 8.x、Oracle Linux 7.x 和 Oracle Linux 8.x。

    请在集群中的所有节点上执行这些步骤。

    1. 移除与 LUN 关联的路径。

      以下是裸金属解决方案环境中的示例:

        sudo /bin/rescan-scsi-bus.sh -r
        Syncing file systems
        Scanning SCSI subsystem for new devices and remove devices that have disappeared
        Scanning host 0 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
        Scanning host 1 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
        Scanning host 2 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
        ...
        Scanning host 17 for  all SCSI target IDs, all LUNs
        0 new or changed device(s) found.
        0 remapped or resized device(s) found.
        4 device(s) removed.
          [14:0:2:8]
          [14:0:3:8]
          [16:0:0:8]
          [16:0:3:8]
      
    2. 重新加载多路径映射。

      sudo /sbin/multipath -r
      

    Oracle Linux 虚拟化管理器

    此示例适用于 Oracle Linux 虚拟化管理器 4.4.10.7。

    此示例使用 Oracle Linux 虚拟化管理器安装过程中提供的 remove_stale_lun.yml Ansible 剧本。该 Playbook 使用 Ansible 角色从 Oracle Linux 虚拟化管理器构建 KVM 主机目录,然后从这些 KVM 主机中移除指定的 WWID。如需了解详情,请参阅 Ansible Playbook

    1. 使用适合您的 Ansible 环境的方法,将 passwords.yml 文件更新为 KVM 主机的密码。
    2. 修改文件 remove_stale_lun.yml,将 vars 部分更新为 data_centerlun_wwid 的值,使其与此过程的第 1.d 步中标识的 WWID 值相匹配。
        vars:
         ansible_ssh_common_args: "-o StrictHostKeyChecking=no"
         ansible_user: root
         ansible_ssh_private_key_file: /etc/pki/ovirt-engine/keys/engine_id_rsa
      
         engine_fqdn: manager.olvm.test
         engine_user: admin@internal
      
         data_center: default
         lun_wwid: 3600a0980383146354a2b522d53374244 3600a0980383146354a2b522d53374245
        
    3. 在 Oracle Linux 虚拟化管理器引擎中,运行 Ansible Playbook。

          ansible-playbook /usr/share/ansible/collections/ansible_collections/ovirt/ovirt/roles/remove_stale_lun/examples/remove_stale_lun.yml
      
          PLAY [oVirt remove stale LUN] ***********************************************************************************************************************************************************
      
          ... [output skipped]
      
          TASK [ovirt.ovirt.remove_stale_lun : Logout from oVirt] *********************************************************************************************************************************
          skipping: [localhost]
      
          PLAY RECAP ******************************************************************************************************************************************************************************
          localhost                  : ok=7    changed=3    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0
      
        

      Ansible 剧本完成后,与 LUN 关联的路径会从 KVM 主机中安全移除。

    Oracle VM 服务器

    此示例适用于 Oracle VM Server 版本 3.4.6。

    在已附加 LUN 的所有 Oracle VM 服务器上执行这些步骤。

    1. 移除与 LUN 关联的路径。
      sudo /usr/bin/rescan-scsi-bus.sh -r
      Syncing file systems
      Scanning SCSI subsystem for new devices and remove devices that have disappeared
      Scanning host 0 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
      Scanning host 1 for  SCSI target IDs  0 1 2 3 4 5 6 7, all LUNs
      Scanning host 2 for  SCSI target IDs  0 1 2 3
      [output skipped]
      Scanning host 17 for  all SCSI target IDs, all LUNs
      0 new or changed device(s) found.
      0 remapped or resized device(s) found.
      4 device(s) removed.
        [14:0:2:2]
        [14:0:3:2]
        [16:0:2:2]
        [16:0:3:2]
      
    2. 重新加载多路径映射。

      sudo /sbin/multipath -r
      

从存储卷中删除 LUN

在从存储卷中删除 LUN 之前,请先将存储卷与其挂接到的所有服务器分离。请参阅将存储卷与服务器分离

如需从存储卷中删除 LUN,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,进入 Compute Engine > 裸金属解决方案 > 页面。

  2. 点击包含要删除的 LUN 的存储卷的名称。

  3. LUN 部分中,选择要删除的 LUN。

  4. 点击删除

    删除 LUN 后,它会进入七天的冷却期。只有在冷却期过后,LUN 才会被删除。如果您要在冷却期内恢复 LUN,请与客户服务联系。

    如果要跳过冷却期并永久删除 LUN,请继续执行以下步骤:

  5. 选择要跳过冷却期的 LUN。

  6. 点击逐出

  7. 点击确认

    删除和逐出是长时间运行的操作。如需查看状态,请在 Google Cloud 控制台中点击 通知。删除操作完成后,LUN 状态会更改为“冷却”,并且在逐出操作完成后,LUN 会从 LUN 列表中移除。

    LUN 删除后,相应存储空间将返还到存储卷以供使用。但是,仅当您删除或逐出存储卷时,才会返还配额。如果您删除 LUN,配额将在七天冷却期后返还给您。但若您是逐出 LUN,配额将在逐出操作完成后立即返还给您。

如果您想在删除 LUN 后重新附加存储卷,请参阅将存储卷附加到服务器

删除存储卷

您可以一次删除多个存储卷。

在删除存储卷之前,请先将其与挂接到的所有服务器分离。请参阅将存储卷与服务器分离

如需删除存储卷,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,进入 Compute Engine > 裸金属解决方案 > 页面。

  2. 选择存储卷。

  3. 点击删除

    删除存储卷后,它会进入七天的冷却期。只有在冷却期过后,存储卷才会被删除。如果要在冷却期内恢复存储卷,请与客户服务联系。

    如果要跳过冷却期并永久删除存储卷,请继续执行以下步骤:

  4. 选择要跳过冷却期的卷。

  5. 点击逐出

  6. 点击确认

    删除和逐出是长时间运行的操作。如需查看状态,请在 Google Cloud 控制台中点击 通知。删除操作完成后,存储卷状态会更改为“冷却”,并且在逐出操作完成后,存储卷会从存储卷列表中移除。

    删除存储卷后,相应配额将在七天冷却期后返还给您。但若您是逐出存储卷,配额将在逐出操作完成后立即返还给您。

管理启动卷快照

您可以通过以下方式管理启动卷快照:

查看启动卷快照及其详细信息

您可以查看启动卷的快照列表及其详细信息,包括:

  • ID
  • 名称
  • 说明
  • 创建时间
  • 关联的卷
  • 类型

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 页面。
  2. 点击卷名称。
  3. 卷详情页面上的快照部分中,您可以查看快照列表及其详细信息。

gcloud

如需列出启动卷的所有快照,请发出 gcloud bms volumes snapshots list 命令。

gcloud bms volumes snapshots list --project=PROJECT_ID --region=REGION --volume=VOLUME_NAME

如需查看特定启动卷快照的详细信息,请发出 gcloud bms volumes snapshots describe 命令。

gcloud bms volumes snapshots describe --project=PROJECT_ID --region=REGION --volume=VOLUME_NAME --snapshot=SNAPSHOT_NAME

API

如需列出所有启动卷快照,请在以下 curl 命令中输入项目 ID、区域和卷名称。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

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

如需查看启动卷快照的详细信息,请在以下 curl 命令中输入项目 ID、区域、卷名称和快照名称。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME/snapshots/SNAPSHOT_NAME"

创建启动卷快照

您可以为启动卷创建快照。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 页面。
  2. 点击卷名称。
  3. 卷详情页面上的快照部分中,点击创建
  4. 创建新的卷快照页面上,执行以下操作:
    1. 名称字段中,为快照输入一个唯一名称。
    2. 说明字段中,为快照输入说明。
  5. 点击创建

gcloud

如需创建启动卷快照,请发出 gcloud bms volumes snapshot 命令。

gcloud bms volumes snapshot --project=PROJECT_ID --region=REGION --volume=VOLUME_NAME --snapshot=SNAPSHOT_NAME --description=DESCRIPTION

API

如需创建启动卷快照,请在以下 curl 命令中输入项目 ID、区域、卷名称、快照名称和快照说明。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME/snapshots"
 -d \
'{\''name\'':
\''projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME/snapshots/SNAPSHOT_NAME\'', \''description\'': \''DESCRIPTION\''}' \

删除启动卷快照

您可以删除启动卷快照。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 页面。
  2. 点击卷名称。
  3. 卷详情页面上的快照部分中,选择要删除的快照。
  4. 点击删除
  5. 出现提示时,点击确认

gcloud

如需删除启动卷快照,请发出 gcloud bms volumes snapshots delete 命令。

gcloud bms volumes snapshots delete --project=PROJECT_ID --region=REGION --volume=VOLUME_NAME --snapshot=SNAPSHOT_NAME

出现提示时,输入“Y”并按 EnterReturn 键。

API

如需删除启动卷快照,请在以下 curl 命令中输入项目 ID、区域、卷名称和快照名称。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME/snapshots/SNAPSHOT_NAME"

恢复启动卷快照

您可以通过快照恢复启动卷。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > 服务器页面。
  2. 停止连接到要恢复的卷的服务器。请参阅运行裸金属解决方案服务器

    等待关停完成后再继续执行下一步。

  3. 进入 Compute Engine > 裸金属解决方案 > 页面。

  4. 对于要恢复的卷,请点击卷名称。

  5. 卷详情页面上,执行以下操作:

    1. 对于要恢复的快照,请点击
    2. 点击恢复
    3. 出现提示时,点击确认

gcloud

如需恢复启动卷快照,请发出 gcloud bms volumes restore 命令。

gcloud bms volumes restore --project=PROJECT_ID --region=REGION VOLUME_NAME --snapshot=SNAPSHOT_NAME

API

如需恢复启动卷快照,请在以下 curl 命令中输入项目 ID、区域、卷名称和快照名称。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
-H "Content-Length:0" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/volumes/VOLUME_NAME/snapshots/SNAPSHOT_NAME:restoreVolumeSnapshot"

由于恢复启动卷需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

管理 NFS 文件存储

您可以通过以下方式管理 NFS 文件存储空间:

查看 NFS 卷

为裸金属解决方案订购和预配 NFS 后,您可以查看 NFS 文件存储的状态,并确认 Google Cloud 按预期实现了您配置的设置。

如需查看 NFS 卷的详细信息,请按照以下步骤操作:

控制台

  1. 进入 NFS 共享页面。

    前往 NFS 共享

    NFS 共享页面列出了所有 NFS 卷及以下详细信息:

  2. 查看可用信息。

    字段 说明 示例
    状态 指明 NFS 卷的可用性 带有对勾标记的绿色圆圈表示已预配 NFS 卷。
    ID 分配给托管卷的 NFS 存储设备的标识符。
    • 点击该 ID 可查看有关存储卷的其他信息,包括允许的客户端和 NFS 属性。
    • 排查此资源的问题时,请与 Google Cloud 支持团队共享该 ID。
    at-2222222-nfs001
    名称 托管卷的 NFS 存储设备的名称。点击该名称可查看有关存储卷的其他信息,包括允许的客户端和 NFS 属性。

    注意:如果在预配 NFS 存储设备时未输入名称,则 ID会显示在此字段中。
    nfs-share-7
    位置 NFS 存储卷的区域 asia-southeast1
    Pod

    包含 NFS 卷的 Pod。Pod 是一个包含裸金属解决方案资源的隔离单元。不同 Pod 中的资源无法关联。一个区域可以有多个 pod。

    Pod 列默认处于停用状态。如需启用此功能,请执行以下操作:

    1. 点击列显示选项
    2. 选中 Pod 复选框。
    3. 点击确定

    如果您不想启用 Pod 列,则可以点击 NFS 卷名称来查看 NFS 卷的 pod。

    asia-southeast1-pod1
    NFS 存储卷的名称。点击该名称可查看有关 NFS 存储卷的其他信息,例如快照。 at-2222222-nfs001-vol000
    标签 显示您添加到此 NFS 文件存储资源中的任何标签

    如果要使用标签来过滤控制台输出,您可以复制标签文本并将其粘贴到状态字段上方的过滤器框。
    environment:test

gcloud

  1. 如需查看裸金属解决方案环境中 NFS 文件存储的状态,请发出 gcloud bms nfs-shares list 命令:

    gcloud bms nfs-shares list --project=PROJECT_ID --region=REGION
    

    其他命令选项包括:

    • --limit: 限制输出以显示特定数量的设备
    • --filter: 限制输出,以显示具有特定标签或其他过滤条件参数的设备。

    输出会提供有关 NFS 文件存储的详细信息,包括名称、ID、卷和允许的客户端。

    NAME: nfs-share-7
    ID: at-2222222-nfs001
    PROJECT: PROJECT_ID
    REGION: REGION
    VOLUME_NAME: at-2222222-nfs001-vol000
    STATE: PROVISIONED
    ALLOWED_CLIENTS: [{"allowedCidr": "192.168.1.1/32", "networkName": "at-1111111-vlan001", "shareIp": "192.168.1.240"}]
    

  2. 如需查看特定 NFS 文件存储设备的状态,请发出 gcloud bms nfs-shares describe 命令。您可以将 NFS 共享名称或 ID 用作 NFS_SHARE 变量:

    gcloud bms nfs-shares describe NFS_SHARE --project=PROJECT_ID --region=REGION
    
    输出内容提供有关允许的客户端、NFS 设置、NFS 服务器及其状态以及存储卷的详细信息。
    allowedClients:
    – allowDev: true
      allowedClientsCidr: 192.168.1.1/32
      mountPermissions: READ_WRITE
      network: projects/PROJECT_ID/locations/REGION/networks/at-1111111-vlan001
      noRootSquash: true
      shareIp: 192.168.1.240
    name: projects/PROJECT_ID/locations/REGION/nfsShares/NFS_SHARE
    nfsShareId: at-2222222-nfs001
    state: PROVISIONED
    volume: projects/PROJECT_ID/locations/REGION/volumes/at-2222222-nfs001-vol000
    

API

  1. 如需查看裸金属解决方案环境中 NFS 文件存储的状态,包括允许的客户端和 NFS 属性,请在下面的 curl 命令中输入项目 ID 和区域。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/nfsShares"
    
  2. 如需查看特定 NFS 文件存储设备的状态,请输入您的项目 ID、区域和 NFS 服务器名称或 ID,然后发出以下命令:

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

使用标签整理 NFS 文件存储

为帮助整理 NFS 文件存储,您可以使用标签。标签采用键值对形式,您可以将其附加到每个 NFS 卷,然后根据其标签过滤 NFS 卷。例如,您可以使用标签按照用途、环境、位置、部门等对 NFS 卷进行分组。标签是可选项。

为 NFS 卷添加或更新标签

您可以为现有 NFS 卷添加或更新标签。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > NFS 共享页面。

  2. 对于要为其添加标签的 NFS 卷,请点击

  3. 点击 修改标签

  4. 标签编辑器页面上,执行以下操作:

    1. 点击 添加标签,然后添加键值对。
    2. 如需更新标签,请选择现有标签并修改其值。
    3. 点击提交
  5. 返回NFS 共享页面后,刷新该页面即可查看您所做的更改。

gcloud

如需为 NFS 卷添加或更新标签,请将 gcloud bms nfs-shares update 命令与 --update-labels 选项结合使用。

以下示例命令会添加标签 environment = devlocation = branch

gcloud bms nfs-shares update NFS_VOLUME_NAME --project=PROJECT_ID --region=REGION --update-labels environment=dev,location=branch

如果您为已存在的标签提供新值,则系统会使用新值更新现有标签。如果您提供新标签,则系统会将新标签添加到标签列表中。

API

如需为 NFS 卷添加或更新标签,请在以下 curl 命令中输入项目 ID、区域、NFS 卷名称和标签列表。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会分配标签 environment = test

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/nfsShares/NFS_VOLUME_NAME?updateMask=labels"
 -d "{
  'labels' : {'environment': 'test'}
}"

移除 NFS 卷的标签

您可以移除 NFS 卷的标签。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > NFS 共享页面。

  2. 对于要移除其标签的 NFS 卷,请点击

  3. 点击 修改标签

  4. 标签编辑器页面上,执行以下操作:

    1. 如需删除标签,请点击
    2. 点击提交
  5. 返回NFS 共享页面后,刷新该页面即可查看您所做的更改。

gcloud

如需移除 NFS 卷的标签,请将 gcloud bms nfs-shares update 命令与以下选项结合使用:

  • --remove-labels:移除指定的标签。
  • --clear-labels:移除所有标签。

以下示例命令会移除 NFS 卷的 department 标签:

gcloud bms nfs-shares update NFS_VOLUME_NAME --project=PROJECT_ID --region=REGION --remove-labels=department

以下示例命令会移除 NFS 卷的所有标签:

gcloud bms nfs-shares update NFS_VOLUME_NAME --project=PROJECT_ID --region=REGION --clear-labels

API

如需移除 NFS 卷的标签,请在以下 curl 命令中输入项目 ID、区域和 NFS 卷名称。提供一个空的标签列表以移除所有标签,或提供您要保留的标签列表(去掉您要移除的标签)。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会移除除 environment = test 以外的所有标签。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/nfsShares/NFS_VOLUME_NAME?updateMask=labels"
 -d "{
  'labels' : {'environment': 'test'}
}"

如果您在发出 curl 命令时不使用任何标签或值,则将清除所有标签。

'labels' : {
}

如果您在发出 curl 命令时使用新标签值,则新值会覆盖先前的值。

'labels' : {
     'user': 'production',
     'env': 'production',
     'purpose': 'shared_data_store'
}

使用标签过滤 NFS 卷

您可以搜索 NFS 卷并使用标签过滤结果。

控制台

  1. 进入 Compute Engine > 裸金属解决方案 > NFS 共享页面。

  2. 点击 NFS 卷列表上方的 Filter 栏。

  3. 属性列表中,选择标签

  4. 输入标签的键、值或键值对。

    例如,如需仅查看标签为 env:dev 的 NFS 卷,您可以输入以下任一项:

    • 输入键:env
    • 输入值:dev
    • 输入键值对:env:dev
  5. 如需应用标签过滤条件,请点击过滤条件栏外部的任意位置。

gcloud

如需使用标签过滤 NFS 卷,请将 gcloud bms nfs-shares list 命令与 --filter 选项结合使用。

--filter 选项的值必须采用 labels.KEY=VALUE 格式。例如,如果您要按键为 env、值为 dev 的标签进行过滤,请发出以下命令:

gcloud bms nfs-shares list --project=PROJECT_ID --region=REGION --filter labels.environment=dev

如需详细了解 gcloud CLI 中的过滤条件语法,请参阅 gcloud topic filters 文档

API

如需使用标签过滤 NFS 卷,请输入项目 ID 和区域,以及 filter=labels 和键值对标签。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

以下示例命令会限制输出,以查找键值对标签为 environment = test 的 NFS 卷。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/nfsShares"?filter=labels.environment=test

重命名 NFS 卷

如需重命名 NFS 卷,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,打开 Compute Engine > 裸金属解决方案 > NFS 共享页面。
  2. 点击 NFS 卷名称。
  3. NFS 共享详情页面的名称字段中,点击 修改名称
  4. 修改名称页面上,输入新名称。
  5. 点击保存
  6. 如需查看更改,请刷新页面。

gcloud

如需重命名 NFS 卷,请使用 gcloud bms nfs-shares rename 命令。

gcloud bms nfs-shares rename NFS_VOLUME_NAME --new-name=NEW_NAME --project=PROJECT_ID --region=REGION

请替换以下内容:

  • NFS_VOLUME_NAME:NFS 卷的当前名称。
  • NEW_NAME:NFS 卷的新名称。
  • PROJECT_ID:您的项目 ID。
  • REGION:NFS 卷的位置。

创建 NFS 卷

您可以创建一个 NFS 卷,并指定一个或多个允许的客户端。

控制台

  1. 进入 NFS 共享页面。

    前往 NFS 共享

  2. 点击创建

  3. 名称字段中,为 NFS 卷输入名称。

  4. 区域下拉列表中,选择您要在其中创建 NFS 卷的 Google Cloud 区域。

  5. 选择存储类型。

  6. 大小字段中,输入硬盘的大小(以 GiB 为单位)。

    大小范围介于 100 GiB 到 16 TiB 之间。如果您需要超过 16 TiB,请根据需要创建更多 NFS 卷。

  7. 允许的客户端部分,添加允许的客户端网络:

    1. 点击添加一项
    2. 选中从组织中的其他项目选择网络复选框,即可从其他项目中选择网络。
    3. 选择现有网络下拉列表中,选择一个网络。
    4. 输入允许访问 NFS 卷的 IP 地址范围。
    5. 挂载权限下拉列表中,为允许的客户端网络选择挂载权限。
    6. 选中允许开发复选框,以启用设备创建功能。
    7. 选中 Allow SUID 复选框以启用 SUID。
    8. 选中无根用户废除复选框以启用根用户废除。

      我们建议您为新的 NFS 卷停用根用户废除。默认情况下,NFS 卷具有权限 755 和所有者 root(0)。启用根用户废除后,无法将文件写入新的 NFS 卷,因为所有新的 NFS 卷都归 root 用户所有。因此,请先停用根用户废除并创建 NFS 卷,构建目录结构,更改 NFS 卷的权限或所有权。然后,通过移除并重新添加允许的客户端,在 NFS 卷上启用根用户废除。请参阅更新 NFS 卷

    9. 点击完成

  8. 点击创建

gcloud

如需创建 NFS 卷,请发出 gcloud bms nfs-shares create 命令。使用 --allowed-client 选项可指定允许的客户端。如需指定多个允许的客户端,请重复使用 --allowed-client 选项。

在发出命令之前,请输入以下值:

  • NFS_VOLUME_NAME:NFS 卷的名称。
  • REGION:NFS 卷所在的区域。
  • SIZE_GIB:NFS 卷的大小(以 GiB 为单位)。
  • STORAGE_TYPE:底层卷的存储类型。
  • NETWORK_NAME:要允许的网络的名称。
  • (可选)PROJECT_ID:允许的客户端网络的项目 ID。如果您未提供项目 ID,系统会默认使用 NFS 卷所属的项目。
  • IP_ADDRESS_RANGE:允许访问 NFS 卷的 IP 地址的子网。这通常是客户端网络。
  • MOUNT_PERMISSIONS:允许的客户端网络的装载权限。
  • ALLOW_DEV:允许创建设备(是/否)。
  • ALLOW_SUID:允许使用 SUID(是/否)。
  • ENABLE_ROOT_SQUASH:启用根用户废除(是/否)。我们建议您为新的 NFS 卷停用根用户废除。默认情况下,NFS 卷具有权限 755 和所有者 root(0)。启用根用户废除后,无法将文件写入新的 NFS 卷,因为所有新的 NFS 卷都归 root 用户所有。因此,请先停用根用户废除并创建 NFS 卷,构建目录结构,更改 NFS 卷的权限或所有权。然后,通过移除并重新添加允许的客户端,在 NFS 卷上启用根用户废除。请参阅更新 NFS 卷
gcloud bms nfs-shares create --project=PROJECT_ID --region=REGION NFS_VOLUME_NAME \
--size-gib=SIZE_GIB --storage-type=STORAGE_TYPE \
--allowed-client=network=NETWORK_NAME,\
network-project-id=PROJECT_ID,cidr=IP_ADDRESS_RANGE,\
mount-permissions=MOUNT_PERMISSIONS,allow-dev=ALLOW_DEV,allow-suid=ALLOW_SUID,\
enable-root-squash=ENABLE_ROOT_SQUASH \

API

如需创建 NFS 卷,请将变量的值输入以下 curl 命令。您可以使用 allowedClients 列表指定允许的客户端。

在发出命令之前,请输入以下值:

  • NFS_VOLUME_NAME:NFS 卷的名称。
  • REGION:NFS 卷所在的区域。
  • SIZE_GIB:NFS 卷的大小(以 GiB 为单位)。
  • STORAGE_TYPE:底层卷的存储类型。
  • NETWORK_NAME:要允许的网络的名称。
  • (可选)PROJECT_ID:允许的客户端网络的项目 ID。如果您未提供项目 ID,系统会默认使用 NFS 卷所属的项目。
  • IP_ADDRESS_RANGE:允许访问 NFS 卷的 IP 地址的子网。这通常是客户端网络。
  • MOUNT_PERMISSIONS:允许的客户端网络的装载权限。
  • ALLOW_DEV:允许创建设备(是/否)。
  • ALLOW_SUID:允许使用 SUID(是/否)。
  • ENABLE_ROOT_SQUASH:启用根用户废除(是/否)。我们建议您为新的 NFS 卷停用根用户废除。默认情况下,NFS 卷具有权限 755 和所有者 root(0)。启用根用户废除后,无法将文件写入新的 NFS 卷,因为所有新的 NFS 卷都归 root 用户所有。因此,请先停用根用户废除并创建 NFS 卷,构建目录结构,更改 NFS 卷的权限或所有权。然后,通过移除并重新添加允许的客户端,在 NFS 卷上启用根用户废除。请参阅更新 NFS 卷

复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/nfsShares"
 -d \
'{
  "name": "projects/PROJECT_ID/locations/REGION/nfsShares/NFS_VOLUME_NAME",
  "labels": {
    "nfsKey1": "some_value",
    "key2": "another_value",
  },
  "requestedSizeGib": "SIZE_GIB",
  "storageType": "STORAGE_TYPE",
  "allowedClients": [
    {
      "network": "projects/PROJECT_ID/locations/REGION/networks/NETWORK_NAME",
      "allowedClientsCidr": "IP_ADDRESS_RANGE",
      "mountPermissions": "MOUNT_PERMISSIONS",
      "allowDev": ALLOW_DEV,
      "allowSuid": ALLOW_SUID,
      "noRootSquash": ENABLE_ROOT_SQUASH,
    }
  ],
}'

由于创建 NFS 卷需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

更新 NFS 卷

创建 NFS 卷后,您只能更新其允许的客户端。

控制台

  1. 进入 NFS 共享页面。

    前往 NFS 共享

  2. 点击 NFS 卷的名称。

  3. 如需添加允许的客户端,请执行以下操作:

    1. 允许的客户端部分,点击添加
    2. 添加允许的客户端页面上,点击添加项
    3. 选中从组织中的其他项目选择网络复选框,即可从其他项目中选择网络。
    4. 选择现有网络下拉列表中,选择一个网络。
    5. 输入允许访问 NFS 卷的 IP 地址范围。
    6. 挂载权限下拉列表中,为允许的客户端网络选择挂载权限。
    7. 选中允许开发复选框,以启用设备创建功能。
    8. 选中 Allow SUID 复选框以启用 SUID。
    9. 选中无根用户废除复选框以启用根用户废除。

      我们建议您为新的 NFS 卷停用根用户废除。默认情况下,NFS 卷具有权限 755 和所有者 root(0)。启用根用户废除后,无法将文件写入新的 NFS 卷,因为所有新的 NFS 卷都归 root 用户所有。因此,请先停用根用户废除并创建 NFS 卷,构建目录结构,更改 NFS 卷的权限或所有权。然后,通过移除并重新添加允许的客户端,在 NFS 卷上启用根用户废除。请参阅更新 NFS 卷

    10. 点击完成

    11. 点击添加

  4. 如需更新允许的客户端,请执行以下操作:

    1. 选择允许的客户端网络。
    2. 点击更新
    3. 更新允许的客户端页面上,点击客户端网络以展开其详细信息。
    4. 更新必填字段。
    5. 点击完成
    6. 点击更新

gcloud

如需更新 NFS 卷允许的客户端列表,您可以将以下选项与 gcloud bms nfs-shares update 命令结合使用:

  • --add-allowed-client:添加允许的客户端。重复使用此选项可添加多个允许的客户端。
  • --remove-allowed-client:移除已获许可的客户端。您需要使用此选项提供 NETWORK_NAMEIP_ADDRESS_RANGE 的值。重复使用此选项可移除多个允许的客户端。
  • --clear-allowed-client:移除所有允许的客户端。

如需更新 NFS 卷,请在发出 gcloud bms nfs-shares update 命令时使用适当的选项。例如:

gcloud bms nfs-shares update --project=PROJECT_ID --region=REGION NFS_VOLUME_NAME --remove-allowed-client=network=NETWORK_NAME,network-project-id=PROJECT_ID,cidr=IP_ADDRESS_RANGE

如需更新允许的客户端的特性,请使用 --remove-allowed-client 选项移除该客户端,然后使用 --add-allowed-client 选项再次添加更新了特性的客户端。

API

如需更新 NFS 卷,请将变量的值输入以下 curl 命令。如需查看变量的完整列表,请参阅创建 NFS 卷。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/nfsShares/NFS_VOLUME_NAME?updateMask=allowed_clients%2Clabels"
 -d \
'{
  "name": "projects/PROJECT_ID/locations/REGION/nfsShares/NFS_VOLUME_NAME",
  "labels": {
    "newKey": "newVal",
  },
  "allowedClients": [
    {
      "network": "projects/PROJECT_ID/locations/REGION/networks/NFS_VOLUME_NAME",
      "allowedClientsCidr": "IP_ADDRESS_RANGE",
      "mountPermissions": "MOUNT_PERMISSIONS",
      "allowDev": ALLOW_DEV,
      "allowSuid": ALLOW_SUID,
      "noRootSquash": ENABLE_ROOT_SQUASH,
    }
  ],
}'

由于更新 NFS 卷需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

删除 NFS 卷

删除 NFS 卷会自动触发 7 天的冷却期,在此期间 Google Cloud 会阻止使用该卷。

控制台

  1. 进入 NFS 共享页面。

    前往 NFS 共享

  2. 选择 NFS 卷。

  3. 点击删除

  4. 点击确认

gcloud

如需删除 NFS 卷,请发出 gcloud bms nfs-shares delete 命令。

gcloud bms nfs-shares delete --project=PROJECT_ID --region=REGION NFS_VOLUME_NAME

API

如需删除 NFS 卷,请在以下 curl 命令中输入项目 ID、区域和 NFS 卷名称。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键。

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/nfsShares/NFS_VOLUME_NAME"

由于删除 NFS 卷需要一段时间才能完成,您可以按照查看长时间运行的操作的状态中的步骤检查状态。

查看长时间运行的操作的状态

某些 gcloud 或 API 命令(例如服务器重置)可能需要很长时间才能完成。生成长时间运行的操作的命令也会生成包含操作 ID 的输出。您可以使用操作 ID 检查长时间运行的操作的状态。

在输出的 name 字段中,您可以找到位于 operations 目录后面的操作 ID。例如,reset API 命令的以下输出将操作 ID 显示为 eb0056e2-b6f6-4792-8255-59cd79d5c686

{
"name": "projects/PROJECT_ID/locations/REGION/operations/eb0056e2-b6f6-4792-8255-59cd79d5c686",
"done": true
}

如需检查长时间运行的操作的状态,请使用以下选项:

gcloud

如需查看长时间运行的操作的状态,请使用 gcloud bms operations describe 命令。

gcloud bms operations describe --project=PROJECT_ID --region=REGION OPERATION_ID

API

  1. 打开 Google Cloud 控制台中的 Cloud Shell 终端窗口。

  2. 如需查看裸金属解决方案环境中长时间运行的操作的状态,请在以下 curl 命令中输入项目 ID、区域和操作 ID。复制该命令,将其粘贴到 Cloud Shell 提示符中,然后按 EnterReturn 键:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID"
    
    操作完成后,已完成字段在输出中显示为 true
    {
      "name": "operations/OPERATION_ID",
      "done": true
    }