ハードウェア加速によるバックアップとログ・ファイルの圧縮

ネスト・アクセラレーターを使用して、バックアップ・イメージおよびログ・アーカイブ・ファイルのハードウェア圧縮を行うことができます。 サポートされるオプションには、 POWER7+ 以上のプロセッサーの NX842 、 POWER9 以上のプロセッサーの NXZLIB、および Linux® on IBM z Systems ® 15 以降のバージョンの NXU が含まれます。

重要: NXZLIB および NXU ネスト・アクセラレーターのサポートは、 Db2 11.5.7 以降のバージョンで使用可能です。

前提条件

NX842 ネスト・アクセラレーターを使う場合、次の前提条件が適用されます。

  • このソリューションは、 AIX®でサポートされています。 最小 AIX レベルは AIX V7 TL3 SP3です。
  • Active Memory Expansion(AME)はライセンスが必要ですが、有効にしないでください。 この制限は一時的なものであり、技術的な制限ではありません。 また、論理区画 (LPAR) で Active Memory Sharing (AMS) を非アクティブ化にする必要があります。 NX842圧縮ユニットは、通常、データベースサーバーのAMEには使用されません。これは、深い行の圧縮、適応型の圧縮、インデックスの圧縮により、メモリの圧縮が非効率になる可能性があるためです。
  • CPU は POWER7+ 以降でなければなりません。
  • POWER8: FW820.50、 FW830.30 、または FW840.40です。
    注意: カーネル要件が満たされている場合は、以前の POWER ® バージョンで NX842 を使用して圧縮されたバックアップ・イメージとログ・ファイルを使用してリカバリーすることができます。
  • NX842 圧縮ユニットは通常、データベース・サーバーの AMEには使用されません。深い行圧縮、アダプティブ圧縮、索引圧縮により、メモリー圧縮が非効率的になる可能性があるためです。
ZLIB 圧縮方式は、 AIX および Linux on IBM z Systems でサポートされます。 次の前提条件が適用されます。
  • 最小 AIX レベルは AIX V7.2 TL5 SP3で、 POWER9 以降の CPU。 さらに、ファームウェア・レベル FW940 以降が必要になります。 Power9 プロセッサーは、 Power9_base モードではなく、 Power9 モードで実行する必要があります。
    AIXでは、ZLIB アクセラレーターが使用可能な場合は nxstat -S を使用できます。
    nxstat -S
    表示する必要があります

    GZIP accelerator available
  • Linux on IBM z Systems バージョンは、deflate 機能をサポートする CPU を備えたシステム上で稼働する z15 以上でなければなりません。 /proc/cpuinfo ファイルの features 行を調べて、 dfltが含まれているかどうかを確認します。
    cat /proc/cpuinfo
    ...
    features        : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te vx vxd vxe gs vxe2 vxp sort dflt sie
    ...
注: AIX システムでは、コマンド db2pd -osinfo を実行して、アクセラレーターが使用可能かどうかを確認できます。 可用性は、NX842とNXZLIBを含む出力行に表示されます。
次の例は、出力例を示しています。
db2pd -osinfo

Operating System Information:

OSName:   AIX
NodeName: hotelaix7
Version:  6
Release:  1
Machine:  00C45AC54C00
AME    :  Disabled
AMS    :  Disabled
NX842  :  Operational
NXZLIB :  n/a

このソリューションの利点

  • 高速圧縮は、特殊なハードウェア圧縮装置 NX842 または NXZLIB (POWER CPU の場合) および NXU (z プロセッサーの場合) を使用して実現できます。 この圧縮では、汎用 CPU リソースは使用されません。
  • ハードウェアの圧縮アルゴリズムは、一般的な Db2® 圧縮よりも高速の圧縮を提供します。

バックアップ操作のためのハードウェア圧縮

ハードウェア圧縮または ZLIB 圧縮のいずれかを使ってバックアップを開始するには、ライブラリーを指定しなければなりません。

ハードウェア圧縮用のライブラリーを指定するには、次のコマンドを実行してください。
backup database databasename compress comprlib libdb2nx842.a
ZLIB 圧縮用のライブラリーを指定するには、次のコマンドを実行してください。
backup database databasename compress comprlib libdb2zcompr.so
注: 前提条件 が満たされている場合、ZLIB 圧縮はハードウェア・サポート付きで実行されます。
バックアップは、 NX842 圧縮または ZLIB 圧縮のいずれかを使用してデフォルトで圧縮できます。 このバックアップ圧縮を行うには、レジストリー変数 DB2_BCKP_COMPRESSIONNX842 または ZLIBに設定する必要があります。 レジストリー変数を設定した後、次のコマンドを発行してください。
backup database databasename compress
その後、選択ハードウェア圧縮方式を使ってイメージを圧縮します。

ログ・アーカイブ圧縮のハードウェア圧縮

ログ・アーカイブ圧縮に NX842 ハードウェア圧縮を使用することもできます。 ログ・アーカイブ圧縮のハードウェア圧縮をアクティブにするには、データベース構成パラメーター を変更してください。LOGARCHCOMPR1 または LOGARCHCOMPR2 から NX842 を実行するには、以下のコマンドを実行してください。
update database configuration for databasename using LOGARCHCOMPR1 NX842
注: LOGARCHCOMPR1 パラメーターと LOGARCHCOMPR2 パラメーターは異なる値を取ることができます。 次のように一般的な Db2 圧縮を LOGARCHCOMPR1 に使用し、NX842 圧縮を LOGARCHCOMPR2 に使用することができます。
update database configuration for databasename using LOGARCHCOMPR1 ON
update database configuration for databasename using LOGARCHCOMPR2 NX842
NX842 圧縮について詳しくは、 POWER NX842 Compression for Db2を参照してください。
ZLIB 圧縮は、ログ・アーカイブ圧縮にも使用できます。 ログ・アーカイブ圧縮のためにZLIB圧縮をアクティブにするには、次のコマンドを使用して、データベース構成パラメーター LOGARCHCOMPR1またはLOGARCHCOMPR2ZLIBに変更してください。
update database configuration for databasename using LOGARCHCOMPR1 ZLIB
注: LOGARCHCOMPR1 パラメーターと LOGARCHCOMPR2 パラメーターは異なる値を取ることができます。 例えば、一般的な Db2 圧縮は LOGARCHCOMPR1 に利用でき、ZLIB 圧縮は LOGARCHCOMPR2: に利用できます。
update database configuration for databasename using LOGARCHCOMPR1 ON 
update database configuration for databasename using LOGARCHCOMPR2 ZLIB
前提条件 が満たされた場合、ZLIB 圧縮はハードウェア・サポート付きで実行されます。

AIX システムのハードウェア圧縮を使って暗号化バックアップを作成します。

統合圧縮と暗号化ライブラリを使って、NX842-accelerated圧縮の暗号化バックアップを作成できますlibdb2nx842_encr.a。 このオプションは現在、AIX プラットフォームで Db2 を実行しているユーザーのみが使用できます。

現在、DB2_BCKP_COMPRESSION レジストリー変数を使って、 Db2 バックアップの圧縮と暗号化の共同操作を指定できません。 データベースもバックアップも現在暗号化されておらず、NX842ハードウェア圧縮を使う場合、まず、DB2_BCKP_COMPRESSION変数を設定してNX842を使わなければなりません。
$ db2set DB2_BCKP_COMPRESSION=NX842
データベースが暗号化されたら、NX842-accelerated 圧縮バックアップを自動的に使うように Db2 を設定できます。
$ db2 connect to <your database> $ db2 update db cfg using encrlib libdb2nx842_encr.a

zlib 圧縮を使って暗号化バックアップを作成します。

データベースが暗号化されており、ZLIB圧縮を使う場合は、オペレーティングシステムの圧縮ライブラリを使うようにDb2を設定してください。

AIX ユーザーの場合:
$ db2 connect to <your database> $ db2 update db cfg using encrlib  libdb2zcompr_encr.a
Linux ユーザーの場合:
$ db2 connect to <your database> $ db2 update db cfg using encrlib  libdb2zcompr_encr.so
Windows ユーザーの場合:
$ db2 connect to <your database> $ db2 update db cfg using encrlib  libdb2zcompr_encr.dll