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
4 微调 SLE 系统 #
SUSE Linux Enterprise Server 和 SUSE Linux Enterprise Server for SAP Applications 中提供了 sapconf
软件包。此软件包包含 tuned
配置文件 sapconf
。仅使用这一个微调配置文件就能为以下类型的 SAP 应用程序设置建议的参数:SAP NetWeaver、SAP HANA 和基于 SAP HANA 的应用程序。
sapconf
4 概览 #sapconf
4(基于tuned
)sap-netweaver
(tuned
配置文件)sap-hana
(tuned
配置文件)sap-bobj
(tuned
配置文件)sap-ase
(tuned
配置文件)
sapconf
4 概览 #sapconf
4(基于tuned
)sapconf
(tuned
配置文件)
请注意,如果您之前对系统微调进行了更改,sapconf
配置文件可能会重写这些更改。
sapconf
主要由两个部分组成:
一项
systemd
服务,该服务确保tuned
和相关服务正在运行并已应用sapconf
配置文件。tuned
配置文件sapconf
,它使用脚本和配置文件应用所配置的sapconf
微调参数。
要使用 sapconf
,请确保您的系统上已安装 tuned 和
sapconf 软件包。
在 SUSE Linux Enterprise Server 以及 SUSE Linux Enterprise Server 15 和更高版本中,只随附了一个 tuned
配置文件 sapconf
。它与旧版 SUSE Linux Enterprise Server 中随附的配置文件 sap-hana
/sap-netweaver
作用相同。
16.1.1 启用和禁用 sapconf
并查看其状态 #
安装 sapconf
后,tuned
即会启用,并且 sapconf
配置文件会被激活。但是,如果已启用了另一个 tuned
配置文件,sapconf
就不会启用自身的 tuned
配置文件。
为确保 sapconf
应用所有微调参数,完成安装后请重引导计算机。
您可以按如下所述检查或更改 sapconf
的状态:
要查看
sapconf
服务的状态,请运行以下命令:root #
systemctl status sapconf
该服务应显示为 active (exited),因为它只负责启动
tuned
,启动后即会退出。要启动
sapconf
服务,并从而启动tuned
服务,请运行以下命令:root #
systemctl start sapconf
如果
sapconf
处于禁用状态,请使用以下命令将其启用并启动:root #
systemctl enable --now sapconf
要停止
sapconf
服务,并从而停止tuned
服务,请运行以下命令:root #
systemctl stop sapconf
这也会终止
tuned
,因此会立即禁用绝大多数优化设置。只有需要重引导系统才能启用/禁用的选项例外。要禁用
sapconf
,请使用以下命令:root #
systemctl disable sapconf
如果您未特意自行启用
sapconf
所依赖的任何服务,则此命令还会禁用sapconf
所使用的大多数微调参数和所有服务。
同样,您可以检查和更改底层服务 tuned
的状态:
要查看
tuned
服务的状态,请运行以下命令:root #
systemctl status tuned
要查看当前正在使用的
tuned
配置文件,请运行以下命令:root #
tuned-adm active
如果此命令返回的当前处于活动状态的配置文件名称不是
sapconf
,请启用该配置文件:root #
tuned-adm profile sapconf
sapconf
依赖的其他服务
除了 sapconf
服务本身以及 tuned
服务以外,sapconf
还依赖于以下两个服务:
sysstat
,该服务用于收集有关系统活动的数据。uuidd
,该服务会生成基于时间的 UUID,即使是在涉及许多处理器核心的设置中,也能保证这些 UUID 是唯一的。这对于 SAP 应用程序而言非常必要。
16.1.2 配置 sapconf
4 #
一般情况下,sapconf
的默认配置已使用 SAP 建议的参数值。但如果您有特殊需求,可以配置该工具以更好地满足这些需求。
sapconf
的配置分为两部分。可通过不同的方式来配置这两个部分:
/usr/lib/tuned/PROFILE/tuned.conf
可以按照过程 16.1 “配置
sapconf
4 配置文件”中所述编辑任何遵循此模式的文件。要配置此文件中的参数,请先将其复制到/etc/tuned
下的自定义配置文件目录tuned
,然后更改文件中的值。如果您在原位置更改该文件,则下次更新 sapconf 软件包时将会丢失所做的更改。以下过程演示了一个有关如何调整
/usr/lib/tuned/sapconf/tuned.conf
文件的示例。不过,如前所述,对任何配置文件均可执行这些步骤。按以下过程所述配置文件:过程 16.1︰ 配置sapconf
4 配置文件 #创建一个新的自定义
tuned
配置文件目录,并将tuned.conf
文件复制到其中:root #
mkdir /etc/tuned/sapconfroot #
cp /usr/lib/tuned/sapconf/tuned.conf /etc/tuned/sapconf/在新复制的
tuned.conf
中,修复对script.sh
的引用,以使用指向原始配置文件中的脚本的绝对路径:script = /usr/lib/tuned/sapconf/script.sh
不要复制
script.sh
,这会造成sapconf
出现更新兼容性问题。编辑
/etc/tuned/sapconf/tuned.conf
中的参数。
每次更新
sapconf
后,请务必将原始配置文件与自定义tuned.conf
的内容进行比较。与此文件相关的日志消息将写入
/var/log/tuned/tuned.log
中。/etc/sysconfig/sapconf
此文件包含
sapconf
的大部分参数。此文件中的参数通过使用上述脚本/usr/lib/tuned/sapconf/script.sh
来应用。您可以直接编辑此文件。此文件中的所有参数都会通过注释和对 SAP 说明(可在 https://launchpad.support.sap.com/ 上查看)的引用进行解释。
更新
sapconf
时,系统会尽可能多地保留此文件中的所有自定义参数。但是,有时无法将参数完全传输到新配置文件中。因此,建议在更新后检查以前的自定义配置(在更新期间将转移到/etc/sysconfig/sapconf.rpmsave
)与新版本(位于/etc/sysconfig/sapconf
)之间的差异。与此文件相关的日志消息将写入
/var/log/sapconf.log
中。
编辑其中的任一文件时,您会发现,某些值已通过行首的 #
字符注释掉。这表示尽管该参数与微调相关,但它没有适当的默认值。
相反,您可以在行首添加 #
字符来注释掉特定参数。但应该避免这种做法,因为这可能会导致 sapconf
无法正常应用配置文件。
要应用编辑的配置,请重启动 sapconf
:
root #
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
后面的基础选项。要检查其实际的当前值,请使用以下命令:root #
sysctl net.ipv4.tcp_slow_start_after_idle
16.1.3 去除 sapconf
#
要从系统中去除 sapconf
,请使用以下命令卸装其软件包:
root #
zypper rm sapconf
请注意,执行此操作不会卸装 sapconf
的依赖项,但 sysstat
和 tuned
服务将进入禁用状态。如果您仍然需要其中的任一服务,请务必再次启用它。
卸装 sapconf
时不会去除某些参数和文件。有关详细信息,请参见手册页 man 7 sapconf
的“PACKAGE REQUIREMENTS”(软件包要求)部分。
16.1.4 更多信息 #
以下手册页提供了有关 sapconf
的更多信息:
sapconf
所用微调参数的简要概述:man 7 tuned-profiles-sapconf
sapconf
设置的所有微调参数的详细说明:man 5 sapconf
有关配置和自定义
sapconf
配置文件的信息:man 7 sapconf
另请参见 https://www.suse.com/c/a-new-sapconf-is-available/ 上的博客系列,其中详细介绍了 sapconf
的更新版本。
16.2 使用 sapconf
5 微调 SLE 系统 #
SUSE Linux Enterprise Server 和 SUSE Linux Enterprise Server for SAP Applications 中提供了 sapconf
软件包。此软件包可为以下类型的 SAP 应用程序设置建议的参数:SAP NetWeaver、SAP HANA 和基于 SAP HANA 的应用程序。
sapconf
5 概览 #sapconf
5(不包含tuned
)sapconf-netweaver
(取代了tuned
配置文件的sapconf
配置文件)sapconf-hana
(取代了tuned
配置文件的sapconf
配置文件)sapconf-bobj
(取代了tuned
配置文件的sapconf
配置文件)sapconf-ase
(取代了tuned
配置文件的sapconf
配置文件)
sapconf
5 概览 #sapconf
5(不包含tuned
)不再包含配置文件
请注意,如果您之前对系统微调进行了更改,sapconf
可能会重写这些更改。
sapconf
5 随附了一个 systemd
服务,该服务会应用微调并确保相关的服务正在运行。
要使用 sapconf
,请确保您的系统上已安装 sapconf 软件包。
在 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise Server 15 中,sapconf
不再支持配置文件。
16.2.1 校验 sapconf
设置 #
sapconf
5.0.2 和更高版本中提供了检查工具 sapconf_check
,用于校验是否已正确设置 sapconf
。例如:
root #
sapconf_check
This 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.2.2 启用和禁用 sapconf
并查看其状态 #
安装 sapconf
后,将启用 sapconf
服务。
您可以按如下所述检查或更改 sapconf
的状态:
要查看
sapconf
服务的状态,请运行以下命令:root #
systemctl status sapconf
该服务应显示为 active (exited)。
要启动
sapconf
服务,请运行以下命令:root #
systemctl start sapconf
如果
sapconf
处于禁用状态,请使用以下命令将其启用并启动:root #
systemctl enable --now sapconf
要停止
sapconf
服务,请运行以下命令:root #
systemctl stop sapconf
此命令将立即禁用绝大多数优化设置。只有需要重引导系统才能启用/禁用的选项例外。
要禁用
sapconf
,请使用以下命令:root #
systemctl disable sapconf
如果您未特意自行启用
sapconf
所依赖的任何服务,则此命令还会禁用sapconf
所使用的大多数微调参数和所有服务。
sapconf
依赖的其他服务
除了 sapconf
服务以外,它还依赖于以下两个服务:
sysstat
,该服务用于收集有关系统活动的数据。uuidd
,该服务会生成基于时间的 UUID,即使是在涉及许多处理器核心的设置中,也能保证这些 UUID 是唯一的。这对于 SAP 应用程序而言非常必要。
16.2.3 配置 sapconf
5 #
一般情况下,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
:
root #
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
后面的基础选项。要检查其实际的当前值,请使用以下命令:root #
sysctl net.ipv4.tcp_slow_start_after_idle
16.2.4 去除 sapconf
#
要从系统中去除 sapconf
,请使用以下命令卸装其软件包:
root #
zypper rm sapconf
请注意,执行此操作不会卸装 sapconf
的依赖项,但 sysstat
服务将进入禁用状态。如果您仍然需要此服务,请务必再次启用它。
16.2.5 更多信息 #
以下手册页提供了有关 sapconf
的更多信息:
sapconf
设置的所有微调参数的详细说明:man 5 sapconf
有关配置和自定义
sapconf
配置文件的信息:man 7 sapconf
另请参见 https://www.suse.com/c/a-new-sapconf-is-available/ 上的博客系列,其中详细介绍了 sapconf
的更新版本。
16.2.6 将 tuned
与 sapconf
一起使用 #
在版本 5 中,sapconf
不再依赖于 tuned
。这意味着,这两个工具都可以单独使用。如果 tuned
服务已启动,sapconf
将在其日志中列显警告。
tuned
与 sapconf
一起使用
如果您要同时使用 tuned
和 sapconf
,请务必小心,因为这两个工具配置的系统参数不同。