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
出力には次の項目が含まれます。
saptune
、sapconf
、および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_cstate
はforce_latency
で対応grub:processor.max_cstate
はforce_latency
で対応grub:numa_balancing
はkernel.numa_balancing
で対応grub:transparent_hugepage
はTHP
で対応
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/)も参照してください。