16 微调 SUSE Linux Enterprise for SAP #
本章介绍如何通过 sapconf 准备和微调 SUSE Linux Enterprise Server,以便以最佳方式使用 SAP 应用程序。sapconf 适用于安装了 SAP 应用程序的 SUSE Linux Enterprise 系统。安装了 SUSE Linux Enterprise Server for SAP Applications 的客户应使用 saptune。
sapconf 命令
在 SUSE Linux Enterprise Server 以及 SUSE Linux Enterprise Server 11 和 12 中,sapconf 命令包含在同名的软件包中。
对于 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise Server 15,情况已发生变化:命令 sapconf 已从 sapconf 软件包中去除。该软件包仅包含 systemd 服务,不再包含 sapconf 命令行工具,以及 sapconf/tuned 配置文件和 tuned。
16.1 使用 sapconf 5 微调 SLE 系统 #
SUSE Linux Enterprise Server 和 SUSE Linux Enterprise Server for SAP Applications 中提供了 sapconf 软件包。此软件包可为以下类型的 SAP 应用程序设置建议的参数:SAP NetWeaver、SAP HANA 和基于 SAP HANA 的应用程序。
sapconf5 概览 #sapconf5(不包含tuned)sapconf-netweaver(取代了tuned配置文件的sapconf配置文件)sapconf-hana(取代了tuned配置文件的sapconf配置文件)sapconf-bobj(取代了tuned配置文件的sapconf配置文件)sapconf-ase(取代了tuned配置文件的sapconf配置文件)
sapconf5 概览 #sapconf5(不包含tuned)不再包含配置文件
请注意,如果您之前对系统微调进行了更改,sapconf 可能会重写这些更改。
sapconf 5 随附了一个 systemd 服务,该服务会应用微调并确保相关的服务正在运行。
要使用 sapconf,请确保您的系统上已安装 sapconf 软件包。
在 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise Server 15 中,sapconf 不再支持配置文件。
16.1.1 校验 sapconf 设置 #
sapconf 5.0.2 和更高版本中提供了检查工具 sapconf_check,用于校验是否已正确设置 sapconf。例如:
#sapconf_checkThis is sapconf_check v1.0. It verifies if sapconf is set up correctly and will give advice to do so. Please keep in mind: {{ - This tool does not check, if the tuning itself works correctly.}} {{ - Follow the hints from top to down to minimize side effects.}} Checking sapconf ================ [ OK ] sapconf package has version 5.0.2 [ OK ] saptune.service is inactive [ OK ] saptune.service is disabled [WARN] tuned.service is enabled/active with profile 'virtual-guest -> Sapconf does not require tuned! Run 'systemctl stop tuned.service', if not needed otherwise. [FAIL] sapconf.service is inactive -> Run 'systemctl start sapconf.service' to activate the tuning now. [FAIL] sapconf.service is disabled -> Run 'systemctl enable sapconf.service' to activate sapconf at boot.1 warning(s) have been found. 2 error(s) have been found. Sapconf will not work properly!
如果 sapconf_check 发现了问题,将会提供有关如何解决问题的提示。该工具不会校验是否已正确微调系统,只会检查 sapconf 是否已正确设置且已启动。
16.1.2 启用和禁用 sapconf 并查看其状态 #
安装 sapconf 后,将启用 sapconf 服务。
您可以按如下所述检查或更改 sapconf 的状态:
要查看
sapconf服务的状态,请运行以下命令:#systemctl status sapconf该服务应显示为 active (exited)。
要启动
sapconf服务,请运行以下命令:#systemctl start sapconf如果
sapconf处于禁用状态,请使用以下命令将其启用并启动:#systemctl enable --now sapconf要停止
sapconf服务,请运行以下命令:#systemctl stop sapconf此命令将立即禁用绝大多数优化设置。只有需要重引导系统才能启用/禁用的选项例外。
要禁用
sapconf,请使用以下命令:#systemctl disable sapconf如果您未特意自行启用
sapconf所依赖的任何服务,则此命令还会禁用sapconf所使用的大多数微调参数和所有服务。
sapconf 依赖的其他服务
除了 sapconf 服务以外,它还依赖于以下两个服务:
sysstat,该服务用于收集有关系统活动的数据。uuidd,该服务会生成基于时间的 UUID,即使是在涉及许多处理器核心的设置中,也能保证这些 UUID 是唯一的。这对于 SAP 应用程序而言非常必要。
16.1.3 配置 sapconf5 #
一般情况下,sapconf 的默认配置已使用 SAP 建议的参数值。但如果您有特殊需求,可以配置该工具以更好地满足这些需求。
可以在 /etc/sysconfig/sapconf 文件中找到 sapconf 的所有参数。您可以直接编辑此文件。此文件中的所有参数都会通过注释和对 SAP 说明(可在 https://launchpad.support.sap.com/ 上查看)的引用进行解释。
更新 sapconf 时,系统会尽可能多地保留此文件中的所有自定义参数。但是,有时无法将参数完全传输到新配置文件中。因此,建议在更新后检查以前的自定义配置(在更新期间将转移到 /etc/sysconfig/sapconf.rpmsave)与新版本(位于 /etc/sysconfig/sapconf)之间的差异。
与此文件相关的日志消息将写入 /var/log/sapconf.log。
编辑其中的任一文件时,您会发现,某些值已通过行首的 # 字符注释掉。这表示尽管该参数与微调相关,但它没有适当的默认值。
相反,您可以在行首添加 # 字符来注释掉特定参数。但应该避免这种做法,因为这可能会导致 sapconf 无法正常应用配置文件。
要应用编辑后的配置,请重启动 sapconf:
#systemctl restart sapconf
确认是否正确应用了某个参数值的方式根据参数的不同而异。因此,以下方法仅用作示例:
要确认是否已应用 TCP_SLOW_START 的设置,请执行以下操作:
查看
sapconf的日志文件,以确定它是否应用了该值。在/var/log/sapconf.log中,检查包含以下文本的行:Change net.ipv4.tcp_slow_start_after_idle from 1 to 0
或者,参数可能在
sapconf启动之前已正确设置。在这种情况下,sapconf将不更改其值:Leaving net.ipv4.tcp_slow_start_after_idle unchanged at 1
可以在
/proc/sys/net.ipv4.tcp_slow_start_after_idle中手动配置TCP_SLOW_START后面的基础选项。要检查其实际的当前值,请使用以下命令:#sysctl net.ipv4.tcp_slow_start_after_idle
16.1.4 去除 sapconf #
要从系统中去除 sapconf,请使用以下命令卸装其软件包:
#zypper rm sapconf
请注意,执行此操作不会卸装 sapconf 的依赖项,但 sysstat 服务将进入禁用状态。如果您仍然需要此服务,请务必再次启用它。
16.1.5 更多信息 #
以下手册页提供了有关 sapconf 的更多信息:
sapconf设置的所有微调参数的详细说明:man 5 sapconf有关配置和自定义
sapconf配置文件的信息:man 7 sapconf
另请参见 https://www.suse.com/c/a-new-sapconf-is-available/ 上的博客系列,其中详细介绍了 sapconf 的更新版本。
16.1.6 将 tuned 与 sapconf 一起使用 #
在版本 5 中,sapconf 不再依赖于 tuned。这意味着,这两个工具都可以单独使用。如果 tuned 服务已启动,sapconf 将在其日志中列显警告。
tuned 与 sapconf 一起使用
如果您要同时使用 tuned 和 sapconf,请务必小心,因为这两个工具配置的系统参数不同。