操作系统要求 - SAP HANA 开启 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

操作系统要求

本节概述了适用于 SAP 的 SUSE Linux 企业服务器(SAP 版 SLES)群集节点所需的操作系统配置。请注意,这不是在上面运行 SAP HANA 的配置要求的完整列表 Amazon,而是专门介绍集群管理先决条件。

考虑使用配置管理工具或自动部署脚本,以确保在集群基础架构中进行准确且可重复的设置。

重要

必须在所有群集节点上执行以下配置。确保节点间的一致性以防止出现群集问题。

根访问

验证两个群集节点上的 root 访问权限。本文档中的大多数设置命令都是由 root 用户执行的。假设命令应以 root 身份运行,除非有明确的呼叫可供选择。

安装缺失的操作系统软件包

这适用于所有群集节点。必须安装所有缺失的操作系统软件包。

pacemaker 设置需要以下软件包及其依赖项。根据您的基准映像(例如 SAP 版 SLES),这些软件包可能已经安装完毕。

程序包 说明 类别 必需 配置模式

chrony

时间同步

系统 Support

强制性

全部

rsyslog

系统日志

系统 Support

强制性

全部

起搏器

群集资源管理器

核心集群

强制性

全部

corosync

集群通信引擎

核心集群

强制性

全部

集束胶

集群基础架构

核心集群

强制性

全部

crmsh

集群管理 CLI

核心集群

强制性

全部

资源代理

基础资源代理

核心集群

强制性

全部

围栏特工

击剑能力

核心集群

强制性

全部

SAPHanasr-angi

新一代 HANA 系统复制代理

SAP HANA HA

必填*

SAPHANAScaleup-sapangi,out-sapangi SAPHANAScale

SAPHanaSR

上一代放大型 SR 代理

SAP HANA HA

必填*

SAPHANAScale向上经典

SAPHanasr-doc

纵向扩展配置文档

SAP HANA HA

必填*

SAPHANAScale向上经典

SAPHanaSR-ScaleOut

上一代横向扩展 SR 代理

SAP HANA HA

必填*

SAPHANAScale超越经典

SAPHanaSR ScaleOut--doc

横向扩展配置文档

SAP HANA HA

必填*

SAPHANAScale超越经典

supportuils

系统信息收集

Support 工具

强制性

全部

sysstat

性能监控工具

Support 工具

强制性

全部

zypper-lifecycle-plugin

软件生命周期管理

Support 工具

推荐

全部

supportutils-plugin-ha-sap

HA/SAP Support 数据收集

Support 工具

推荐

全部

supportutils-plugin-suse-public-云

云端 Support 数据收集

Support 工具

推荐

全部

dstat

系统资源统计

监控

推荐

全部

iotop

I/O 监控

监控

推荐

全部

注意

有关配置模式的更多信息,请参阅 Vendor Support 对部署类型的支持Mandatory*表示根据配置模式,此软件包是必需的。

#!/bin/bash # Mandatory core packages for SAP HANA HA on AWS mandatory_packages="corosync pacemaker cluster-glue crmsh rsyslog chrony resource-agents fence-agents " # HANA SR packages - New Generation hanaSR_angi="SAPHanaSR-angi" # New generation package for both scale-up and scale-out # HANA SR packages - Previous Generation (still in common use) hanaSR_scaleup="SAPHanaSR SAPHanaSR-doc" # For scale-up deployments hanaSR_scaleout="SAPHanaSR-ScaleOut SAPHanaSR-ScaleOut-doc" # For scale-out deployments # Recommended monitoring and support packages support_packages="supportutils supportutils-plugin-ha-sap supportutils-plugin-suse-public-cloud sysstat dstat iotop zypper-lifecycle-plugin" # Note: Choose either hanaSR_angi OR one of hanaSR_scaleup/hanaSR_scaleout # Uncomment the appropriate line based on your deployment: packages="${mandatory_packages} ${hanaSR_angi} ${support_packages}" #packages="${mandatory_packages} ${hanaSR_scaleup} ${support_packages}" #packages="${mandatory_packages} ${hanaSR_scaleout} ${support_packages}" missingpackages="" for package in ${packages}; do echo "Checking if ${package} is installed..." if ! rpm -q ${package} --quiet; then echo " ${package} is missing and needs to be installed" missingpackages="${missingpackages} ${package}" fi done if [ -z "$missingpackages" ]; then echo "All packages are installed." else echo "Missing mandatory packages: $(echo ${missingpackages} | tr ' ' '\n' | grep -E "^($(echo ${mandatory_packages} | tr ' ' '|'))$")" echo "Missing support packages: $(echo ${missingpackages} | tr ' ' '\n' | grep -E "^($(echo ${support_packages} | tr ' ' '|'))$")" echo -n "Do you want to install the missing packages (y/n)? " read response if [ "$response" = "y" ]; then zypper install -y $missingpackages fi fi

如果未安装软件包,并且您无法使用 zypper 进行安装,则可能是因为 SUSE Linux Enterprise High Availability 扩展在您选择的映像中不可用作存储库。您可以使用以下命令验证扩展程序的可用性:

$ sudo zypper repos

要在确认的情况下安装或更新一个或多个软件包,请使用以下命令:

$ sudo zypper install <package_name(s)>

更新和检查操作系统版本

您必须跨节点更新和确认版本。将所有最新补丁应用到您的操作系统版本。这样可以确保错误得到解决并提供新功能。

您可以使用zypper update命令单独更新补丁或更新所有系统补丁。建议在设置群集之前彻底重启。

$ sudo zypper update $ sudo reboot

比较两个群集节点上的操作系统包版本,并确保两个节点上的版本都匹配。

系统日志

建议同时使用 systemd-journald 和 rsyslog 进行全面记录。Systemd-Journald(默认启用)提供结构化的索引日志记录,可以立即访问事件,而维护rsyslog是为了向后兼容和传统的基于文件的日志记录。这种双重方法可确保现代日志记录功能以及与现有日志管理工具和实践的兼容性。

1。启用并启动 rsyslog:

# systemctl enable --now rsyslog
2. (可选)为 systemd-journald 配置永久日志记录:

如果您不使用日志代理(例如 Uni Amazon CloudWatch fied Agent 或 Vector)将日志传送到集中位置,则可能需要配置永久日志以在系统重启后保留日志。

# mkdir -p /etc/systemd/journald.conf.d

使用以下/etc/systemd/journald.conf.d/99-logstorage.conf方式创建:

[Journal] Storage=persistent

持续日志记录需要仔细的存储管理。在中配置适当的保留和轮换设置journald.conf,以防止日志占用过多的磁盘空间。查看man journald.conf可用选项 SystemMaxUse,例如 RuntimeMaxUse、和 MaxRetentionSec。

要应用更改,请重新启动 journald:

# systemctl restart systemd-journald

启用永久存储后,只会永久存储新的日志。当前启动会话中的现有日志将保留在易失性存储器中,直到下次重启。

3。验证服务是否正在运行:

# systemctl status systemd-journald # systemctl status rsyslog

时间同步服务

时间同步对于集群操作很重要。确保安装了 chrony rpm,并在配置文件中配置相应的时间服务器。

您可以使用 Amazon 时间同步服务,该服务在 VPC 中运行的任何实例上均可用。它不需要互联网接入。为确保闰秒处理的一致性,请勿将 Amazon 时间同步服务与任何其他 ntp 时间同步服务器或池混用。

创建或检查/etc/chrony.d/ec2.conf文件以定义服务器:

# Amazon EC2 time source config server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

使用以下命令启动 chronyd.service:

# systemctl enable --now chronyd.service # systemctl status chronyd

有关更多信息,请参阅为您的 Linux 实例设置时间

Amazon CLI 配置文件

Amazon 群集资源代理使用 Amazon 命令行界面 (Amazon CLI)。您需要为根账户创建 Amazon CLI 配置文件。

您可以/root/.aws手动编辑配置文件,也可以使用 aws configure Amazon CLI 命令编辑配置文件。

您应该跳过提供访问密钥和秘密访问密钥信息的步骤。这些权限是通过附加到 Amazon EC2 实例的 IAM 角色提供的。

# aws configure AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: <region> Default output format [None]:

除非已配置,default否则配置文件名称为。如果您选择使用其他名称,则可以指定--profile。在此示例中选择的名称是集群。它用于起搏器的 Amazon 资源代理定义中。该 Amazon 区域必须是实例的默认 Amazon 区域。

# aws configure --profile cluster AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: <region> Default output format [None]:

在主机上,您可以使用以下命令验证可用的配置文件:

# aws configure list-profiles

并通过查询来电者身份来查看代入的角色是否已关联:

# aws sts get-caller-identity --profile=<profile_name>

起搏器代理设置(可选)

如果您的 Amazon EC2 实例已配置为通过代理服务器访问互联网和/或 Amazon 云,则需要在 pacemaker 配置中复制设置。有关更多信息,请参阅使用 HTTP 代理

将以下行添加到 /etc/sysconfig/pacemaker

http_proxy=http://<proxyhost>:<proxyport> https_proxy=http://<proxyhost>:<proxyport> no_proxy=127.0.0.1,localhost,169.254.169.254,fd00:ec2::254
  • 修改 proxyhost 和 proxyport 以匹配您的设置。

  • 确保免除用于访问实例元数据的地址。

  • 将 no_proxy 配置为包含实例元数据服务的 IP 地址 — 169.254.169.254 () 和 fd00: ec2:: 254 ()。IPV4 IPV6该地址保持不变。

为初始数据库访问添加覆盖 IP

此步骤是可选的,只有在集群设置之前需要客户端连接到 SAP HANA 数据库时才需要执行此步骤。叠加 IP 稍后将由群集资源自动管理。

要启用初始数据库访问权限,请手动将叠加 IP 添加到主实例(当前运行 SAP HANA 数据库的地方):

# ip addr add <hana_overlayip>/32 dev eth0
  • 此配置是临时的,将在实例重启后丢失

  • 仅在当前的主实例上进行此配置

  • 配置完成后,集群将接管对此 IP 的管理

主机名解析

您必须确保所有实例都能解析所有正在使用的主机名。将群集节点的主机名添加到所有群集节点上的/etc/hosts文件中。这样可以确保即使出现 DNS 问题也能解析群集节点的主机名。有关双节点群集,请参阅以下示例:

# cat /etc/hosts 10.2.10.1 hanahost01.example.com hanahost01 10.2.20.1 hanahost02.example.com hanahost02 172.16.52.1 hanahdb.example.com hanahdb

在此示例中,未提及 IPs 用于第二个群集环的辅助环路。它们仅用于群集配置。您可以为管理和识别目的分配虚拟主机名。

重要

叠加 IP 超出 VPC 范围,无法从与路由表无关的地点(包括本地)到达。