メインコンテンツまでスキップ

「 alter system 」を使用した SAP HANA データベースボリュームの削減 データボリュームの再利用コマンドを実行すると、パフォーマンスの問題やサービスの停止が発生する可能性があります

Views:
39
Visibility:
Public
Votes:
0
Category:
data-ontap-7
Specialty:
nfs
Last Updated:

に適用されます

ONTAP OS

回答

SAP HANA データファイルの切り捨てに SQL コマンド「 ALTER system reclaim dataVolume xxx def' 」を使用するとパフォーマンスが大幅に低下することがありますが、まれに、 Bug #865444 で説明されているコントローラの停止が発生することがあります。[1]この問題は、 SAP HANA が NFS 経由で接続されており、ディスクスペースを節約するために非常に大容量の SAP HANA データファイルのサイズが縮小された場合に発生します。
  
この SQL コマンドを使用すると、 SAP HANA はデータファイル内に大量のデータブロックをコピーするため、変更率が非常に高くなります。SAP HANA データベースのバックアップにネットアップの Snapshot テクノロジを使用すると、ファイルの切り捨てがスペース削減によって意図した効果を失うことになります。また、サーバとストレージの CPU 利用率も非常に高くなります。また、切り捨てられるファイルが別のファイルのクローンである場合、スペースは保存されません。そのため、切り捨て処理によってスペースが大幅に削減されることはありません。

そのため、この SQL コマンドの使用は推奨されません。システムの初回のデータロードや大量のデータの削除など、ごくまれに再生コマンドが役立つことがありますが、その場合は、各手順でファイルの再利用部分が再生されるように、再利用コマンドをいくつかの手順に分割して実行することを推奨します。 パフォーマンスへの影響を最小限に抑える。遅延の影響を受けやすい処理では最大切り捨てサイズを 250GiB に、切り捨てコマンドの実行回数を減らす場合は 500GiB に制限することを推奨します。
 
さらに、ネットアップでは、前述のコマンドを使用する予定の、 NFS 上で SAP HANA を実行しているすべてのお客様がインストールして設定する必要があるパッチを提供しています。このパッチを適用することで、切り捨ての内部処理が高速化されるだけでなく、ユーザは CP タイムアウト値を高い値に設定して、 Reclaim コマンドが正しく使用されない場合のデータサービスの中断を回避できます。  
 
次の例では、シングルノードの SAP HANA データボリュームの切り捨てを検討しています。SAP ノート 1870858 で説明 ´´されているように、データファイルのサイズは、 SAP HANA Studio の列の合計サイズ( MB )のボリューム管理ペインで確認できます。実際 ´´´´の使用済みスペースまたはペイロードは、 Used Size ( MB )として示されます。
この例では、決定された値は次のとおりです。

  • SAP HANA データファイルのサイズは 2TB です
  • 実際のペイロードは 1TB です 
お客様がファイルサイズを 1.2 TB に縮小したいと考えているとします。これはペイロードの 120% です。そのため、ファイルサイズは 1TB 単位で縮小されます。最大切り捨てサイズを 250 GB に制限するには、ネットアップの推奨事項に基づいて、切り捨てを 4 回の処理に分割する必要があります。
 
2 TB 以降、ペイロードの 220 % です
。最初の手順では、ファイルサイズを 250 GB 削減する必要があります。新しいファイルサイズは、ペイロードの 1.95TB または 195% になります。そのため、手順

1 => 「 ALTER system reclaim dataVolume 195 defフラグメンテーション

」という順序で最初の手順を実行すると、 SAP HANA はファイル内でブロックの移動を開始し、成功メッセージが返されます。この時点で、ストレージでのファイルの切り捨て処理が開始されます。前のファイルの切り捨て処理が完了していることを確認するため、 5 分待ってから次の Reclaim コマンドを実行することを推奨します。残りのコマンドシーケンスは、以下のよう





に計算されます。手順 2=> 「 ALTER system reclaim dataVolume 170 defend' wait 5 minutes after SQL コマンド」の実行後、手順 3=> 「 ALTER system reclaim dataVolume def145 」 Wait 5 minutes SQL コマンドの実行後、手順 4=> 「 ALTER system reclaim dataVolume 120 」を実行します。上記の推奨事項では、 NetApp HANA コントローラでの NFS アグリゲートを使用した場合、 4435 でのみ、 Flash HANA をデフラグを設定してください。
 
パッチ情報:
前述のように、パッチをインストールすると 2 つのオプションが有効になります。
 
[2]:レジストリオプションを変更する前に、お使いの ONTAP 構成にバグ #865444 の修正プログラムが含まれていることを確認してください。8.3.2P5 で最初に修正されたクラスタモードです。8.2.4P5 で 7-Mode が最初に修正されました(ターゲット)。Check Bug Toolfor updates



system node run -node <Node name> -c "priv set diag; options wafl.cp.timeout 1799"

"priv set diag; options wafl.cp.timeout 1799"

: Once the patch has been installed 、 the following registry option should be set on each node to 増量 the CP timeout : for Cluster mode : for 7-mode : values other than 1799 or the default of 600 are not recommended for use and may have an unexpected impact on FAS or AFF systems] 。
 
パッチがインストールされると、切り捨て要求の一般的
なパフォーマンスを向上させるために、各ノードで次のレジストリオプションを設定する必要があります。クラスタモードの場合:
  • system node run -node <Node name> -c "priv set diag; options wafl.buf.usage.prefetch 255"   
  • system node run -node <Node name> -c "priv set diag; options wafl.buf.usage.prefetch_for_clones_with_fbc 255" 
7-Mode
  • priv set diag; options wafl.buf.usage.prefetch 255
  • priv set diag; options wafl.buf.usage.prefetch_for_clones_with_fbc 255
メモ:
  • wafl.buf.usage.prefetch デフォルト値は 64 です  
  • wafl.buf.usage.prefetch_for_clones_with_fbc デフォルト値は 4 です 

追加情報

再利用コマンドシーケンスは、次の式から派生できます。

  1. 最終コマンドの前に実行するコマンドの数は
    、 C = ( i -f ) /t の形式で算出できます
    • c は、実行するコマンドの数です (最も近い整数に切り上げ)
    • データファイルの初期サイズを指定します
    • f は、データファイルの最終サイズ(ペイロード * 望ましい過負荷率、つまり 120% )です。
    • T は、選択された最大切り捨てサイズです
  2. コマンドあたりの減少率は
    、次のように判断できます。 pct=100 * t/p
    ここで、次のようになります。
    • pct は、コマンドあたりの減少率です (最も近い整数に切り上げ)
    • p はデータベースのペイロードサイズです
    • T は、選択された最大切り捨てサイズです
    • レイテンシの影響を受けやすい運用では 250GiB 、必要な場合では 500GiB です をクリックすると、切り捨てコマンドの数が少なくなります
  3. 実行する n 番目のコマンドは
    次のように特定できます。 n 番目のコマンド: 'ALTER system reclaim dataVolume x def'
    x = 100 * I/p - ( pct * n )
    ここで、次のように指定します。
    • データベースの初期サイズを指定します
    • p はデータベースのペイロードサイズです
    • p はデータベースのペイロードサイズです
    • n はコマンド数のイテレータです
コマンドシーケンスを再利用する例:
ペイロードサイズ = 3TB   
  • I = 初期データファイルサイズ = 7.2 TB (ペイロードサイズよりも 240 % 大きい)
  • F = 最終データファイルサイズ = 3.6TB ( 1.2 倍ペイロード)  
  • T = 最大切り捨てサイズ = 500GiB = 0.5TB
 
最後のコマンドの前に実行する再要求コマンドの数を確認します。
  • c = ( i -f ) /t 、
  • C = ( 7.2TB~3.6TB ) / 0.5TB
  • C = 7.2 => 7
 
コマンドごとの減少率を判断します。
  • pct = 100 * t/p
  • PCT = 100 * 0.5TB / 3TB = 16% 

n 番目のコマンド: 'ALTER system Reclaim dataVolume x def'
x = 100 * I/p - ( pct * n )

初期データファイルサイズがペイロードよりも 240 % 大きい =
Command 1 => 'ALTER SYSTEM RECLAIM DATAVOLUME 224 DEFRAGMENT'
Command 2 => 'ALTER SYSTEM RECLAIM DATAVOLUME 208 DEFRAGMENT'
Command 3 => 'ALTER SYSTEM RECLAIM DATAVOLUME 192 DEFRAGMENT'
Command 4 => 'ALTER SYSTEM RECLAIM DATAVOLUME 176 DEFRAGMENT'
Command 5 => 'ALTER SYSTEM RECLAIM DATAVOLUME 160 DEFRAGMENT'
Command 6 => 'ALTER SYSTEM RECLAIM DATAVOLUME 144 DEFRAGMENT'
Command 7 => 'ALTER SYSTEM RECLAIM DATAVOLUME 128 DEFRAGMENT'
Command 8 => 'ALTER SYSTEM RECLAIM DATAVOLUME 120 DEFRAGMENT'

最終 3TB DB サイズがペイロードより 120 % 大きくなっています

 

 

 

  • この記事は役に立ちましたか?