本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
操作系统要求
此部分概述了适用于 SUSE Linux Enterprise Server for SAP(SLES for SAP)集群节点所需的操作系统配置。请注意,这不是在上面运行 SAP HANA 的配置要求的完整列表Amazon,而是专门介绍集群管理先决条件。
请考虑使用配置管理工具或自动部署脚本,确保在集群基础设施中准确且可重复地完成设置。
重要
以下配置必须在所有集群节点上执行。确保节点间的一致性以防止出现集群问题。
根访问
验证两个集群节点上的根访问权限。本文档中的大多数设置命令都需要以根用户身份执行。除非明确说明了有其他选择,否则假定命令应以根用户身份运行。
安装缺失的操作系统软件包
这适用于所有集群节点。您必须安装任意缺失的操作系统软件包。
Pacemaker 设置需要以下软件包及其依赖项。根据您的基准映像(例如,SLES for SAP),这些软件包可能已经安装。
| 程序包 | 说明 | 类别 | 必需 | 配置模式 |
|---|---|---|---|---|
|
chrony |
时间同步 |
系统支持 |
强制性 |
全部 |
|
rsyslog |
系统日志记录 |
系统支持 |
强制性 |
全部 |
|
pacemaker |
集群资源管理器 |
核心集群 |
强制性 |
全部 |
|
corosync |
集群通信引擎 |
核心集群 |
强制性 |
全部 |
|
cluster-glue |
集群基础设施 |
核心集群 |
强制性 |
全部 |
|
crmsh |
集群管理 CLI |
核心集群 |
强制性 |
全部 |
|
resource-agents |
基础资源代理 |
核心集群 |
强制性 |
全部 |
|
fence-agents |
隔离功能 |
核心集群 |
强制性 |
全部 |
|
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超越经典 |
|
supportutils |
信息收集 |
支持工具 |
强制性 |
全部 |
|
sysstat |
性能监控工具 |
支持工具 |
强制性 |
全部 |
|
zypper-lifecycle-plugin |
软件生命周期管理 |
支持工具 |
推荐 |
全部 |
|
supportutils-plugin-ha-sap |
HA/SAP 支持服务数据收集 |
支持工具 |
推荐 |
全部 |
|
supportutils-plugin-suse-public-云 |
云支持服务数据收集 |
支持工具 |
推荐 |
全部 |
|
dstat |
系统资源统计数据 |
监控 |
推荐 |
全部 |
|
iotop |
I/O 监控 |
监控 |
推荐 |
全部 |
注意
有关配置模式的更多信息,请参阅部署类型的供应商支持。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 Time Sync Service,在 VPC 中运行的所有实例上都可以使用此服务。此服务不需要互联网访问。为确保闰秒处理的一致性,请勿将 Amazon Time Sync Service 与任何其他 ntp 时间同步服务器或服务器池混用。
创建或检查 /etc/chrony.d/ec2.conf 文件以定义服务器:
# Amazon EC2 time source config server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
使用以下命令启动 chronyd 服务。
# systemctl enable --now chronyd.service # systemctl status chronyd
有关更多信息,请参阅为 Linux 实例设置时间。
Amazon CLI 配置文件
Amazon群集资源代理使用Amazon命令行界面 (Amazon CLI)。您需要为根账户创建Amazon CLI 配置文件。
您可以/root/.aws手动编辑配置文件,也可以使用 aws configureAmazon 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。在此示例中选择的名称是 cluster。它用于起搏器的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>
Pacemaker 代理设置(可选)
如果您的 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 范围中,无法从未与路由表关联的位置(包括本地)访问。