在 Amazon Web Services 上部署和管理 RHEL
大约 59 分钟
在 Amazon Web Services 上部署和管理 RHEL
来源:官方文档 原始多页入口:在 Amazon Web Services 上部署和管理 RHEL 内容规模:约 65,168 字符,60 个章节标题,175 个命令/代码块,25 条提示框
阅读提要
- 副标题:获取 Red Hat Enterprise Linux 系统镜像并在 AWS 上创建 RHEL 实例
- 摘要:要在 Amazon Web Services (AWS)上使用 Red Hat Enterprise Linux (RHEL),您可以创建和部署 RHEL 系统镜像。这也涉及:为 RHEL 实例注册、部署和置备 RHEL 镜像。这还涉及为 RHEL 实例配置平台安全性和可信执行技术,从而为 RHEL 实例管理红帽高可用性(HA)集群
- 主要章节:获取 Red Hat Enterprise Linux 系统镜像并在 AWS 上创建 RHEL 实例;对红帽文档提供反馈;第 1 章 公有云平台上的 RHEL 简介;第 2 章 准备 AMI 镜像并将其上传到 AWS;第 3 章 将 RHEL 镜像部署为 AWS 上的一个 EC2 实例;第 4 章 在 AWS 上配置红帽高可用性集群;第 5 章 使用在 AWS 上配置具有安全引导的 RHEL;第 6 章 使用 AMD SEV SNP 在公有云平台上配置 RHEL;第 7 章 在带有 UKI 的公共云平台上配置 RHEL
- 推荐阅读顺序:先看“阅读提要”和目录,再按章节查看“关键点/命令/注意”;需要原文细节时点击来源链接。
章节笔记
概览
- 该章节主要为下一级主题的入口。
获取 Red Hat Enterprise Linux 系统镜像并在 AWS 上创建 RHEL 实例
- 要点:摘要
对红帽文档提供反馈
- 要点:我们致力于为您提供高质量的文档,您的反馈将对我们有很大帮助。为帮助我们改进,您可以通过 Red Hat Jira 跟踪系统提交建议或报告错误。
- 要点:流程
- 列表:登录到 Jira 网站。 如果您还没有帐户,请创建一个。
- 列表:单击顶部导航栏中的 Create。
- 列表:在 Summary 字段中输入描述性标题。
- 列表:在 Description 字段中输入您对改进的建议。包括文档相关部分的链接。
- 列表:点窗口底部的 Create。
第 1 章 公有云平台上的 RHEL 简介
- 要点:公有云平台提供计算资源即服务。您可以将 IT 工作负载作为公共云实例运行,而不是维护内部硬件。这包括 Red Hat Enterprise Linux (RHEL)系统。
1.1. 在公有云中使用 RHEL 的好处
- 要点:在公共云平台上运行 Red Hat Enterprise Linux (RHEL)提供灵活的资源分配、成本效率和软件控制的配置,以在不管理物理硬件的情况下优化您的基础架构。
- 要点:RHEL 作为公共云平台上的云实例与内部物理系统或虚拟机(VM)的 RHEL 相比有以下优点:
- 列表:什么是公有云?
- 列表:什么是 Hyperscaler?
- 列表:云计算的类型
1.2. RHEL 的公有云用例
- 要点:在公共云中部署应用程序取决于用例。在评估您的部署迁移到公共云时,请考虑 Red Hat Enterprise Linux (RHEL)部署的优点。
- 要点:公共云实例可以根据需求有效地扩展计算能力和关闭。这称为 纵向 扩展和缩减 。在以下情况下,您可以在公有云中使用 RHEL:
- 列表:公共云实例可以根据需求有效地扩展计算能力和关闭。这称为 纵向 扩展和缩减 。在以下情况下,您可以在公有云中使用 RHEL: 具有峰值工作负载和低常规性能要求的集群受益于灵活的扩展。在资源成本方面,根据您的需求扩展和缩减可能非常高效。 快速配置或扩展集群。这可避免配置本地服务器的大量前期成本。
- 列表:具有峰值工作负载和低常规性能要求的集群受益于灵活的扩展。在资源成本方面,根据您的需求扩展和缩减可能非常高效。
- 列表:快速配置或扩展集群。这可避免配置本地服务器的大量前期成本。
- 列表:本地环境中的更改不会影响云实例。因此,您可以使用它们进行备份和恢复。
- 列表:您正在运行一个无法调整的现有环境。自定义云实例以适合现有部署需求可能并不高。您当前的主机平台可能更具成本效益。
- 列表:您有预算方面的硬限制。本地数据中心通常提供比公共云更少的灵活性。但是,它们提供了对最大资源成本的更多控制。
1.3. 迁移到公有云时的常见关注
- 要点:将 RHEL 工作负载从本地环境移到公有云平台可能会带来有关涉及的变化的担忧。以下是最常见的问题:
- 要点:在大部分方面,公有云平台上的 RHEL 实例的工作方式与本地主机上的 RHEL 虚拟机相同,如内部服务器。主要例外包括:
- 列表:公有云实例使用特定于提供商的控制台接口,而不是私有编排接口,来管理云资源。
- 列表:某些功能(如嵌套虚拟化)可能无法正常工作。如果特定功能对部署至关重要,请提前检查该功能与您选择的公有云提供商的兼容性。
- 列表:您的公有云供应商负责云 hypervisor 的安全性
- 列表:红帽在您的实例中提供 RHEL 客户机操作系统的安全功能
- 列表:您可以在云基础架构中管理特定的安全设置和实践
1.4. 为公有云部署获取 RHEL
- 要点:要在公有云环境中部署 Red Hat Enterprise Linux (RHEL),您必须选择一个经过认证的云服务供应商(CCSP)并创建 RHEL 云实例。
- 要点:根据您的要求和市场中的当前产品,选择运行 RHEL 实例的最佳 CCSP 是 Amazon Web Services (AWS)、Google Cloud 和 Microsoft Azure。
- 列表:根据您的要求和市场中的当前产品,选择运行 RHEL 实例的最佳 CCSP 是 Amazon Web Services (AWS)、Google Cloud 和 Microsoft Azure。 注意 本文档专门解决在 AWS 上部署 RHEL 的过程。
- 列表:在云平台上创建 RHEL 云实例。
- 列表:使用红帽更新基础架构(RHUI)使您的 RHEL 部署保持最新状态。
- 列表:RHUI 文档
- 列表:红帽开放混合云
- 列表:红帽生态系统目录
- 注意:注意 本文档专门解决在 AWS 上部署 RHEL 的过程。
1.5. 创建 RHEL 云实例的方法
- 要点:您可以创建 Red Hat Enterprise Linux (RHEL)系统镜像,并将其导入到云平台。
- 要点:要构建系统镜像,您可以使用 RHEL 镜像构建程序,或者从云服务供应商市场购买镜像。然后您可以将 RHEL 镜像部署为云实例。
- 列表:要创建系统镜像,您可以使用 RHEL 镜像构建器 或手动构建镜像。
- 列表:"此方法使用您现有的 RHEL 订阅(自带订阅(BYOS))。
- 列表:您每年预付订阅费,您可以使用您的红帽客户折扣。
- 列表:红帽为客户提供服务。
- 列表:要有效地创建很多镜像,您可以使用 cloud-init 工具。
- 列表:您按小时为使用的服务后付费。这个方法也称为您 go (PAYG)的支付。
第 2 章 准备 AMI 镜像并将其上传到 AWS
- 要点:您可以使用 RHEL 镜像构建器在 AWS 云上手动创建或自动更新这些镜像。
2.1. 准备手动上传 AWS AMI 镜像
- 要点:在将 Amazon Machine Image (AMI)上传到 Amazon Web Services (AWS)之前,您必须配置系统来上传镜像。
- 要点:先决条件
- 列表:准备好可写 S3 存储桶。
- 列表:使用以下方法之一配置的 AWS 身份验证: 静态凭证 :在 AWS IAM 帐户管理器中配置的 Access Key ID 和 Secret Access Key。您必须在 AWS IAM account manager 中配置了一个 Access Key ID。 动态凭证 :使用 AWS IAM Identity Center (SSO)管理提供的凭证。
- 列表:静态凭证 :在 AWS IAM 帐户管理器中配置的 Access Key ID 和 Secret Access Key。您必须在 AWS IAM account manager 中配置了一个 Access Key ID。
- 列表:动态凭证 :使用 AWS IAM Identity Center (SSO)管理提供的凭证。
- 列表:安装 Python 3 和 pip 工具: # dnf install python3 python3-pip
- 列表:使用 pip 安装 AWS 命令行工具 : $ pip3 install awscli
- 命令/配置摘录:
# dnf install python3 python3-pip
$ pip3 install awscli- 注意:重要 Image-builder 将 AWS SDK 用于 Go v2,它本身不支持动态凭证。如果您只使用上述配置集上传,则凭证会被静默忽略,从而导致以下错误: "Getting: operation error S3: CreateMultipartUpload, get identity: get credentials: failed to refresh cache credentials, no EC2 IMDS role found…" to bypass this limitations, configure your [default] or another designated profile to use credential_process.这会将动态会话令牌映射到 image-builder 可以读取的静态风格的凭证。在 ~/.aws/config 文件中添加以下内容:
2.2. 使用 CLI 手动将 AMI 镜像上传到 AWS
- 要点:您可以使用 RHEL 镜像构建器构建 AMI 镜像,并使用 CLI 手动将它们上传到 Amazon AWS Cloud 服务提供商。
- 要点:先决条件
- 列表:已使用本地系统中配置的 credential_process 临时解决方案创建了静态或动态凭证。请参阅准备手动上传 AWS AMI 镜像。
- 列表:您已在 AWS IAM 账号管理器中配置了一个 Access Key ID。
- 列表:您已准备好了一个可写的 S3 存储桶。
- 列表:您有一个定义的蓝图。
- 列表:构建镜像: $ sudo image-builder build ami \ --blueprint <blueprint_name> \ --aws-region us-east-1 \ --aws-bucket <example_bucket> \ --aws-ami-name <image_name>
- 列表:将镜像上传到 AWS。对于独立原始镜像,请使用 upload 命令: $ sudo image-builder upload rhel-10.1-ami-x86_64.raw \ --to=aws --aws-region=eu-central-1 \ --aws-bucket=<my_bucket> --aws-ami-name <image_name> 如果您使用默认配置集临时解决方案配置了动态凭证,upload 命令会自动使用配置的 credential_process 流。
- 命令/配置摘录:
$ sudo image-builder build ami \ --blueprint <blueprint_name> \ --aws-region us-east-1 \ --aws-bucket <example_bucket> \ --aws-ami-name <image_name>
$ sudo image-builder upload rhel-10.1-ami-x86_64.raw \ --to=aws --aws-region=eu-central-1 \ --aws-bucket=<my_bucket> --aws-ami-name <image_name>2.3. 创建镜像并将其自动将上传到 AWS Cloud AMI
- 要点:您可以使用 RHEL 镜像构建器创建 RAW 镜像,然后选择 Upload to AWS 来自动将镜像上传到 Amazon AWS Cloud AMI 服务供应商。
- 要点:先决条件
- 列表:您必须有访问系统的 root 或 wheel 组用户权限。
- 列表:您已在浏览器中打开了 RHEL web 控制台的 RHEL 镜像构建器界面。
- 列表:您已创建了 RHEL 镜像构建器蓝图。
- 列表:您必须在 AWS Identity and Access Management (IAM)帐户管理器中配置了一个 Access Key ID。
- 列表:您必须准备了一个可写的 AWS Simple Storage Service (S3)存储桶。
- 列表:在 RHEL 镜像构建器仪表盘中,选择蓝图名称 中的 蓝图。选择 Images 选项卡,然后单击 Create Image。
- 命令/配置摘录:
$ chmod 400 <your_instance_name>.pem
$ ssh -i <your-instance_name>.pem \\ ec2-user@<your-instance-IP-address>- 注意:注意 如果您不知道您的 Secret Key,请生成新的 Access Key ID。
第 3 章 将 RHEL 镜像部署为 AWS 上的一个 EC2 实例
- 要点:要在 Amazon Web Services (AWS)上使用 Red Hat Enterprise Linux (RHEL)镜像,请将 RHEL 镜像转换为兼容 AWS 的格式,即 Amazon Machine Image (AMI)。使用 RHEL 镜像构建器或手动配置进行自定义。从 AMI,您可以启动 Elastic Cloud Compute (EC2)实例。
3.1. 用于公有云的可用 RHEL 镜像类型
- 要点:要将 Red Hat Enterprise Linux (RHEL)虚拟机部署到认证的云服务供应商(CCSP)上,您可以使用多个选项。下表列出了镜像类型的可用镜像类型、订阅、注意事项和镜像类型的示例场景。
- 要点:要部署自定义的 ISO 镜像,您可以使用 RHEL 镜像构建器。使用 RHEL 镜像构建器,您可以创建、上传和这些自定义镜像,并将它们部署到您选择的 CCSP 。
- 列表:编写自定义 RHEL 系统镜像
- 列表:红帽生态系统目录
- 列表:红帽云访问参考指南
- 列表:Red Hat Cloud Access 程序概述
- 列表:在 License Manager 中为 Linux 转换许可证类型
- 列表:Amazon Web Services 红帽生态系统目录
- 注意:重要 您不能将按需实例转换为自定义 RHEL 实例。要从按需镜像迁移到带有自己订阅(BYOS)自定义 RHEL 镜像,请执行以下操作: 创建一个新的自定义 RHEL 实例,然后从您的按需实例迁移数据。 完成数据迁移后,终止按需实例以避免额外的计费。
- 表格样本(共 4 行):
- 镜像类型 | 订阅 | 注意事项 | 示例情境
- 部署红帽黄金镜像 | 使用您现有的红帽订阅 | 订阅包括红帽产品成本和对云访问镜像的支持,同时为所有其他实例成本付费。 | 根据要求选择 CCSP 上的红帽黄金镜像。
- 部署移到 CCSP 的自定义镜像 | 使用您现有的红帽订阅 | 订阅包括红帽产品成本和对自定义 RHEL 镜像的支持,同时为所有其他实例成本付费。 | 上传自定义镜像并附加您的订阅
- 部署一个基于 RHEL 的自定义镜像 | 自定义机器镜像包含一个 RHEL 镜像 | 根据 现收现付 模式,按小时向 CCSP 支付费用。对于这种模式,在 CCSP 市场上提供了按需镜像。CCSP 提供对这些镜像的支持,而红帽会处理更新。CCSP 通过 Red Hat Update Infrastructure (RHUI)提供更新。 | 当您在 CCSP 云管理控制台上启动实例时,请选择 RHEL 镜像,或者从 CCSP 市场选择一个镜像。
3.2. 使用自定义基础镜像部署 RHEL 实例
- 要点:要在云平台上手动配置虚拟机(VM),请创建一个基础(初学者)镜像,修改配置设置,并将软件包添加到虚拟机。此虚拟机可自定义、灵活且轻量级。上传镜像后,您可以更改这些特定应用程序的设置。
- 要点:先决条件
- 列表:您可以访问命令行界面(CLI)或 Web 控制台来创建和配置虚拟机。如果您无法访问 CLI 或 Web 控制台,您可以使用 Red Hat Cloud Access 门户来创建和配置虚拟机。
- 列表:Secure Shell (SSH)- 启用 SSH 提供对虚拟机的远程访问。
- 列表:动态主机配置协议(DHCP)- 配置主虚拟适配器以使用 DHCP。
- 列表:您已在主机上启用了虚拟化。
- 列表:对于 Web 控制台,请确保以下选项:
- 列表:您没有勾选 Immediately Start VM 选项。
- 命令/配置摘录:
# subscription-manager register
# dracut -f --add-drivers "nvme xen-netfront xen-blkfront"3.3. 使用命令行将 RHEL 镜像上传到 AWS
- 要点:要在 Amazon Web Services (AWS)上运行 RHEL 实例,您必须首先将 RHEL 镜像上传到 AWS。要在 AWS 上配置和管理 RHEL EC2 实例,请使用 awscli2 工具。
3.3.1. 安装 AWSCLI2
- 要点:您可以使用 Amazon Web Services (AWS)命令行界面 awscli2 实用程序来配置和管理 Red Hat Enterprise Linux (RHEL)镜像以及 AWS 上的红帽高可用性(HA)集群。
- 要点:先决条件
- 列表:您已创建了一个 红帽帐户。
- 列表:您已 注册并配置了 AWS 帐户。
- 列表:您可以访问 AWS Access Key ID 和 AWS Secret Access Key。详情请参阅 管理访问密钥。
- 列表:安装 awscli2: # dnf install awscli2
- 列表:验证安装: $ aws --version aws-cli/1.19.77 Python/3.6.15 Linux/5.14.16-201.fc34.x86_64 botocore/1.20.77
- 列表:为 AWS 凭证和设置配置 awscli2 : $ aws configure AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: Default output format [None]:
- 命令/配置摘录:
# dnf install awscli2
$ aws --version3.3.2. 转换镜像并将其推送到 Amazon S3
- 要点:您可以使用 qemu-img 工具,将 qcow2 镜像格式的 Red Hat Enterprise Linux (RHEL)镜像转换为 OVA、VHD、VHDX、VMDK 或 raw,然后将其上传到 Amazon S3 存储。
- 要点:先决条件
- 列表:您已创建了一个 红帽帐户。
- 列表:您已 注册并配置了 AWS 帐户。
- 列表:您已 使用 awscli2 创建了一个 Amazon S3 存储桶 来上传 RHEL 镜像。
- 列表:运行 qemu-img,来将 .qcow2 镜像转换为 .raw 镜像格式: # qemu-img convert -f qcow2 -O raw rhel-10.0-sample.qcow2 rhel-10.0-sample.raw
- 列表:将镜像上传到 Amazon S3 存储桶: $ aws s3 cp rhel-10.0-sample.raw s3://<example-s3-bucket-name>
- 列表:检查 AWS S3 控制台 ,以确认上传成功。
- 命令/配置摘录:
# qemu-img convert -f qcow2 -O raw rhel-10.0-sample.qcow2 rhel-10.0-sample.raw
$ aws s3 cp rhel-10.0-sample.raw s3://<example-s3-bucket-name>3.3.3. 使用命令行管理 AWS 上的 RHEL 虚拟机
- 要点:您可以使用 Amazon Web Services (AWS)命令行界面 awscli2 实用程序,通过命令行管理 AWS 上的 Red Hat Enterprise Linux (RHEL) Elastic Cloud Compute (EC2)虚拟机。您可以导入 RHEL EC2 镜像快照,创建 Amazon Machine Image (AMI),启动并连接到 RHEL EC2 实例。
- 要点:先决条件
- 列表:您已创建了红帽帐户。
- 列表:您已注册并配置了 AWS 帐户。
- 列表:您已为您的帐户安装了 awscli2 软件包并配置了 AWS 凭证。
- 列表:使用 vmimport 角色: $ aws iam create-role --role-name vmimport \ --assume-role-policy-document file://<example_vmimport_trust_policy_file>
- 列表:使用 vmimport 角色策略文件嵌入内联策略文档: $ aws iam put-role-policy --role-name vmimport \ --policy-name vmimport-access \ --policy-document file://<example_vmimport_role_policy_file> 另外,您可以通过创建一个 IAM 角色(通常称为 vmimport)来授予 VM Import/Export 权限,并带有 vmie.amazonaws.com 的信任策略,并从 AWS 指南附加 JSON 策略。
- 列表:将 RHEL 镜像导入为快照: $ aws ec2 import-snapshot --disk-container file://<example_containers_json_file>
- 命令/配置摘录:
$ aws iam create-role --role-name vmimport \ --assume-role-policy-document file://<example_vmimport_trust_policy_file>
$ aws iam put-role-policy --role-name vmimport \ --policy-name vmimport-access \ --policy-document file://<example_vmimport_role_policy_file>3.3.4. 附加红帽订阅
- 要点:要将红帽订阅注册并附加到 RHEL 实例,您可以使用 subscription-manager 命令。
- 要点:先决条件
- 列表:您有一个活跃的 红帽帐户。
- 列表:注册您的系统: # subscription-manager register
- 列表:附加您的订阅: 您可以使用激活码来附加订阅。详情请参阅 创建红帽客户门户网站激活码。 否则,您可以使用订阅池 ID 将基于主机的订阅附加到 hypervisor 来手动附加订阅。
- 列表:您可以使用激活码来附加订阅。详情请参阅 创建红帽客户门户网站激活码。
- 列表:否则,您可以使用订阅池 ID 将基于主机的订阅附加到 hypervisor 来手动附加订阅。
- 列表:可选: 要在 Red Hat Hybrid Cloud Console 中收集有关实例的各种系统指标,您可以使用 红帽 Lightspeed 注册实例。 # insights-client register --display-name <display_name_value>
- 命令/配置摘录:
# subscription-manager register
# insights-client register --display-name <display_name_value>3.3.5. 在 AWS 金级镜像上配置自动注册
- 要点:您可以使用 RHEL 的金级镜像在 Amazon Web Services (AWS)上更有效地部署 Red Hat Enterprise Linux (RHEL)虚拟机。这样可确保虚拟机自动注册到 Red Hat Subscription Manager (RHSM)。
- 要点:先决条件
- 列表:您已创建了一个 红帽帐户。
- 列表:您已 注册并配置了 AWS 帐户。
- 列表:您已下载了用于 AWS 的最新 RHEL 黄金镜像。详情请参阅附加资源。 注意 您只能一次将一个 AWS 帐户附加到一个红帽帐户。因此,在将其附加到您的红帽帐户之前,请确保其他用户不需要访问 AWS 帐户。
- 列表:将黄金镜像上传到 AWS。详情请查看以下之一: 使用命令行将 RHEL 镜像上传到 AWS 使用 AWS 控制台将 RHEL 镜像上传到 AWS
- 列表:使用命令行将 RHEL 镜像上传到 AWS
- 列表:使用 AWS 控制台将 RHEL 镜像上传到 AWS
- 命令/配置摘录:
# subscription-manager identity
system identity: fdc46662-c536-43fb-a18a-bbcb283102b7 name: 192.168.122.222 org name: 6340056 org ID: 6340056- 注意:注意 您只能一次将一个 AWS 帐户附加到一个红帽帐户。因此,在将其附加到您的红帽帐户之前,请确保其他用户不需要访问 AWS 帐户。
3.4. 使用 AWS 控制台将 RHEL 镜像上传到 AWS
- 要点:要在 Amazon Web Services (AWS)上运行 RHEL 实例,您必须首先将 RHEL 镜像上传到 AWS。要在 AWS 上配置和管理 RHEL EC2 实例,请使用 awscli2 工具。
3.4.1. 使用 AWS 控制台转换镜像,并将其推送到 S3
- 要点:您可以使用 qemu-img 工具,将 qcow2 镜像转换为 OVA、VHD、VHDX、VMDK 或 raw,然后使用 AWS 控制台将它上传到 Amazon S3 存储。
- 要点:先决条件
- 列表:您已创建了一个 红帽帐户。
- 列表:您已 注册并配置了 AWS 帐户。
- 列表:您已 使用 Amazon S3 控制台创建了一个 Amazon S3 存储桶 来上传 RHEL 镜像。
- 列表:运行 qemu-img,来将 .qcow2 镜像转换为 .raw 镜像格式: # qemu-img convert -f qcow2 -O raw rhel-10.0-sample.qcow2 rhel-10.0-sample.raw
- 列表:使用 Amazon S3 控制台 将镜像上传到 S3 存储桶
- 列表:检查 AWS S3 控制台 ,以确认上传成功。
- 命令/配置摘录:
# qemu-img convert -f qcow2 -O raw rhel-10.0-sample.qcow2 rhel-10.0-sample.raw3.4.2. 使用 AWS 控制台管理 AWS 上的 RHEL 虚拟机
- 要点:您可以使用 AWS 控制台在 Amazon Web Services (AWS)上管理 RHEL Elastic Cloud Compute (EC2)虚拟机(VM)。您可以创建 RHEL EC2 镜像快照,管理 Amazon Machine Image (AMI),启动并连接到 RHEL EC2 实例。
- 要点:先决条件
- 列表:您已创建了红帽帐户。
- 列表:您已注册并配置了 AWS 帐户。
- 列表:您已使用 AWS 控制台将 RHEL 镜像推送到 Amazon S3 存储桶。
- 列表:打开 AWS 管理控制台。搜索 IAM,打开 IAM,选择 Roles,然后选择 Create role for vmimport。
- 列表:在 Trusted entity type 字段中,选择 Custom trust policy。从 VM Import/Export 文档粘贴 vmie.amazonaws.com 信任策略,然后选择 Next。 添加权限 :如果您在下一添加 内联 VM Import/Export 策略,请跳过受管策略;否则,附加所需的策略,然后 下一步。
- 列表:角色名称 vmimport,创建角色。 如果要添加权限,请打开角色。选择" 权限"选项卡,选择" 添加权限 ",选择" 创建内联策略 ",然后选择 JSON 选项卡。将 vmimport 访问策略与您的 S3 存储桶 ARN 粘贴,然后选择 Create policy。
- 命令/配置摘录:
$ aws ec2 describe-import-snapshot-tasks --import-task-ids <example_import_task_id>
$ aws ec2 describe-images --image-ids <example_registered_ami_id>第 4 章 在 AWS 上配置红帽高可用性集群
- 要点:要对 Amazon Web Services (AWS)上的 Red Hat Enterprise Linux (RHEL)节点进行分组,并在节点失败时自动重新分发工作负载,请在 AWS 上配置高可用性(HA)集群。在 AWS 上设置 HA 集群的过程与传统的非云 HA 配置相当。
4.1. 在公有云平台上使用高可用性集群的好处
- 要点:高可用性(HA)集群使用多个计算机(节点)来运行具有冗余的工作负载。如果节点失败,Pacemaker 资源管理器会自动将工作负载转移到健康的节点,从而尽量减少停机时间并保持服务可用,而无需人工干预。
- 要点:您还可以在公有云平台上运行 HA 集群。在这种情况下,您要将云中的虚拟机(VM)实例用作单独的集群节点。通过在公共云平台上使用 HA 集群具有以下优点:
- 列表:改进了可用性 :如果出现虚拟机故障,工作负载会被快速重新分发到其他节点,因此运行的服务不会中断。
- 列表:可扩展性 :您可以在需要很高时启动额外的节点,并在需求较低时停止它们。
- 列表:成本效益 :使用现收现付定价,您只需为运行的节点支付费用。
- 列表:简化了管理 :一些公有云平台提供管理界面,来更轻松地配置 HA 集群。
- 列表:Pacemaker,一个提供命令行实用程序(pcs)和 GUI (pcsd)的集群资源管理器来支持多个节点。
- 列表:用于创建和管理 HA 集群的 corosync 和 Kronosnet。
4.2. 安装高可用性软件包和代理
- 要点:要在 Amazon Web Services (AWS)上配置红帽高可用性集群,请在集群中的每个节点上安装高可用性软件包和代理。
- 要点:先决条件
- 列表:您已创建了一个 红帽帐户。
- 列表:您已 注册并配置了 AWS 帐户。
- 列表:您已 使用命令行,完成了将 RHEL 镜像上传到 AWS 的配置。
- 列表:删除 AWS Red Hat Update Infrastructure (RHUI)客户端。 # dnf -y remove rh-amazon-rhui-client
- 列表:在红帽注册虚拟机。 # subscription-manager register
- 列表:禁用所有软件仓库。 # subscription-manager repos --disable=
- 命令/配置摘录:
# dnf -y remove rh-amazon-rhui-client
# subscription-manager register4.3. 创建高可用性集群
- 要点:您可以创建红帽高可用性附加组件集群。这个示例使用节点 z1.example.com 和 z2.example.com。
- 要点:先决条件
- 列表:您已创建了红帽帐户。 注意 要显示 pcs 命令的参数以及这些参数的描述,请使用 pcs 命令的 -h 选项。
- 列表:在要运行 pcs 的节点上,为集群中的每个节点验证 pcs 用户 hacluster。 [root@z1 ~]# pcs host auth z1.example.com z2.example.com Username: hacluster Password: z1.example.com: Authorized z2.example.com: Authorized 此命令为双节点集群中由 z1.example.com 和 z2.example.com 组成的两个节点验证 z1.example.com 上的用户 hacluster。
- 列表:从 z1.example.com 节点运行以下命令,以创建由 z1.example.com 和 z2.example.com 组成的双节点集群 my_cluster : [root@z1 ~]# pcs cluster setup my_cluster --start z1.example.com z2.example.com 这会将集群配置文件传播到集群中的两个节点。此命令包含 --start 选项,该选项将在集群的两个节点上启动群集服务。
- 列表:在节点引导时,启用集群服务在集群中的每个节点上运行: 注意 对于特定的环境,您可以通过禁用集群服务来跳过此步骤。如果启用且节点停机,在节点重新加入集群前,集群或资源中的任何问题都会被解决。如果禁用了集群服务,则需要在重新引导节点时手动启动该服务,方法是在该节点上运行 pcs cluster start 命令。 [root@z1 ~]# pcs cluster enable --all
- 列表:显示您创建的集群的状态: [root@z1 ~]# pcs cluster status Cluster Status: Stack: corosync Current DC: z2.example.com (version 2.0.0-10.el8-b67d8d0de9) - partition with quorum Last updated: Thu Oct 11 16:11:18 2018 Last change: Thu Oct 11 16:11:00 2018 by hacluster via crmd on z2.example.com 2 Nodes configured 0 Resources con…
- 列表:如何为高可用性 Linux 设置 Pacemaker 集群
- 命令/配置摘录:
[root@z1 ~]# pcs host auth z1.example.com z2.example.com
Username: hacluster Password: z1.example.com: Authorized z2.example.com: Authorized- 注意:注意 要显示 pcs 命令的参数以及这些参数的描述,请使用 pcs 命令的 -h 选项。
- 注意:注意 对于特定的环境,您可以通过禁用集群服务来跳过此步骤。如果启用且节点停机,在节点重新加入集群前,集群或资源中的任何问题都会被解决。如果禁用了集群服务,则需要在重新引导节点时手动启动该服务,方法是在该节点上运行 pcs cluster start 命令。
4.4. 在 Red Hat High Availability 集群中配置隔离功能
- 要点:当节点变得无响应时,集群必须隔离它以防止数据崩溃。配置隔离,因为无法直接联系该节点。外部隔离设备关闭节点对共享资源的访问或执行硬重启。
- 要点:如果没有隔离设备,您不知道断开连接的节点是否已释放其资源。这可以防止服务在其他节点上运行。相反,系统可能会错误地假设资源被释放,从而导致数据崩溃。因此,无法保证数据完整性,集群配置将不被支持。
4.4.1. 显示可用的隔离代理及其选项
- 要点:您可以查看可用的隔离代理和特定隔离代理的可用选项。
- 要点:运行以下命令列出所有可用的隔离代理。当您指定过滤器时,这个命令只会显示与过滤器匹配的隔离代理。
- 命令/配置摘录:
# pcs stonith list [filter]
# pcs stonith describe [stonith_agent]- 注意:注意 您的系统硬件决定了用于集群的隔离设备的类型。有关支持的平台和架构,以及不同的隔离设备,请参阅红帽知识库文章 RHEL 高可用性集群的支持策略 中的 集群平台和架构 部分。
- 注意:警告 对于提供 method 选项的隔离代理,fence_sbd 代理除外,cycle 值不被支持,不应被指定,因为它可能导致数据损坏。但是,即使是 fence_sbd,您不应指定一个方法,而是使用默认值。
4.4.2. 创建隔离设备
- 要点:使用 pcs stonith create 命令创建隔离设备。要查看所有可用的创建选项,请使用 pcs stonith -h 命令。
- 要点:流程
- 列表:创建隔离设备: # pcs stonith create stonith_id stonith_device_type [stonith_device_options] [op operation_action operation_options]
- 列表:以下命令为单一节点创建一个隔离设备: # pcs stonith create MyStonith fence_virt pcmk_host_list=f1 op monitor interval=30s 有些隔离设备只能隔离一个节点,其他设备则可能隔离多个节点。您创建隔离设备时指定的参数取决于您的隔离设备的支持和要求。
- 列表:有些隔离设备可自动决定它们可以隔离哪些节点。
- 列表:您可以在创建隔离设备时使用 pcmk_host_list 参数,以指定由该隔离设备控制的所有机器。
- 列表:有些隔离设备需要主机名与隔离设备可识别的规格映射。在创建隔离设备时,您可以使用 pcmk_host_map 参数来映射主机名。
- 列表:隔离设备的常规属性
- 命令/配置摘录:
# pcs stonith create stonith_id stonith_device_type [stonith_device_options] [op operation_action operation_options]
# pcs stonith create MyStonith fence_virt pcmk_host_list=f1 op monitor interval=30s4.4.3. 隔离设备的常规属性
- 要点:使用特定于设备的选项和集群范围属性配置隔离行为。设备选项定义代理设置,如 IP 地址和元数据,如延迟。集群属性管理全局逻辑,包括超时和 stonith-enabled 参数。
- 要点:任何集群节点都可以使用任何隔离设备隔离保护其它集群节点,无论隔离资源是启动还是停止。资源是否启动只控制设备的重复监控,而不控制是否使用资源,但以下情况除外:
- 列表:您可以通过运行 pcs stonith disable stonith_id 命令来禁用隔离设备。这将阻止任何节点使用该设备。
- 列表:要防止特定节点使用隔离设备,您可以使用 pcs constraint location … avoids 命令为隔离资源配置位置约束。
- 列表:配置 stonith-enabled=false 将完全禁用隔离。但请注意,红帽不支持隔离功能被禁用的集群,因为它不适用于生产环境。
- 表格样本(共 4 行):
- 项 | 类型 | Default(默认) | 描述
- pcmk_host_map | 字符串 | 用于不支持主机名的设备的主机名到端口号的映射。例如:node1:1;node2:2,3 告知集群 node1 使用端口 1 ,对 node2 使用端口 2 和端口 3。pcmk_host_map 属性支持在 pcmk_host_map 值里在值前面使用反斜杠的特殊字符。例如,您可以指定 pcmk_host_map="node3:plug\ 1",来在主机别名中包含一个空格。
- pcmk_host_list | 字符串 | 此设备控制的机器列表(可选,除非 pcmk_host_check=static-list)。
- pcmk_host_check | 字符串 | 如果设置了 pcmk_host_list 或 pcmk_host_map,则 static-list 否则,如果隔离设备支持 list 操作,则 dynamic-list 否则,如果隔离设备支持 status 操作,则状态 否则,无。 | 如何确定被设备控制的机器。允许的值: dynamic-list (查询设备)、static-list (检查 pcmk_host_list 属性)、none(假设每个设备都可以隔离每台机器)
4.4.4. 隔离延迟
- 要点:在双节点集群中,同时通信丢失可能会导致节点相互隔离,从而关闭整个集群。配置隔离延迟以防止此竞争条件。在大型集群中,延迟不需要,仲裁决定隔离机构。
- 要点:您可以根据系统要求设置不同类型的隔离延迟。
- 列表:静态隔离延迟 静态隔离延迟是一个固定的、预先确定的延迟。在一个节点上设置静态延迟使该节点更有可能被隔离,因为它增加了检测到丢失的通信后,其他节点首先启动隔离的机会。在主动/被动集群中,在被动节点上设置一个延迟,使得在通信中断时,被动节点将更有可能被隔离。您可以使用 pcmk_delay_base 实例属性配置静态延迟。要配置不同的延迟,请为每个节点在单独的隔离设备上设置此属性。如果将单个隔离设备用于所有节点,您可以将此属性设置为主机映射,例如 node1:0s;node2:5s。
- 列表:动态隔离延迟 动态隔离延迟是随机的。它可能会有所不同,并在需要隔离时确定。您可以配置随机延迟,并使用 pcmk_delay_max 实例属性为组合基础延迟和随机延迟指定最大值。当每个节点的隔离延迟是随机的时,被隔离的节点也是随机的。如果您的集群为主动/主动设计中的所有节点配置了单一隔离设备,则可能会发现此功能。
- 列表:优先级隔离延迟 优先级隔离延迟基于活跃的资源优先级。如果所有资源具有相同的优先级,则运行最少资源的节点是被隔离的节点。在大多数情况下,您只使用一个与延迟相关的参数,但可以组合它们。合并与延迟相关的参数,将资源的优先级值加在一起,以创建总延迟。您可以使用 priority-fencing-delay 集群属性配置优先级隔离延迟。您可以在主动/主动集群设计中发现此功能,因为它可以在节点之间的通信丢失时让运行最少资源的节点更有可能被隔离。
- 列表:使用 priority-fencing-delay 属性设置的任何延迟都会被添加到 pcmk_delay_base 和 pcmk_delay_max 实例属性中的任何延迟中。当两个节点具有相等的优先级时,或者两个节点因为节点丢失以外的原因需要隔离时,这种行为允许一些延迟,例如当为资源监控器操作设置了 on-fail=fencing 时。当设置这些延迟的组合时,将 priority-fencing-delay 属性设置为一个明显大于pcmk_delay_base 和 pcmk_delay_max 中的最大延迟的值,以确保优先级的节点是首选的。将此属性设置为此值的两倍通常是安全的。
- 列表:只有 Pacemaker 本身调度的隔离才能观察到隔离延迟。由外部代码(如 dlm_controld)调度的隔离和由 pcs stonith fence 命令实现的隔离不会向隔离设备提供必要信息。
- 列表:有些隔离代理实施 delay 参数,其名称由代理决定。这个延迟独立于使用 5-4pcmk_delay38:3.8) 实例属性配置的延迟。如果同时配置了这些延迟,它们会被加在一起,通常不会一起使用。
4.4.5. 测试隔离设备
- 要点:要防止数据崩溃并成功恢复集群节点失败,请验证隔离设备。对于完整的测试策略,验证网络连接,请运行隔离代理脚本,通过集群管理器触发隔离操作,并模拟物理节点失败。
- 要点:先决条件
- 列表:您已配置了隔离功能,以便 Pacemaker 集群节点或 Pacemaker 远程节点会导致硬终止,而不是安全关闭。
- 列表:您已在 /etc/systemd/logind.conf 文件中禁用了 ACPI soft-off,以便在安全关闭时忽略任何电源按钮的信号。
- 列表:使用 SSH、Telnet、HTTP 或者用来连接到设备的任何远程协议,来手动登录并测试隔离设备,或者查看给出的输出。例如,如果您要为启用了 IPMI 的设备配置隔离,则尝试使用 ipmitool 远程登录。记录手动登录时使用的选项,因为在使用隔离代理时可能需要使用这些选项。 如果您无法登录到隔离设备,请确定设备是可以被 ping 到的,没有因为如防火墙等配置限制对隔离设备的访问,在隔离设备中启用了远程访问,且有正确的凭证。
- 列表:使用隔离代理脚本手动运行隔离代理。这不需要集群服务正在运行,因此您可以在集群配置该设备前执行这个步骤。这可保证在继续前隔离设备响应正常。 注意 这些示例将为 iLO 设备使用 fence_ipmilan 隔离代理脚本。您使用的实际隔离代理以及调用代理的命令取决于服务器硬件。您应该参考您使用的隔离保护代理的 man 页来确定要指定的选项。您通常需要了解隔离设备的登录和密码,以及其它与该隔离设备相关的信息。 以下示例显示了使用 -o status 参数运行 fence_ipmilan 隔离代理脚本的格式,来检查另一个节点上的隔离设备接口的状态,而实际上并没有对该节点进行隔离。这可让您在尝试重新引导节点前测试该设备并使其可用。在运行这个…
- 列表:一旦隔离设备在集群中配置了与手动操作相同的选项,并且集群已经启动,则可以从任何节点(或者多次从不同的节点)使用 pcs stonith fence 命令来测试隔离,如下例所示。pcs stonith fence 命令从 CIB 中读取集群配置,并调用配置的隔离代理来启动隔离操作。这会验证集群配置是否正确。 # pcs stonith fence node_name 如果 pcs stonith fence 命令正常工作,这意味着发生隔离事件时集群的隔离配置应该可以正常工作。如果命令失败,这意味着集群管理无法通过它获取的配置调用隔离设备。检查以下问题并根据需要更新集群配置。 检查您的隔离配置。例如,如果您使用了主机映射,则应该确保系…
- 列表:检查您的隔离配置。例如,如果您使用了主机映射,则应该确保系统可以使用您提供的主机名查找节点。
- 命令/配置摘录:
# fence_ipmilan -a ipaddress -l username -p password -o status
# fence_ipmilan -a ipaddress -l username -p password -o reboot- 注意:注意 这些示例将为 iLO 设备使用 fence_ipmilan 隔离代理脚本。您使用的实际隔离代理以及调用代理的命令取决于服务器硬件。您应该参考您使用的隔离保护代理的 man 页来确定要指定的选项。您通常需要了解隔离设备的登录和密码,以及其它与该隔离设备相关的信息。
- 注意:注意 如果正在测试的隔离代理是 fence_drac 、fence_ilo 或系统管理设备的其他一些隔离代理,并且一直出现故障,则返回尝试 fence_ipmilan。大多数系统管理卡支持 IPMI 远程登录,唯一支持的隔离代理是 fence_ipmilan。
4.4.6. 配置隔离级别
- 要点:Pacemaker 通过一个称为隔离拓扑的功能实现有多个设备的节点的隔离。要实现拓扑结构,根据常规创建独立设备,然后在配置中的隔离拓扑部分定义一个或多个隔离级别。
- 要点:Pacemaker 会按如下方式处理隔离级别:
- 列表:级别以整数形式递增,从 1 开始。
- 列表:如果设备失败,对当前级别的处理会中断。不会执行该级别的其他设备,而是尝试下一个级别。
- 列表:如果所有设备被成功隔离,那么该级别已成功,且不会尝试其他级别。
- 列表:当一个级别被通过(success)或所有级别都已经被尝试(failed)后,操作就会完成。
- 列表:您已为节点 rh7-2 配置了名为 my_ilo 的 ilo 隔离设备。
- 列表:您已为节点 rh7-2 配置了名为 my_apc 的 apc 隔离设备。
- 命令/配置摘录:
# pcs stonith level add level node devices
# pcs stonith level add 1 rh7-2 my_ilo4.4.7. 删除隔离级别
- 要点:您可以删除指定节点和设备的隔离级别。如果没有指定节点或设备,则您指定的隔离级别会从所有节点中删除。
- 要点:流程
- 列表:删除指定节点和设备的隔离级别: # pcs stonith level remove level [node_id] [stonith_id] ... [stonith_id]
- 命令/配置摘录:
# pcs stonith level remove level [node_id] [stonith_id] ... [stonith_id]4.4.8. 清除隔离级别
- 要点:您可以清除指定节点或 stonith id 上的隔离级别。如果您没有指定节点或 stonith id,则会清除所有隔离级别。
- 要点:流程
- 列表:清除指定节点或 stonith id 上的隔离级别: # pcs stonith level clear [node]|stonith_id(s)]
- 列表:如果您指定一个以上的 stonith id,则必须用逗号分开(不要有空格),如下例所示。 # pcs stonith level clear dev_a,dev_b
- 命令/配置摘录:
# pcs stonith level clear [node]|stonith_id(s)]
# pcs stonith level clear dev_a,dev_b4.4.9. 验证隔离级别中的节点和设备
- 要点:您可以验证所有在隔离级别指定的隔离设备和节点都存在。
- 要点:流程
- 列表:使用以下命令验证在隔离级别中指定的所有隔离设备和节点是否存在: # pcs stonith level verify
- 命令/配置摘录:
# pcs stonith level verify4.4.10. 在隔离拓扑中指定节点
- 要点:您可以在隔离拓扑中通过在节点名称上应用的正则表达式、节点属性及其值来指定节点。
- 要点:流程
- 列表:以下命令将节点 node1、 node 2 和 node3 配置为使用隔离设备 apc1 和 apc2,节点 node4、node5 和 node6 使用隔离设备 apc3 和 apc4 : # pcs stonith level add 1 "regexp%node[1-3]" apc1,apc2 # pcs stonith level add 1 "regexp%node[4-6]" apc3,apc4
- 列表:以下命令使用节点属性匹配得到相同的结果: # pcs node attribute node1 rack=1 # pcs node attribute node2 rack=1 # pcs node attribute node3 rack=1 # pcs node attribute node4 rack=2 # pcs node attribute node5 rack=2 # pcs node attribute node6 rack=2 # pcs stonith level add 1 attrib%rack=1 apc1,apc2 # pcs stonith level add 1 attrib%rack=2 apc3…
- 命令/配置摘录:
# pcs stonith level add 1 "regexp%node[1-3]" apc1,apc2 # pcs stonith level add 1 "regexp%node[4-6]" apc3,apc4
# pcs node attribute node1 rack=1 # pcs node attribute node2 rack=1 # pcs node attribute node3 rack=1 # pcs node attribute node4 rack=2 # pcs node attribute node5 rack=2 # pcs node attribute node6 rack=2 # pcs stonith level add 1 attrib%rack=1 apc1,apc2 # pcs stonith level add 1 attrib%rack=2 apc3,apc44.4.11. 配置冗余电源的隔离
- 要点:当为冗余电源配置隔离时,集群必须确保在尝试重启主机时,在恢复电源前两个电源都关闭。
- 要点:如果节点永远无法完全断电,则该节点可能无法释放其资源。这可能会导致同时访问这些资源,并导致节点崩溃的问题。
- 列表:创建第一个隔离设备。 # pcs stonith create apc1 fence_apc_snmp ipaddr=apc1.example.com login=user passwd='7a4D#1j!pz864' pcmk_host_map="node1.example.com:1;node2.example.com:2"
- 列表:创建第二个隔离设备。 # pcs stonith create apc2 fence_apc_snmp ipaddr=apc2.example.com login=user passwd='7a4D#1j!pz864' pcmk_host_map="node1.example.com:1;node2.example.com:2"
- 列表:指定需要这两个设备来隔离节点。 # pcs stonith level add 1 node1.example.com apc1,apc2 # pcs stonith level add 1 node2.example.com apc1,apc2
- 命令/配置摘录:
# pcs stonith create apc1 fence_apc_snmp ipaddr=apc1.example.com login=user passwd='7a4D#1j!pz864' pcmk_host_map="node1.example.com:1;node2.example.com:2"
# pcs stonith create apc2 fence_apc_snmp ipaddr=apc2.example.com login=user passwd='7a4D#1j!pz864' pcmk_host_map="node1.example.com:1;node2.example.com:2"4.4.12. 管理隔离设备
- 要点:pcs 命令行界面提供各种命令,您可以用来在配置后管理隔离设备。
- 要点:以下命令显示所有目前配置的隔离设备。如果指定了 stonith_id,命令仅显示那个配置的隔离设备的选项。如果指定了 --full 选项,则会显示所有配置的隔离选项。
- 列表:指定 --output-format=cmd 会显示从配置隔离级别的当前集群配置创建的 pcs 命令。您可以使用这些命令在不同系统上重新创建配置的隔离级别。
- 列表:指定 --output-format=json ,以 JSON 格式显示隔离级别配置,这适用于机器解析。
- 命令/配置摘录:
# pcs stonith config [stonith_id] [--full]
# pcs stonith create myapc fence_apc_snmp ip="zapc.example.com" pcmk_host_map="z1.example.com:1;z2.example.com:2" username="apc" password="apc" # pcs stonith config --output-format=cmd- 注意:警告 如果您指定的节点实际上没有关闭,但运行通常由集群控制的集群软件或服务,则会发生数据损坏和集群故障。
4.4.13. 其他资源
- 列表:在 Red Hat High Availability Cluster 中进行隔离(Red Hat 知识库)
4.5. 配置 ACPI 以用于集成的隔离设备
- 要点:如果您的集群使用集成的隔离设备,必须配置 ACPI(高级配置和电源界面)以保证迅速和完全的隔离。
- 要点:如果将集群节点配置为使用集成的隔离设备保护,则为该节点禁用 ACPI Soft-Off。禁用 ACPI Soft-Off 允许集成的隔离设备立即并完全关闭节点,而不是尝试彻底关闭(例如,shutdown -h now)。否则,如果启用了 ACPI Soft-Off,集成的隔离设备可能需要 4 秒以上的时间来关闭节点(请参阅下面的备注)。另外,如果启用了 ACPI Soft-Off,且在关闭过程中有一个节点 panic 或停滞,则集成的保护设备可能无法关闭该节点。在这些情况下,隔离会被延迟或者失败。因此,当使用集成隔离设备隔离节点并启用 ACPI Soft-Off时,集群恢复会很慢,或者需要管理员进行干预才能恢复。
- 列表:禁用 ACPI Soft-Off 的首选方法是将 BIOS 设置改为 "instant-off" 或在不延迟的情况下关闭该节点的对等设置。
- 列表:在 /etc/systemd/logind.conf 文件中设置 HandlePowerKey=ignore,并在隔离时验证节点是否立即关闭。这是禁用 ACPI Soft-Off 的第一个替代方法。
- 列表:在内核引导命令行中附加 acpi=off。这是禁用 ACPI Soft-Off 的第二个替代方法,如果首选方法或第一个替代方法不可用。 重要 这个方法可完全禁用 ACPI。当 ACPI 被完全禁用时,以下计算机可能无法正确引导。只有在其他方法无法在您的集群中使用时,才使用这个方法。
- 注意:注意 保护节点所需时间取决于所使用的集成的保护设备。有些集成的保护设备性能与按住电源按钮相当,因此隔离设备可在 4-5 秒内关闭该节点。其他集成的隔离设备性能与按电源开关一致,依靠操作系统关闭该节点,因此隔离设备关闭该节点的时间要大大超过 4-5 秒。
- 注意:重要 这个方法可完全禁用 ACPI。当 ACPI 被完全禁用时,以下计算机可能无法正确引导。只有在其他方法无法在您的集群中使用时,才使用这个方法。
4.5.1. 使用 BIOS 禁用 ACPI Soft-Off
- 要点:您可以通过配置每个集群节点的 BIOS 来禁用 ACPI Soft-Off。
- 要点:流程
- 列表:重启节点,并启动 BIOS CMOS 设置工具 程序。
- 列表:进入 Power 菜单(或者对等的电源管理菜单)。
- 列表:在 Power 菜单中,将 Soft-Off by PWR-BTTN 功能(或等效的功能)设置为 Instant-Off(或使用无延迟电源按钮关闭节点的对等设置)。以下 BIOS CMOS Setup Utiliy 示例显示电源菜单,ACPI Function 设置为 Enabled,Soft-Off by PWR-BTTN 设置为 Instant-Off。 注意 与 ACPI Function 等效,Soft-Off by PWR-BTTN 和 Instant-Off 可能因计算机而异。但这个过程的目的是配置 BIOS,以便计算机能无延迟地关闭电源按钮。
- 列表:退出 BIOS CMOS 设置工具 程序,保存 BIOS 配置。
- 列表:验证在隔离时该节点是否立即关闭。有关测试隔离设备的详情,请参考 测试隔离设备。
- 命令/配置摘录:
`Soft-Off by PWR-BTTN` set to `Instant-Off`
+---------------------------------------------|-------------------+ | ACPI Function [Enabled] | Item Help | | ACPI Suspend Type [S1(POS)] |-------------------| | x Run VGABIOS if S3 Resume Auto | Menu Level * | | Suspend Mode [Disabled] | | | HDD Power Down [Disabled] | | | Soft-Off by PWR-BTTN [Instant-Off | | | CPU THRM-Throttling [50.0%] | | | Wake-Up by PCI card [Enabled] | | | Power On by Ring [Enabled] | | | Wake Up On LAN [Enabled] | | | x USB KB Wake-Up From S3 Disabled | | | Resume by Alarm [Disabled] | | | x Date(of Month) Alarm 0 | | | x Time(hh:mm:ss) Alarm 0 : 0 : | | | POWER ON Function [BUTTON ONLY | | | x KB Power ON Password…- 注意:注意 使用 BIOS 禁用 ACPI Soft-Off 的步骤可能因服务器系统而异。您应该在您的硬件文档中验证此步骤。
- 注意:注意 与 ACPI Function 等效,Soft-Off by PWR-BTTN 和 Instant-Off 可能因计算机而异。但这个过程的目的是配置 BIOS,以便计算机能无延迟地关闭电源按钮。
4.5.2. 在 logind.conf 文件中禁用 ACPI Soft-Off
- 要点:您可以在 /etc/systemd/logind.conf 文件中禁用 power-key handing。
- 要点:流程
- 列表:在 /etc/systemd/logind.conf 文件中定义以下配置: HandlePowerKey=ignore
- 列表:重启 systemd-logind 服务: # systemctl restart systemd-logind.service
- 列表:验证在隔离时该节点是否立即关闭。有关测试隔离设备的详情,请参考 测试隔离设备。
- 命令/配置摘录:
HandlePowerKey=ignore
# systemctl restart systemd-logind.service4.5.3. 在 GRUB 2 文件中完全禁用 ACPI
- 要点:通过在内核的 GRUB 菜单条目中添加 acpi=off 来禁用 ACPI Soft-Off。
- 要点:流程
- 列表:使用带有- args 和- update-kernel 选项的 grubby 工具更新每个集群节点上的 grub.cfg 文件: # grubby --args=acpi=off --update-kernel=ALL
- 列表:重新引导节点。
- 列表:验证在隔离时该节点是否立即关闭。详情请参阅 测试隔离设备。
- 命令/配置摘录:
# grubby --args=acpi=off --update-kernel=ALL- 注意:重要 完全禁用 ACPI 可能会阻止某些系统正确引导。只有在其他隔离配置方法对集群无效时,才使用此方法。
4.6. 在 AWS 上配置 IP 地址资源
- 要点:要在高可用性(HA)集群中故障转移过程中管理集群资源的网络访问,您可以配置 IP 地址资源。红帽高可用性附加组件为不同的 Amazon Web Services (AWS) IP 地址类型提供资源代理。
- 要点:这包括互联网公开地址、单区地址和多区地址。
- 列表:公开给互联网:使用 awseip 网络资源。
- 列表:仅限于单个 AWS 可用区(AZ):使用 awsvip 和 IPaddr2 网络资源。
- 列表:分配到同一 AWS 区域中的多个 AWS AZ:使用 aws-vpc-move-ip 网络资源。 注意 如果 HA 集群不管理任何 IP 地址,则在 AWS 上不需要管理虚拟 IP 地址的资源代理。如果您需要对您的特定部署进行进一步指导,请参阅 AWS。
- 注意:注意 如果 HA 集群不管理任何 IP 地址,则在 AWS 上不需要管理虚拟 IP 地址的资源代理。如果您需要对您的特定部署进行进一步指导,请参阅 AWS。
4.6.1. 创建 IP 地址资源来管理公开给互联网的 IP 地址
- 要点:为确保高可用性(HA)客户端可以访问使用面向公共的互联网连接的 Red Hat Enterprise Linux (RHEL)节点,请配置 AWS Secondary Elastic IP 地址 (awseip)资源以使用弹性 IP 地址。
- 要点:先决条件
- 列表:已配置了集群。
- 列表:您的集群节点必须有权访问 RHEL HA 存储库。详情请参阅 安装高可用性软件包和代理。
- 列表:您已配置了 AWS CLI2。详情请参阅 安装 AWSCLI2。
- 列表:将两个资源添加到您创建的 同一组 中,以强制 order 和 colocation 约束。
- 列表:安装 resource-agents 软件包: # dnf install resource-agents
- 列表:创建弹性 IP 地址: [root@ip-10-0-0-48 ~]# aws ec2 allocate-address --domain vpc --output text eipalloc-4c4a2c45 vpc 35.169.153.122
- 命令/配置摘录:
# dnf install resource-agents
[root@ip-10-0-0-48 ~]# aws ec2 allocate-address --domain vpc --output text4.6.2. 创建一个 IP 地址资源来管理限于单个 AWS 可用区的私有 IP 地址
- 要点:在 Amazon Web Services (AWS) Availability Zone (AZ)中,您可以使用私有 IP 地址。这个地址仅限于 Red Hat Enterprise Linux (RHEL)高可用性(HA)集群中的那个区。使用此地址配置 AWS Secondary Private IP Address (awsvip)资源。
- 要点:先决条件
- 列表:已配置了集群。
- 列表:您的集群节点有权访问 RHEL HA 存储库。详情请参阅 安装高可用性软件包和代理。
- 列表:您已配置了 AWS CLI。详情请参阅 安装 AWSCLI2。
- 列表:安装 resource-agents 软件包。 # dnf install resource-agents
- 列表:可选:查看 awsvip 的选项和默认操作: # pcs resource describe awsvip
- 列表:使用 VPC CIDR 块中未使用的私有 IP 地址创建二级私有 IP 地址: [root@ip-10-0-0-48 ~]# pcs resource create privip awsvip secondary_private_ip=10.0.0.68 --group networking-group 辅助专用 IP 地址包含在资源组中。
- 命令/配置摘录:
# dnf install resource-agents
# pcs resource describe awsvip4.6.3. 创建一个 IP 地址资源来管理可在多个 AWS 可用区间移动的 IP 地址
- 要点:要在 Amazon Web Services (AWS)上使用弹性 IP 地址,您可以配置 Red Hat Enterprise Linux (RHEL) Overlay IP (aws-vpc-move-ip)资源代理。使用 aws-vpc-move-ip,您可以在多个可用区(AZ)的一个 AWS 区域中移动 RHEL 节点,以确保高可用性(HA)客户端。
- 要点:先决条件
- 列表:您已配置了一个集群。
- 列表:您的集群节点有权访问 RHEL HA 存储库。详情请参阅安装高可用性软件包和代理。
- 列表:您已配置了 AWS CLI。详情请参阅安装 AWSCLI2。
- 列表:您已在在集群上配置了一个具有以下权限的身份和访问管理(IAM)用户: 修改路由表 创建安全组 创建 IAM 策略和角色
- 列表:修改路由表
- 列表:创建安全组
- 命令/配置摘录:
# dnf install resource-agents
# pcs resource describe aws-vpc-move-ip4.7. 配置共享块存储
- 要点:要创建额外的存储资源,您可以使用 Amazon Elastic Block Storage (EBS) Multi-Attach 卷为红帽高可用性集群配置共享块存储。
- 要点:先决条件
- 列表:您已创建了一个 红帽帐户。
- 列表:您已 注册并配置了 AWS 帐户。
- 列表:您有 3 个 RHEL 实例在一个具有 1 TB 共享磁盘的三节点集群中运行。
- 列表:您可以访问 基于 AWS Nitro 系统的 Amazon EC2 实例。
- 列表:在 us-east-1a 可用区中创建一个共享块卷: $ aws ec2 create-volume --availability-zone <us_east_1a> --no-encrypted --size <1024> --volume-type <io1> --iops <51200> --multi-attach-enabled { "AvailabilityZone": "us-east-1a", "CreateTime": "2020-08-27T19:16:42.000Z", "Encrypted": false, "Size": 1024, "SnapshotId": "", "State": "cr…
- 列表:对于集群中的每个实例,附加一个共享块卷。使用 <instance_id> 和 <volume_id>,如 vol-042a5652867304f09 和 instance id i-0eb803361c2c887f2 : $ aws ec2 attach-volume --device /dev/xvdd --instance-id i-0eb803361c2c887f2 --volume-id vol-042a5652867304f09 { "AttachTime": "2020-08-27T19:26:16.086Z", "Device": "/dev/xvdd", "InstanceId": "i-0eb803361c…
- 命令/配置摘录:
$ aws ec2 create-volume --availability-zone <us_east_1a> --no-encrypted --size <1024> --volume-type <io1> --iops <51200> --multi-attach-enabled
{ "AvailabilityZone": "us-east-1a", "CreateTime": "2020-08-27T19:16:42.000Z", "Encrypted": false, "Size": 1024, "SnapshotId": "", "State": "creating", "VolumeId": "vol-042a5652867304f09", "Iops": 51200, "Tags": [ ], "VolumeType": "io1" }第 5 章 使用在 AWS 上配置具有安全引导的 RHEL
- 要点:要在 Amazon Web Services (AWS)上增强 Red Hat Enterprise Linux (RHEL)实例的引导安全性,请配置安全引导。安全引导会在启动时验证引导装载程序和其他组件的数字签名,允许可信程序在阻止未经授权的程序时加载。
5.1. 云环境中 RHEL 的安全引导概述
- 要点:当安全引导检测到任何由不受信任的实体签名的篡改组件或组件时,它会中止引导过程。这是与传统启动进程不同的位置。安全引导在配置机密虚拟机(CVM)中发挥关键作用。
- 要点:它确保只有可信实体参与引导链。安全引导是一个统一可扩展固件接口(UEFI)功能。它根据硬件中存储的可信密钥验证引导组件的数字签名,如引导装载程序和内核。
- 列表:通过定义的接口验证对特定设备路径的访问
- 列表:强制使用最新的配置
- 列表:永久覆盖以前的配置
- 列表:密钥交换密钥数据库(KEK):一种公钥交换,来在 RHEL 操作系统和虚拟机固件之间建立信任。您也可以使用这些密钥更新允许的签名数据库(db)和禁止的签名数据库(dbx)。
- 列表:平台密钥数据库(PK):一个自签名的单密钥数据库,来在虚拟机固件和云平台之间建立信任。PK 也更新 KEK 数据库。
- 列表:允许签名数据库(db):维护证书列表或二进制哈希的数据库。它们定义二进制文件是否可以在系统上启动。另外,来自 db 的所有证书都会导入到 RHEL 内核的 .platform keyring 中。使用此功能,您可以在锁定模式下添加和加载签名的第三方内核模块。
- 注意:注意 针对 dbx 数据库的二进制文件检查和安全引导高级目标(SBAT)机制。使用 SBAT,您可以通过将签名的二进制文件的证书保持为有效来撤销特定二进制文件的旧版本。
5.2. 在带有安全引导的 AWS Marketplace 中配置 RHEL 实例
- 要点:要确保在 Amazon Web Services (AWS)上为 Red Hat Enterprise Linux (RHEL)实例的安全引导过程,在 RHEL 实例中配置安全引导。此实例从 AWS Marketplace 中预先配置的 Amazon Machine Image (AMI)启动。
- 要点:先决条件
- 列表:您已在 RHEL 实例上安装了以下软件包: awscli2 python3 openssl efivar keyutils edk2-ovmf python3-virt-firmware
- 列表:awscli2
- 列表:python3
- 列表:openssl
- 列表:efivar
- 列表:keyutils
- 命令/配置摘录:
$ aws ec2 describe-images \ --image-id ami-0a951f007be151ff9 \ --region us-east-2 \ | grep -E '"ImageId"|"Name"|"BootMode"'
"Name": "RHEL-10.1.0_HVM-20260217-x86_64-0-Hourly2-GP3", "BootMode": "uefi-preferred", "ImageId": "ami-0a951f007be151ff9",- 注意:警告 使用私钥与使用它们的 RHEL 实例分开存储。如果入侵者获得对实例的访问权限,他们可以使用存储的 secret 来升级其特权并破坏您的系统安全性。
- 注意:注意 每个 GUID 都是分配的值,代表一个 EFI 参数: 8be4df61-93ca-11d2-aa0d-00e098032b8c: EFI_GLOBAL_VARIABLE_GUID d719b2cb-3d3a-4596-a3bc-dad00e67656f: EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GLOBAL_VARIABLE_GUID 参数维护可引导设备和引导管理器的设置,而 EFI_IMAGE_SECURITY_DATABASE_GUID 参数代表安全引导变量 db, dbx 的镜像安全数据库,以及所需密钥和证书的存储。
5.3. 从带有安全引导(Secure Boot)的自定义 RHEL 镜像配置 RHEL 实例
- 要点:要在 Amazon Web Services (AWS)上安全引导 Red Hat Enterprise Linux (RHEL)实例,请在注册自定义 RHEL Amazon Machine Image (AMI)时配置安全引导。因为 AMI 由预先存储的 UEFI 变量组成,所以从其启动的实例在第一次引导过程中使用安全引导机制。
- 要点:先决条件
- 列表:您已创建了并上传了一个 AWS AMI 镜像。详情请参阅 准备和上传 AWS AMI。
- 列表:您已安装了以下软件包: awscli2 python3 openssl efivar keyutils python3-virt-firmware
- 列表:awscli2
- 列表:python3
- 列表:openssl
- 列表:efivar
- 命令/配置摘录:
$ openssl req -quiet \ -newkey rsa:3072 \ -nodes -keyout custom_db.key \ -new -x509 -sha256 \ -days 3650 -subj "/CN=Signature Database key/" \ --outform DER -out custom_db.cer
$ virt-fw-vars --enroll-redhat \ --add-db-cert OvmfEnrollDefaultKeys custom_db.cer \ --set-dbx /usr/share/edk2/ovmf/DBX* \ --output-aws aws_blob.bin第 6 章 使用 AMD SEV SNP 在公有云平台上配置 RHEL
- 要点:要防止基于 VM 的攻击并减少内存完整性违反情况,请在公有云上的 Red Hat Enterprise Linux (RHEL)实例上配置带有安全嵌套的 Paging (SEV-SNP)的 AMD 安全加密虚拟化。AMD SEV-SNP 将虚拟机数据与虚拟机监控程序和云服务供应商隔离。
6.1. AMD SEV SNP 概述
- 要点:带有安全嵌套分页(SEV-SNP)的 AMD 安全加密虚拟化旨在提高存储在公共云平台上的虚拟机(VM)和数据的安全性。
- 要点:AMD 处理器提供三种基于硬件的安全机制: SEV、SEV-ES 和 SEV-SNP。
- 列表:SEV: SEV 机制加密虚拟机(VM)内存,以防止虚拟机监控程序访问虚拟机数据。
- 列表:SEV-ES : SEV with Encrypted State (SEV-ES)通过加密 CPU 注册状态来扩展 SEV。这种机制可防止虚拟机监控程序访问或修改虚拟机 CPU 注册。尽管在 hypervisor 和虚拟机之间提供隔离,但它仍然容易受到内存完整性攻击的影响。
- 列表:SEV-SNP: SEV-SNP 是 SEV-ES 的增强,它添加了内存完整性保护和虚拟机加密。这种机制可防止虚拟机监控程序修改页表来重定向虚拟机内存访问。它可防止重播攻击和内存篡改。
- 列表:Secure Processor: AMD EPYC 处理器集成了一个安全处理器(SP)子系统。AMD SP 是一个专用的硬件组件,用于管理密钥和加密操作。
- 列表:内存完整性 :内存管理单元(MMU)利用页表将虚拟地址转换为客户机物理地址。 SEV-SNP 使用嵌套页表将客户机物理地址转换为主机物理地址。 定义后,嵌套的页表不会被虚拟机监控程序或主机更改。这可防止虚拟机访问不同的页面,从而保护内存的完整性。 SEV-SNP 使用此方法提供对虚拟机内存的重播攻击、内存完整性违反情况和恶意修改的保护。
- 列表:SEV-SNP 使用嵌套页表将客户机物理地址转换为主机物理地址。
- 注意:注意 即使虚拟机监控程序创建虚拟机的主内存和 CPU 注册状态,它们在初始化该虚拟机后仍为隐藏且无法访问。
6.2. 使用 AMD SEV SNP 在 Amazon Web Services 上配置 RHEL 实例
- 要点:要创建可信引导环境,请在 Amazon Web Services (AWS)上为 Red Hat Enterprise Linux (RHEL)实例配置带有安全嵌套 Paging (SEV-SNP)的 AMD 安全加密虚拟化。SEV-SNP 将虚拟机数据与 hypervisor 和 AWS 隔离,仅在基于 AMD EPYC 处理器的主机上被支持。
- 要点:先决条件
- 列表:已安装 awscli2、openssh 和 openssh-clients 软件包。
- 列表:您已使用支持的列表中的基于 AMD EPYC 处理器的机器类型创建了 AWS EC2 实例。详情请参阅 支持的实例类型。
- 列表:您已检查是否为 RHEL 实例启用了 SEV-SNP: $ aws ec2 describe-instances --instance-ids <example_instance_id> \ --region <example_region> ... "CpuOptions": { "CoreCount": 2, "ThreadsPerCore": 2, "AmdSevSnp": "enabled" }, ... 注意 在使用 AMD SEV-SNP 在 AWS 上配置 RHEL 实例前,请检查您的云服务供应商。验证特定 RHEL 实例类型的支持状态和认证。
- 列表:如果没有启用 SEV-SNP,获取 RHEL AMI 的 ID: $ aws ec2 describe-images \ --owners 309956199498 \ --query 'sort_by(Images, &Name)[].[CreationDate,Name,ImageId]' \ --filters "Name=name,Values=RHEL-10" \ --region us-east-1 ... "RHEL-10.0_HVM-amd64-..", "ami-0a1b2c3d4e5f67890" ... 警告 不要修改命令 option- owners 309956199498。这是用于显示红帽镜像的帐户…
- 列表:启动启用了 AMD SEV-SNP 的 RHEL 实例: $ aws ec2 run-instances \ --image-id <example-rhel-10-ami-id> \ --instance-type m6a.4xlarge \ --key-name <example_key_pair_name> \ --subnet-id <example_subnet_id> \ --cpu-options AmdSevSnp=enabled
- 列表:检查内核日志以验证 SEV-SNP 的状态: $ dmesg | grep -i sev ... [ 7.509546] Memory Encryption Features active: AMD SEV SEV-ES SEV-SNP [ 8.469487] SEV: Using SNP CPUID table, 64 entries present. [ 9.433348] SEV: SNP guest platform device initialized. [ 33.314380] sev-guest sev-guest: Initialized SEV guest driver (using vmpck_id 0) ...
- 命令/配置摘录:
$ aws ec2 describe-instances --instance-ids <example_instance_id> \ --region <example_region>
... "CpuOptions": { "CoreCount": 2, "ThreadsPerCore": 2, "AmdSevSnp": "enabled" }, ...- 注意:注意 在使用 AMD SEV-SNP 在 AWS 上配置 RHEL 实例前,请检查您的云服务供应商。验证特定 RHEL 实例类型的支持状态和认证。
- 注意:警告 不要修改命令 option- owners 309956199498。这是用于显示红帽镜像的帐户 ID。如果您需要列出 AWS GovCloud 的镜像,use- region us-gov-west-1 和- owners 219670896067。
第 7 章 在带有 UKI 的公共云平台上配置 RHEL
- 要点:要确保 Red Hat Enterprise Linux (RHEL)实例具有来自不受信任的存储的安全引导过程,请使用统一内核镜像(UKI)。这适用于公共云平台上的机密虚拟机(CVM)。
7.1. 统一内核镜像概述
- 要点:要在整个引导链中扩展安全引导保护,请使用统一内核镜像(UKI)。
- 要点:统一内核镜像(UKI)是一个统一的可扩展固件接口(UEFI)可移植可执行文件(PE)二进制文件。它整合了 UEFI 环境的操作系统的基本组件。UKI 二进制组件通过包括 initramfs 和内核命令行来扩展安全引导覆盖率。initramfs 是 Linux 启动过程的一部分。内核命令行可让您限制对定义参数的权限。UKI 二进制文件中包含的主要组件有:
- 列表:.linux 部分存储 Linux 内核镜像。
- 列表:.initrd 部分存储初始 RAM 文件系统 initramfs。
- 列表:.cmdline 部分存储内核命令行。
- 列表:其他部分,如 .sbat。
- 列表:红帽签名。
- 列表:禁止任何恶意代理或组件更改引导链中的任何对象。
完整目录
- 获取 Red Hat Enterprise Linux 系统镜像并在 AWS 上创建 RHEL 实例
- 对红帽文档提供反馈
- 第 1 章 公有云平台上的 RHEL 简介
- 1.1. 在公有云中使用 RHEL 的好处
- 1.2. RHEL 的公有云用例
- 1.3. 迁移到公有云时的常见关注
- 1.4. 为公有云部署获取 RHEL
- 1.5. 创建 RHEL 云实例的方法
- 第 2 章 准备 AMI 镜像并将其上传到 AWS
- 2.1. 准备手动上传 AWS AMI 镜像
- 2.2. 使用 CLI 手动将 AMI 镜像上传到 AWS
- 2.3. 创建镜像并将其自动将上传到 AWS Cloud AMI
- 第 3 章 将 RHEL 镜像部署为 AWS 上的一个 EC2 实例
- 3.1. 用于公有云的可用 RHEL 镜像类型
- 3.2. 使用自定义基础镜像部署 RHEL 实例
- 3.3. 使用命令行将 RHEL 镜像上传到 AWS
- 3.3.1. 安装 AWSCLI2
- 3.3.2. 转换镜像并将其推送到 Amazon S3
- 3.3.3. 使用命令行管理 AWS 上的 RHEL 虚拟机
- 3.3.4. 附加红帽订阅
- 3.3.5. 在 AWS 金级镜像上配置自动注册
- 3.4. 使用 AWS 控制台将 RHEL 镜像上传到 AWS
- 3.4.1. 使用 AWS 控制台转换镜像,并将其推送到 S3
- 3.4.2. 使用 AWS 控制台管理 AWS 上的 RHEL 虚拟机
- 第 4 章 在 AWS 上配置红帽高可用性集群
- 4.1. 在公有云平台上使用高可用性集群的好处
- 4.2. 安装高可用性软件包和代理
- 4.3. 创建高可用性集群
- 4.4. 在 Red Hat High Availability 集群中配置隔离功能
- 4.4.1. 显示可用的隔离代理及其选项
- 4.4.2. 创建隔离设备
- 4.4.3. 隔离设备的常规属性
- 4.4.4. 隔离延迟
- 4.4.5. 测试隔离设备
- 4.4.6. 配置隔离级别
- 4.4.7. 删除隔离级别
- 4.4.8. 清除隔离级别
- 4.4.9. 验证隔离级别中的节点和设备
- 4.4.10. 在隔离拓扑中指定节点
- 4.4.11. 配置冗余电源的隔离
- 4.4.12. 管理隔离设备
- 4.4.13. 其他资源
- 4.5. 配置 ACPI 以用于集成的隔离设备
- 4.5.1. 使用 BIOS 禁用 ACPI Soft-Off
- 4.5.2. 在 logind.conf 文件中禁用 ACPI Soft-Off
- 4.5.3. 在 GRUB 2 文件中完全禁用 ACPI
- 4.6. 在 AWS 上配置 IP 地址资源
- 4.6.1. 创建 IP 地址资源来管理公开给互联网的 IP 地址
- 4.6.2. 创建一个 IP 地址资源来管理限于单个 AWS 可用区的私有 IP 地址
- 4.6.3. 创建一个 IP 地址资源来管理可在多个 AWS 可用区间移动的 IP 地址
- 4.7. 配置共享块存储
- 第 5 章 使用在 AWS 上配置具有安全引导的 RHEL
- 5.1. 云环境中 RHEL 的安全引导概述
- 5.2. 在带有安全引导的 AWS Marketplace 中配置 RHEL 实例
- 5.3. 从带有安全引导(Secure Boot)的自定义 RHEL 镜像配置 RHEL 实例
- 第 6 章 使用 AMD SEV SNP 在公有云平台上配置 RHEL
- 6.1. AMD SEV SNP 概述
- 6.2. 使用 AMD SEV SNP 在 Amazon Web Services 上配置 RHEL 实例
- 第 7 章 在带有 UKI 的公共云平台上配置 RHEL
- 7.1. 统一内核镜像概述
