documentation.suse.com / ガイド / saptuneを使用したシステムのチューニング
適用項目 SUSE Linux Enterprise Server for SAP applications 15 SP7

8 saptuneを使用したシステムのチューニング

この章では、SUSE Linux Enterprise Server for SAP applicationsがSAPアプリケーションと最適に連携できるようにチューニングする方法について説明します。

saptuneを使用すると、SAP NetWeaver、SAP HANA/SAP BusinessObjects、およびSAP S/4HANAの各アプリケーション用にシステムをチューニングできます。

8.1 saptuneのインストールと更新

saptuneをインストールするには、zypper install saptuneコマンドを実行します。

インストールが完了したら、saptuneサービスを有効にして開始し(8.2項 「saptuneの有効化と無効化」を参照)、チューニングを設定します(8.3項 「チューニングの設定」を参照)。

saptuneを更新するには、zypper update saptuneコマンドを使用します。

重要
重要

saptuneのインストールと更新を行う場合は、zypperの出力に注意を払い、インストールと更新が正しく実行されていることを確認してください。出力は/var/log/zypp/historyにも保存されます。

8.2 saptuneの有効化と無効化

再起動後にシステムをチューニングするには、インストール後にsaptuneサービスを有効にして起動します。ほとんどの場合、saptuneサービスの起動は失敗します。これは、sapconfによってシステムがすでにチューニングされているためです。この問題を解決するには、次のコマンドを実行します。

# saptune service takeover

このコマンドは、sapconfサービスとtunedサービスを停止して無効にした後、saptuneサービスを起動して有効にします。

saptuneサービスを無効にして停止するには、次のコマンドを使用します。

# saptune service disablestop

8.3 チューニングの設定

システムをチューニングする最も簡単な方法は、インストールされているSAPソフトウェアに合ったSAPソリューションを適用することです。SAPソリューションは、実際のチューニングを実行するSAPノートのグループです。使用可能なすべてのソリューションとそのノートを表示するには、次のコマンドを実行します。

# saptune solution list

saptuneでは、次のSAPソリューションを認識します。

  • SAP BusinessObjectsを実行するためのBOBJソリューション

  • SAP HANAデータベースを実行するためのHANAソリューション

  • SAP MaxDBデータベースを実行するためのMAXDBソリューション

  • SAP NetWeaverアプリケーションサーバを実行するためのNETWEAVERソリューション

  • SAP S/4HANAアプリケーションサーバを実行するためのS4HANA-APPSERVERソリューション

  • SAP S/4HANAアプリケーションサーバとSAP HANAの両方を同じホストで実行するためのS4HANA-APP+DBソリューション

  • SAP S/4HANAインストールのSAP HANAデータベースを実行するためのS4HANA-DBSERVERソリューション

  • SAP Adaptive Server Enterpriseデータベースを実行するためのSAP-ASEソリューション

  • SAPアプリケーションサーバとSAP HANAの両方を同じホストで実行するためのNETWEAVER+HANAソリューション

  • SAPアプリケーションサーバとMAXDBの両方を同じホストで実行するためのNETWEAVER+MAXDBソリューション

ソリューションを適用するには、次のコマンドを実行します。

# saptune solution apply SOLUTION

ソリューションは一度に1つしか適用できないことに注意してください。

ソリューションを無効にするには、次のコマンドを使用します。

# saptune solution revert SOLUTION

別のソリューションに切り替えるには、次のコマンドを使用します。

# saptune solution change SOLUTION

または、特定のSAP Notesからの推奨事項に従って、コンピュータをチューニングできます。チューニングできるノートのリストを表示するには、saptune note listを使用します。

ノートを適用するには、次のコマンドを実行します。

# saptune note apply NOTE

ノートを元に戻すには、次のコマンドを実行します。

# saptune note revert NOTE
注記
注記: 最適化の組み合わせ

適用済みのソリューションからノートを元に戻したり、追加のノートを適用したりすることにより、ソリューションとノートを組み合わせることが可能です。ただし、一度にアクティブにできるのは1つのソリューションのみです。サービスを再開または再起動すると、saptuneサービスによってソリューションとノートの組み合わせが復元されます。

まれに、ノートのオプションやパラメータの競合が発生する可能性があります。競合を避けるために、ノートは慎重に編成してください。最後のノートが、以前のノートの競合するオプションまたはパラメータよりも常に優先されます。この状況の場合は、独自のソリューションを作成するか(8.4.2項 「新しいSAPノートの作成」を参照)、適用済みのソリューションをカスタマイズします(8.4.1項 「SAPノートのカスタマイズ」を参照)。

8.4 SAPノートの管理

次のセクションでは、SAPノートの操作について説明します。

SAPノートの設定には、元のSAPノートのOS固有の部分ができる限り完全に含まれています。パラメータに値の推奨事項がない場合、またはsaptuneが正しい値を設定するための条件を安全に検出できない場合、パラメータは無効になります(設定には存在しますが、値はありません)。適切な値を設定するには、対応するSAPノートを読んでノートをカスタマイズします(8.4.1項 「SAPノートのカスタマイズ」を参照)。

8.4.1 SAPノートのカスタマイズ

どのSAPノートも、次のコマンドを使用して設定できます。

# saptune note customise NOTE

このコマンドを実行すると、デフォルトのエディタ(環境変数EDITORで定義)でノートの設定のコピーが開きます。変更または無効化するパラメータと、そのパラメータが属するセクションのヘッダ以外をすべて削除します。

パラメータの値を変更または設定するには、パラメータの値を変更または追加します。パラメータを無効にするには、値を削除しますが、パラメータと=の文字は残します。saptuneはパラメータを一覧表示しますが、パラメータを変更したり、パラメータのコンプライアンスステータスを確認したりすることはありません。詳細については、saptune-note(5)のマニュアルページを参照してください。

これにより、/etc/saptune/override/NOTEファイルが作成されます。このファイルは、別の場所で作成して/etc/saptune/override/に配置することもできます。

設定セクションは条件付きにすることができます。これをタグ付けと呼びます。詳細については、saptune-note(5)を参照してください。

ノートのカスタマイズが完了したら、saptuneサービスを再起動して変更を適用します。

8.4.2 新しいSAPノートの作成

次のコマンドを使用して新しいSAPノートを作成できます。

# saptune note create NOTE

このコマンドを実行すると、デフォルトのエディタ(環境変数EDITORで定義)でメモの設定テンプレートが開きます。ここでは、saptuneのすべての機能が利用できます。詳細については、saptune-note(5)のマニュアルページを参照してください。

これにより、ノートの設定ファイル/etc/saptune/extra/NOTE.confが作成されます。このファイルは、別の場所で作成して/etc/saptune/extra/に配置することもできます。

設定セクションは条件付きにすることができます。これをタグ付けと呼びます。詳細については、saptune-note(5)を参照してください。

8.4.3 カスタムSAPノートの編集

カスタムノートを編集するには、次のコマンドを使用します。

# saptune note edit NOTE

このコマンドを実行すると、デフォルトのエディタ(EDITOR)でメモの設定が開きます。ノートの編集が完了したら、saptuneサービスを再起動して変更を適用します。カスタムノートは、提供されているノートと同じようにカスタマイズできます。

8.4.4 SAPノートまたはカスタマイズの削除

次のコマンドは、ノートを削除します。対応する上書きファイルが利用可能な場合は、それも削除されます。

# saptune note delete test
Note to delete is a customer/vendor specific Note.
Do you really want to delete this Note (test2)? [y/n]: y

ノートはその時点では適用されない場合があります。次の点に注意してください。

  • アクションを完了するには確認が必要です。

  • saptuneで提供された内部SAPノートは削除できません。代わりに、利用可能な場合は、上書きファイルが削除されます。

  • ノートがすでに適用されている場合、コマンドは、ノートを削除する前に元に戻す必要があるというメッセージで終了します。

8.4.5 SAPノートの名前の変更

次のコマンドを使用すると、作成されたノートを新しい名前に変更することができます。対応する上書きファイルが利用可能な場合は、このファイルの名前も変更されます。

# saptune note rename test test2
Note to rename is a customer/vendor specific Note.
Do you really want to rename this Note (test) to the new name 'test2'? [y/n]: y

ノートはその時点では適用されない場合があります。次の点に注意してください。

  • アクションを完了するには確認が必要です。

  • saptuneで提供された内部SAPノートの名前は変更できません。

  • ノートがすでに適用されている場合、コマンドは、ノートを削除する前に元に戻す必要があるという情報で終了します。

8.4.6 SAPノートの設定の表示

次のコマンドを使用して、ノートの設定を一覧表示できます。

# saptune note show NOTE

8.4.7 SAPノートの検証

ノートのチューニングを検証するには、次のコマンドを使用します。

# saptune note verify NOTE

コマンドの出力の詳細、および単一のノートのチューニングではなくチューニング全体を検証する方法については、8.6項 「検証とトラブルシューティング」を参照してください。

8.4.8 SAPノートのドライ実行

ノートの各パラメータを表示するには、次のコマンドを使用します。

# saptune note simulate

このコマンドは、現在のシステム値および予想される値(デフォルトと上書き)を一覧表示します。

注記
注記: 非推奨に関する注意

simulateコマンドはバージョン3.1から廃止され、SUSE Linux Enterprise Server for SAP applications 16のsaptuneのすべてのバージョンで削除されています。

8.4.9 SAPノートを元に戻す

SAPノートを元に戻すには、次のコマンドを実行します。

# saptune note revert NOTE

これにより、SAPノートのすべてのパラメータが適用時の値に戻ります。

すべてを元に戻すには、次のコマンドを実行します。

# saptune note revert all

8.4.10 有効化または適用されたすべてのSAPノートの一覧表示

すべての有効化されたSAPノートを一覧表示するには、次のコマンドを実行します。

# saptune note enabled

すべての適用されたSAPノートを一覧表示するには、次のコマンドを実行します。

# saptune note applied

どちらのコマンドも、主にスクリプトで使用するためのものです。

8.5 SAPソリューションの管理

この章では、SAPソリューションの操作を説明します。

SAPソリューションは、SAPノートの設定を論理的にグループ化して組み合わせたものです。1つのSAPソリューションは、一般に1つのSAP製品または組み合わせに相当します。SAPソリューションを適用すると、ソリューションに記述されているSAPノートのすべての設定を効果的に適用できます。ソリューションの一覧表示と設定の手順については、8.3項 「チューニングの設定」を参照してください。

8.5.1 SAPソリューションのカスタマイズ

次のコマンドを使用して、SAPソリューションをカスタマイズできます。

# saptune solution customise SOLUTION

このコマンドを実行すると、デフォルトのエディタ(環境変数EDITORで定義)でソリューションの設定のコピーが開きます。アーキテクチャのノートのリストを目的に合わせて変更します。詳細については、saptune-note(5)のマニュアルページを参照してください。

これにより、上書きファイル/etc/saptune/override/SOLUTION.solが作成されます。このファイルは、別の場所で作成して/etc/saptune/override/に配置することもできます。

SAPソリューションのカスタマイズが完了したら、saptuneサービスを再起動して変更を適用します。

8.5.2 新しいSAPソリューションの作成

新しいSAPソリューションを作成するには、次のコマンドを実行します。

# saptune solution create SOLUTION

このコマンドを実行すると、デフォルトのエディタ(環境変数EDITORで定義)でソリューションの設定テンプレートが開きます。テンプレートに入力します。

これにより、ソリューションの設定ファイル/etc/saptune/extra/SOLUTION.solが作成されます。このファイルは、別の場所で作成して/etc/saptune/extra/に配置することもできます。

8.5.3 カスタムSAPソリューションの編集

カスタムSAPソリューションを編集するには、次のコマンドを使用します。

# saptune solution edit NOTE

このコマンドを実行すると、デフォルトのエディタ(環境変数EDITORで定義)でソリューションの設定が開きます。

SAPソリューションの編集が完了したら、saptuneサービスを再起動して変更を適用します。

カスタムソリューションは、提供されているソリューションと同じようにカスタマイズできます。

8.5.4 SAPソリューションの削除

次のコマンドは、作成されたソリューション(この例ではmyHANA)を削除します。対応する上書きファイルや、提供されているソリューションの上書きファイル(利用可能な場合)も削除されます。

# saptune solution delete myHANA

Solution to delete is a customer/vendor specific Solution.
Do you really want to delete this Solution 'myHANA'? [y/n]: y

SAPソリューションはその時点では適用されない場合があります。次の点に注意してください。

  • アクションを完了するには確認が必要です。

  • saptuneで提供されたSAPソリューションは削除できません。上書きファイルが利用可能な場合は、上書きファイルのみが削除されます。

  • SAPソリューションがすでに適用されている場合、コマンドは、SAPソリューションを削除する前に元に戻す必要があるという情報で終了します。

8.5.5 SAPソリューションの名前の変更

SAPソリューションの名前を変更するには、次のコマンドを実行します。

# saptune solution rename myHANA myHANA2

Solution to rename is a customer/vendor specific Solution.
Do you really want to rename this Solution 'myHANA' to the new name 'myHANA2'? [y/n]:

SAPソリューションはその時点では適用されない場合があります。次の点に注意してください。

  • アクションを完了するには確認が必要です。

  • saptuneで提供されたSAPソリューションの名前は変更できません。

  • SAPソリューションがすでに適用されている場合、コマンドは、SAPソリューションの名前を変更する前に元に戻す必要があるという情報で終了します。

8.5.6 SAPソリューションの設定の表示

SAPソリューションの設定を一覧表示するには、次のコマンドを実行します。

# saptune solution show SOLUTION

8.5.7 別のSAPソリューションへの切り替え

saptuneバージョン3.1以降、saptune solution change SOLUTIONコマンドを使用して簡単に別のソリューションに切り替えられるようになりました。

内部的にはまず現在のソリューションが元に戻され、その後新しいソリューションが適用されることに注意してください。追加のノートを設定する場合、その順序は保持されません。

同じソリューションがすでに適用されている場合、何も実行されません。同じソリューションが適用されていない場合、現在のソリューションが元に戻され、新しいソリューションが適用されます。このコマンドを実行すると、変更を実行する前に確認を求められます。これは、--forceオプションを追加することによって無効にできます。

8.5.8 SAPソリューションの検証

ソリューションのチューニングを検証するには、次のコマンドを使用します。

# saptune solution verify SOLUTION

verifyコマンドの出力、および単一のソリューションのチューニングではなくチューニング全体を検証する方法の詳細については、8.6項 「検証とトラブルシューティング」を参照してください。

8.5.9 SAPソリューションのドライ実行

ソリューションに属するすべてのノートのすべてのパラメータを表示するには、次のコマンドを使用します。

# saptune solution simulate SOLUTION

このコマンドは、現在のシステム値および予想される値(デフォルトと上書き)を一覧表示します。

注記
注記: 非推奨に関する注意

simulateコマンドは3.1から廃止され、SUSE Linux Enterprise Server for SAP applications 16のsaptuneのすべてのバージョンで削除されています。

8.5.10 SAPソリューションを元に戻す

SAPソリューションを元に戻すには、次のコマンドを実行します。

# saptune solution revert SOLUTION

SAPソリューションを適用する必要があります。これにより、まだ適用されているSAPソリューションのすべてのSAPノートの部分が元に戻されます。

8.5.11 カスタムSAPソリューションの編集

カスタムSAPソリューションを編集するには、次のコマンドを実行します。

# saptune solution edit SOLUTION

8.5.12 有効化/適用されたSAPソリューションの一覧表示

有効化されたSAPソリューションを一覧表示するには、次のコマンドを実行します。

# saptune solution enabled

適用されたSAPソリューションを一覧表示するには、次のコマンドを実行します。

# saptune solution applied

適用されたSAPソリューションのSAPノートが元に戻された場合、文字列(partial)がソリューション名に追加されています。

どちらのコマンドも、主にスクリプトで使用するためのものです。

8.6 検証とトラブルシューティング

saptuneの現在のステータスを表示するには、次のコマンドを実行します。

# saptune status

出力には次の項目が含まれます。

  • saptunesapconf、およびtunedサービスのステータス

  • パッケージおよび実行中のsaptuneのバージョン

  • 設定されたSAPソリューションおよびSAPノートに関する詳細

  • ステージングに関する詳細

  • systemdシステム状態のステータス

  • 仮想化環境(saptuneバージョン3.1の新機能)

  • チューニングのコンプライアンス(saptuneバージョン3.1の新機能)

saptuneのインストールを分析するには、次のコマンドを実行します。

# saptune check

このコマンドは以下のチェックを実行します。

  • 必須の設定ファイルまたは古い設定ファイルがないかどうかのチェック

  • RPMの残りがないかどうかのチェック

  • systemdのシステム状態が悪化しているかどうかのチェックと、障害が発生したユニットの一覧表示

  • sapconf、saptune、およびチューニングしたサービスのステータスのチェック

注記
注記

saptune checkでsystemdのシステムステータスの悪化について警告されても、ほとんどの場合、saptuneに影響はありません。ただし、障害が発生したサービスのトラブルシューティングが必要です。

このコマンドは、チューニング自体はチェックしません。チューニングをチェックするには、次のコマンドを使用します。

# saptune note verify
注記
注記

ノートを指定せずにsaptune note verifyを呼び出すと、現在適用されているノートがすべて検証されます。これにより、現在のチューニング全体を検証できます。代わりに、saptune solution verifyコマンドを使用します。このコマンドでは、現在適用されているすべてのノートもチェックできます。

saptune note verifyコマンドは、適用されているすべてのノートの表を、以下を含めて出力します。

  • SAPノートとバージョン

  • パラメータ

  • パラメータの予想される値

  • 上書きが存在する場合、上書きの値

  • 現在のシステム値

  • パラメータのコンプライアンスステータス

最後の行には、チューニング全体の総合的なコンプライアンスステータスが含まれます。

注記
注記

提供されているノートの一部のパラメータは無効になっています。つまり、「Expected」列には空の値が入っています。このような場合、そのSAPノートに具体的な推奨事項が含まれていないか、saptuneが推奨事項の条件を検出することができません。SAPノートを読み、ノートをカスタマイズして値を手動で設定してください(8.4.1項 「SAPノートのカスタマイズ」を参照)。

パラメータが準拠していない場合、脚注があればその脚注を読んでください。一部のチューニングには、同等のパラメータが存在します。次はその例です。

  • grub:intel_idle.max_cstateforce_latencyで対応

  • grub:processor.max_cstateforce_latencyで対応

  • grub:numa_balancingkernel.numa_balancingで対応

  • grub:transparent_hugepageTHPで対応

saptuneサービスを再起動すると、問題は修正されます。ただし、非準拠パッケージ(パラメータがrpm:で始まる)またはGRUBエントリ(パラメータがgrub:で始まる)の場合を除きます。saptuneは、パッケージのインストール、アンインストール、またはアップグレードは行いません。また、ブートローダを変更することもありません。

一般的な問題は、saptuneとsysctlによって処理されるsysctlパラメータです。パラメータのコンプライアンス列の脚注に、そのパラメータがいずれかのsysctlの設定ファイルにも存在するかどうかが示されます。問題を修正するには、パラメータをsysctlの設定から削除するか、saptuneでパラメータを無効にします(8.4.1項 「SAPノートのカスタマイズ」を参照)。

必ずチューニングの変更の原因を調査して修正してください。saptuneが特定のパラメーターをチューニングしない場合は、ノートを元に戻すか、上書きを使用してパラメータを無効にすることができます(8.4.1項 「SAPノートのカスタマイズ」を参照)。

8.7 マシンが読み取り可能な出力

バージョン3.1以降、saptuneは、次のコマンドに対してマシンが読み取り可能な出力(JSON)をサポートしています。

  • saptune [daemon|service] status

  • saptune note list|verify|enabled|applied

  • saptune solution list|verify|enabled|applied

  • saptune status

  • saptune version

マシンが読み取り可能な出力によって、saptuneをスクリプトおよび設定管理ソリューションに統合できます。

JSON出力を生成するには、最初のオプションとして--format jsonを追加します。次に例を示します。

> saptune --format json note applied | jq
{
"$schema": "file:///usr/share/saptune/schemas/1.0/saptune_note_applied.schema.json",
"publish time": "2023-08-29 17:05:45.627",
"argv": "saptune --format json note applied",
"pid": 1538,
"command": "note applied",
"exit code": 0,
"result": {
    "Notes applied": [
    "941735",
    "1771258",
    "1980196",
    "2578899",
    "2684254",
    "2382421",
    "2534844",
    "2993054",
    "1656250"
    ]
},
"messages": []
}

まだJSON出力をサポートしていないコマンドを実行すると、resultブロックが"implemented": falseに設定されて失敗します。

[+]
> saptune --format json staging status | jq
{
"$schema": "file:///usr/share/saptune/schemas/1.0/saptune_staging_status.schema.json",
"publish time": "2023-08-29 17:08:16.708",
"argv": "saptune --format json staging status",
"pid": 1653,
"command": "staging status",
"exit code": 1,
"result": {
    "implemented": false
},
"messages": []
}

8.8 ステージング

新しいsaptuneパッケージには、バイナリの変更(バグ修正など)と、新規または変更されたSAPノートおよびSAPソリューションの両方を含めることができます。特定の状況では、システム設定を変更せずにバグ修正や新機能を展開することが推奨されます。

ステージングが有効である場合、パッケージの更新におけるSAPノートおよびSAPソリューションの変更はすぐに有効にはなりません。これらはステージング領域に配置され、後で確認してリリースできます。

重要
重要

現在の実装では、ステージングが有効になっている場合、パッケージの更新によってステージングが上書きされます。

ステージングはデフォルトでは無効になっています。有効にするには、次のコマンドを実行します。

# saptune staging enable

この時点から、saptuneパッケージで提供されるSAPノートおよびSAPソリューションの変更は、ステージング領域に配置されます。ステージング領域を表示するには、次のコマンドを実行します。

# saptune staging list

次のコマンドを使用して、ステージング領域と作業領域におけるSAPノートとSAPソリューションの違いの概要を表形式で出力できます。

# saptune staging diff [NOTE...|SOLUTION...|all]

違いを確認したら、リリースに潜在的な問題があるかどうか、または追加の手順が必要かどうかを確認するために分析を行うことができます。そのためには次のコマンドを実行します。

# saptune staging analysis [NOTE...|SOLUTION...|all]

SAPノートまたはSAPソリューションをステージング領域からリリースするには、次のコマンドを使用します。

# saptune staging [--force|--dry-run] [NOTE..|SOLUTION...|all]

このコマンドは、分析(saptune staging analysisを参照)を提示し、確認を求めた後にリリースを実行します。

8.9 詳細情報

次のマニュアルページを参照してください。

  • man 8 saptune

  • man 8 saptune-migrate

  • man 8 saptune-note

プロジェクトホームページ(https://github.com/SUSE/saptune/)も参照してください。

Documentation survey