17 微调 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。
   
17.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 不再支持配置文件。
   
17.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 是否已正确设置且已启动。
   
17.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 应用程序而言非常必要。
17.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
17.1.4 去除 sapconf #
    要从系统中去除 sapconf,请使用以下命令卸装其软件包:
   
#zypper rm sapconf
    执行此操作不会卸装 sapconf 的依赖项,但 sysstat 服务会进入禁用状态。如果您仍然需要此服务,请务必再次启用它。
   
17.1.5 更多信息 #
    以下手册页提供了有关 sapconf 的更多信息:
   
- sapconf设置的所有微调参数的详细说明:- man 5 sapconf
- 有关配置和自定义 - sapconf配置文件的信息:- man 7 sapconf
    另请参见 https://www.suse.com/c/a-new-sapconf-is-available/ 上的博客系列,其中详细介绍了 sapconf 的更新版本。
   
17.1.6 将 tuned 与 sapconf 一起使用 #
    在版本 5 中,sapconf 不再依赖于 tuned。这意味着,这两个工具都可以单独使用。如果 tuned 服务已启动,sapconf 会在其日志中列显警告。
   
tuned 与 sapconf 一起使用
     如果您要同时使用 tuned 和 sapconf,请确保这两个工具配置的系统参数不同。