附加 RHEL ELS 许可


当 Red Hat Enterprise Linux (RHEL) 版本进入维护结束阶段且您的操作系统映像使用按需许可时,对这些虚拟机的支持和访问会受到生命周期阶段的维护政策的限制。

如需提供具有重大影响的安全修复以及选定紧急优先级 bug 修复的扩展支持,您可以附加 RHEL 扩展生命周期支持 (ELS) 插件。ELS 插件适用于主要版本的最后一个次要版本,如下所示:

  • 对于 RHEL 7,ELS 插件适用于最新的次要版本,即 RHEL 7.9 或 RHEL 7.9 for SAP。适用于 RHEL 7 的 ELS 插件在 2028 年 6 月 30 日之前可用。
  • 对于 RHEL 6,ELS 插件适用于最新的次要版本,即 RHEL 6.10。适用于 RHEL 6 的 ELS 插件在 2024 年 6 月 30 日之前可用。

如需了解详情,请参阅 RHEL 生命周期常见问题解答

本文档介绍如何将 ELS 插件附加到具有其映像的按需许可且已达到维护终止期限的 RHEL 虚拟机。当您将 RHEL 6.10 虚拟机迁移到 Google Cloud 时,系统会自动将 ELS 插件附加到这些虚拟机。

附加 ELS 许可

对每个虚拟机执行以下操作以附加 ELS 许可:

  1. 停止虚拟机并将许可附加到虚拟机的启动磁盘

  2. 验证许可并启动虚拟机

  3. 在虚拟机上安装 Red Hat Update Infrastructure (RHUI) ELS 客户端软件包

结算

将 RHEL ELS 附加到磁盘后,Compute Engine 会向您的账单中添加一个额外的 SKU。

例如,如果您使用的是 RHEL 7,您的账单会包括一个针对 RHEL 7 的专列项和另一个针对 RHEL 7 ELS 的专列项。

您需要按照付费映像的价格支付 RHEL 虚拟机相关费用。

限制

  • 您必须先停止虚拟机,然后才能附加许可。

准备工作

  • ELS 插件仅适用于最新的次要版本。对于每个 RHEL 虚拟机,通过连接到虚拟机并运行以下命令来更新到最新的次要版本:

    sudo yum -y update
  • 确保您拥有针对启动磁盘的以下权限:

    • compute.disks.get
    • compute.disks.update
  • 如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以选择以下任一选项向 Compute Engine 进行身份验证:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

附加 RHEL ELS 许可

请按照以下步骤操作,将 RHEL ELS 许可附加到 Linux 虚拟机的启动磁盘:

  1. 使用 gcloud compute instances stop 命令停止虚拟机:

    gcloud compute instances stop VM_NAME
    

    VM_NAME 替换为要停止的虚拟机的名称。

  2. 使用以下 gcloud compute instances describe 命令列出与虚拟机关联的磁盘:

    gcloud compute instances describe VM_NAME --format="yaml(disks)"
    

    VM_NAME 替换为虚拟机名称。

  3. 验证输出是否类似如下所示:

    disks:
    - autoDelete: true
      boot: true
      deviceName: persistent-disk-0
      diskSizeGb: '20'
      index: 0
      interface: SCSI
      kind: compute#attachedDisk
      licenses:
      - https://www.googleapis.com/compute/v1/projects/rhel-cloud/global/licenses/RHEL_VERSION
      mode: READ_WRITE
      source: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/VM_NAME
      type: PERSISTENT
    

    请注意,尚未附加 userLicenses

  4. 通过运行以下 gcloud compute disks list 命令来获取启动磁盘的名称:

    gcloud compute disks list
    
  5. 使用 gcloud beta compute disks update 命令通过 RHEL ELS 许可 URI 更新启动磁盘:

    gcloud beta compute disks update BOOT_DISK_NAME \
       --zone ZONE \
       --update-user-licenses="https://www.googleapis.com/compute/v1/projects/rhel-cloud/global/licenses/RHEL_ELS_VERSION"
    

    替换以下内容:

    • RHEL_VERSION:RHEL 版本。例如 rhel-7-server

    • BOOT_DISK_NAME:在上一步中获得的启动磁盘的名称

    • ZONE:包含启动磁盘的可用区

    • RHEL_ELS_VERSION:RHEL ELS 版本。例如 rhel-7-els

验证 RHEL ELS 许可

按照以下步骤操作,检查 RHEL ELS 许可是否已附加到 Linux 虚拟机启动磁盘:

  1. 使用以下 gcloud beta compute disks describe 命令获取有关启动磁盘的信息。

    gcloud beta compute disks describe BOOT_DISK_NAME \
       --zone ZONE
    

    替换以下内容:

    • BOOT_DISK_NAME:要检查附加许可的启动磁盘的名称

    • ZONE:包含启动磁盘的可用区

  2. 验证输出是否类似如下所示:

    creationTimestamp: '2021-05-05T15:26:27.835-07:00'
    id: '727854272460268924'
    interface: SCSI
    kind: compute#disk
    labelFingerprint: 42WmSpB8rSM=
    lastAttachTimestamp: '2021-05-05T15:26:27.836-07:00'
    licenseCodes:
    - '1000006'
    - '6213885950785916969'
    licenses:
    - https://www.googleapis.com/compute/v1/projects/rhel-cloud/global/licenses/RHEL_VERSION
    multiWriter: false
    name: VM_NAME
    physicalBlockSizeBytes: '4096'
    selfLink: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME
    selfLinkWithId: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/disks/DISK_ID
    sizeGb: '20'
    sourceImage: https://www.googleapis.com/compute/beta/projects/IMAGE_PROJECT/global/images/IMAGE
    sourceImageId: '7397991294075835597'
    status: READY
    type: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/diskTypes/DISK_TYPE
    userLicenses:
    - https://www.googleapis.com/compute/v1/projects/rhel-cloud/global/licenses/RHEL_ELS_VERSION
    users:
    - https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME
    zone: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE
    
  3. 通过在上一步的输出中检查相应许可字符串的 userLicenses 字段,验证 RHEL ELS 许可是否已附加到 Linux 虚拟机启动磁盘。

    如果 userLicenses 字段不包含预期的许可字符串,您可能需要清除,然后再更新用户许可。如需了解详情,请参阅 gcloud beta compute disks update 命令

  4. 使用 gcloud compute instances start 命令启动虚拟机:

    gcloud compute instances start VM_NAME \
       [--csek-key-file ENCRYPTION_KEY]
    

    替换以下内容:

    • VM_NAME:要启动的虚拟机的名称

    • ENCRYPTION_KEY:可选标志。如果启动磁盘已加密,则用于指定 CSEK(客户提供的加密密钥)文件的路径

安装 RHUI ELS 客户端软件包

将许可字符串附加到 RHEL 磁盘后,通过连接到虚拟机并运行以下命令来在虚拟机上安装 RHUI ELS 客户端软件包:

RHEL 7

  1. 检查以确认您是否使用的是 RHEL 7.9 或 RHEL 7.9 for SAP:

     cat /etc/redhat-release
     

  2. 下载并安装最新更新:

     sudo yum -y update
     

  3. 移除 RHUI 客户端软件包,并安装 RHUI ELS 客户端软件包:

     sudo yum -y remove google-rhui-client-rhel7 google-rhui-client-rhel79-sap google-rhui-client-rhel7-sap
     sudo yum makecache
     sudo yum -y install google-rhui-client-rhel7-els
     

RHEL 6

  1. 检查以确认您是否使用的是 RHEL 6.10:

     cat /etc/redhat-release
     

  2. 下载并安装最新更新:

     sudo yum -y update
     

  3. 移除 RHUI 客户端软件包,并安装 RHUI ELS 客户端软件包:

     sudo yum -y remove google-rhui-client-rhel6
     sudo yum makecache
     sudo yum -y install google-rhui-client-rhel6-els
     

查看审核日志

按照以下步骤查看许可更新历史记录:

  1. 在 Google Cloud Console 中,转到活动页面。

    转到“活动”

  2. 类别下的过滤条件窗格中,为活动类型选择配置

  3. 类别下的过滤条件窗格中,为资源类型选择磁盘