統合アクセラレータとオフロードを構成する

適用対象: SQL Server 2022 (16.x)

この記事では、SQL Server に Intel® QuickAssist Technology (QAT) を使用して、統合アクセラレータとオフロードを構成する方法について説明します。 Intel® QAT は、統合アクセラレータとオフロード ソリューションです。 詳細な背景については、「統合アクセラレータとオフロード」を参照してください。

ドライバーのインストール

  1. ドライバーをダウンロードします。

    サポートされている QATzip アクセラレータ ライブラリの最小バージョンは 1.8.0-0010 ですが、常にベンダーから最新バージョンをインストールする必要があります。 ドライバーは、Intel® Quick Assist Technology のランディング ページで入手です。

  2. ベンダーの指示に従って、サーバーにドライバーをインストールします。

  3. ドライバーをインストールした後、サーバーを再起動します。

インストールされているコンポーネントを確認する

ドライバーがインストールされている場合は、次のファイルが使用可能になっています。

  • QATzip ライブラリは、C:\Windows\system32\ にあります。
  • QATzip と共にインストールされた ISA-L ライブラリは、C:\Program Files\Intel\ISAL\* にあります。

上記のパスは、ハードウェアのデプロイおよびソフトウェアのみのデプロイの両方に適用されます。

ハードウェア オフロードを有効にする

ドライバーがインストールされたら、サーバー インスタンスを構成します。

  1. サーバー構成オプション hardware offload enabled1 に設定して、すべての SQL Server アクセラレータを有効にします。 既定では、この設定は 0 です。 この設定は高度な構成オプションです。 この設定を行うには、次のコマンドを実行します。

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE
    GO
    
    sp_configure 'hardware offload enabled', 1;
    GO
    RECONFIGURE
    GO
    
  2. SQL Server サービスの開始と停止

    注意

    hardware offload enabled オプションが 0 に等しい場合、オフロードとアクセラレータはすべて無効になりますが、アクセラレータ固有の構成は保持されます。

  3. 特定のアクセラレータにハードウェア オフロードを使用するようにサーバーを構成します。 ALTER SERVER CONFIGURATION を実行してハードウェア アクセラレータを有効にします。 次の例では、Intel® QAT にこの構成を設定します。

    次の例のいずれかを選択します。a. ソフトウェア フォールバックによるハードウェア オフロードの有効化 b ソフトウェアのサポート

    a. アクセラレータのハードウェア オフロードを有効にする

    ハードウェア圧縮構成によってホスト CPU が保護されます。Intel® QAT ハードウェア モードは、基になるホスト システムの CPU を保護するように設計されています。 このメソッドは、基になるシステムのワークロードが高い場合に最もよく機能します。

    ALTER SERVER CONFIGURATION   
    SET HARDWARE_OFFLOAD = ON (ACCELERATOR = QAT);  
    

    ヒント

    何らかの理由でハードウェア デバイスが失敗した場合、アクセラレータはソフトウェア モードに正常にフォールバックできます。

    b. アクセラレータ ソフトウェア モードを強制的に有効にする

    ALTER SERVER CONFIGURATION
    SET HARDWARE_OFFLOAD = ON (ACCELERATOR = QAT, MODE = SOFTWARE)
    

    重要

    SOFTWARE と HARDWARE モードの観点で、MS_XPRESS と比較した QAT_DEFLATE アルゴリズムのパフォーマンスは、いくつかの要因によって変化します。 バックアップの実行中にホスト システムが受ける可能性があるワークロードの負荷と、Intel® QuickAssist Technology (QAT) ハードウェア デバイスの使用可能なメモリと処理能力はすべて、利用される圧縮アルゴリズムのパフォーマンスに影響を与える可能性のある要因です。

  4. SQL Server インスタンスを再起動します。 SET HARDWARE_OFFLOAD = ... に対してコマンドを実行した後、SQL Server インスタンスを再起動する 必要があります。

  5. 構成を確認するには、次を実行します。

    SELECT * FROM sys.dm_server_accelerator_status;
    GO
    

    クエリ結果は次の内容を識別します。

    • mode_desc - NONE、SOFTWARE、または HARDWARE モード
    • mode_reason_desc - モードの理由
    • accelerator_library_version - ユーザー モード アクセラレータのバージョン
    • accelerator_driver_version - カーネル モード アクセラレータのバージョン

モードの記述が SOFTWARE または HARDWARE の場合、アクセラレータは有効になります。 mode_reason_desc は、結果が SOFTWARE または HARDWARE モードである理由に関する説明です。

他の結果が見つかった場合は、sys.dm_server_accelerator_status (Transact-SQL) を参照してトラブルシューティングを行います。

オフロードとアクセラレータを無効にする

次の例では、Intel® QAT アクセラレータのハードウェア オフロードとアクセラレータを無効にします。

ALTER SERVER CONFIGURATION   
SET HARDWARE_OFFLOAD = OFF (ACCELERATOR = QAT);  

バックアップ操作

SQL Server 2022 (16.x) では、BACKUP (Transact-SQL) 用バックアップ圧縮の ALGORITHM 拡張機能が導入されています。

T-SQL BACKUP コマンドの WITH COMPRESSION が拡張され、指定したバックアップ圧縮アルゴリズムを使用できます。 Intel® QAT はバックアップ圧縮のアクセラレータに、QAT_DEFLATE と呼ばれるアルゴリズムを使用します。 ドライバーが使用可能で、前述の手順に示すように SQL Server の構成が正常に完了した場合、WITH COMPRESSION は Intel® QAT 圧縮バックアップを開始します。

注意

標準の圧縮アルゴリズムの MS_XPRESS は、既定の圧縮オプションです。

ALGORITHM コマンドを使用して、バックアップ圧縮用に MS_XPRESSQAT_DEFLATE いずれかのアルゴリズムを指定します。

次の例では、Intel® QAT ハードウェア アクセラレータを使用してバックアップ圧縮を実行します。

BACKUP DATABASE <database> TO DISK = '<path>\<file>.bak'  
WITH COMPRESSION (ALGORITHM = QAT_DEFLATE); 

次のいずれかのステートメントでは、既定のMS_XPRESS圧縮オプションが使用されます。

BACKUP DATABASE <database> TO DISK = '<path>\<file>.bak'  
WITH COMPRESSION (ALGORITHM = MS_XPRESS); 
BACKUP DATABASE <database> TO DISK = '<path>\<file>.bak'  
WITH COMPRESSION; 

次の表に、SQL Server 2022 (16.x) 以降の COMPRESSION オプションを使用した BACKUP DATABASE の概要を示します。

Backup コマンド 説明
BACKUP DATABASE <database_name> TO DISK 既定の設定に応じて、圧縮なしで、または圧縮を使用してバックアップします。
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION sp_configure の既定の設定を使用してバックアップします。
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = MS_XPRESS) MS_XPRESS アルゴリズムを使用した圧縮によるバックアップ。
BACKUP DATABASE <database_name> TO  DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE) QATzip ライブラリを使用した圧縮によるバックアップ。

注意

上の表の例では、DISK を出力先として指定しています。 実際の出力先は、DISK、TAPE、または URL です。

既定の構成

SQL Server バックアップの圧縮に使用する既定の動作を調整できます。 サーバーの既定の構成とその他のオプションを変更できます。 ハードウェア アクセラレータを有効または無効にしたり、バックアップ圧縮を既定として有効にしたりすることができます。また、sp_configure による既定の圧縮アルゴリズムを変更することもできます。

これらのオプションの状態は、sys.configurations (Transact-SQL) に反映されます。 sys.dm_server_accelerator_status (Transact-SQL) 動的管理ビューを使用して、オフロードと高速化の構成を表示します。

backup compression algorithm 構成により、バックアップ圧縮の既定のバックアップ圧縮アルゴリズムが変更されます。 このオプションを変更すると、BACKUP ... WITH COMPRESSION コマンドでアルゴリズムが指定されていない場合、既定のアルゴリズムが変更されます。

sys.configurations (Transact-SQL) では、バックアップ圧縮の現在の既定の設定を表示できます。次に例を示します。

SELECT * FROM sys.configurations    
WHERE name = 'backup compression algorithm'; 
SELECT * FROM sys.configurations    
WHERE name = 'backup compression default'; 

これらの構成設定を変更するには、sp_configure (Transact-SQL) のシステム ストアド プロシージャを使用します。 次に例を示します。

EXEC sp_configure 'backup compression default', 1;   
RECONFIGURE; 

この変更を有効にするために SQL Server を再起動する必要はありません。

backup compression algorithm 構成は、既定の圧縮アルゴリズムを設定します。 SQL Server の既定の圧縮アルゴリズムとして Intel® QAT を設定するには、次のスクリプトを使用します。

EXEC sp_configure 'backup compression algorithm', 2;   
RECONFIGURE; 

既定の圧縮アルゴリズムを既定値に戻すには、次のスクリプトを使用します。

EXEC sp_configure 'backup compression algorithm', 1;   
RECONFIGURE; 

この変更を有効にするために SQL Server を再起動する必要はありません。

復元操作

バックアップ ファイルのメタデータは、データベース バックアップが圧縮されているかどうかを識別し、バックアップの圧縮に使用されたアルゴリズムを識別します。

RESTORE HEADERONLY を使用して圧縮アルゴリズムを表示します。 See RESTORE Statements - HEADERONLY (Transact-SQL).

注意

サーバー スコープ構成で HARDWARE_OFFLOAD オプションが有効になっていない場合、または Intel® QAT ドライバーがインストールされていない場合、SQL Server はエラー 17441 (Msg 17441, Level 16, State 1, Line 175 This operation requires Intel(R) QuickAssist Technology (QAT) libraries to be loaded.) を返します

Intel® QAT で圧縮されたバックアップを復元するには、復元操作を開始する SQL Server インスタンスに正しいアセンブリを読み込む必要があります。 QAT 圧縮バックアップを復元するために QAT ハードウェアを用意する必要はありません。 ただし、QAT バックアップを復元するには、次の条件が必要です。

  • QAT ドライバーはコンピューターにインストールする必要があります。
  • ハードウェア オフロードを有効にする必要があります (sp_configure 'hardware offload enabled', 1;)
  • SQL Server インスタンスの構成で、ALTER SERVER CONFIGURATION SET HARDWARE_OFFLOAD ON (ACCELERATOR = QAT) が先述の通りに設定されている必要があります 。

HARDWARE モードで実行された QAT バックアップは、ソフトウェア モードで復元できます。その逆も可能です。

バックアップ履歴

インスタンスに対するすべての SQL Server バックアップ操作と復元操作の圧縮アルゴリズムと履歴は、bavkupset (Transact-SQL) システム テーブルで表示できます。 SQL Server 2022 (16.x) で、このシステム テーブルに新しい列が追加されました。compression_algorithm は、たとえば MS_EXPRESS または QAT_DEFLATE を示します。

サービスの開始 - 構成後

統合アクセラレータとオフロードを構成した後、SQL Server サービスが開始されるたびに、SQL Server プロセスは、ハードウェア アクセラレータ デバイス ドライバー API とインターフェイスする必要なユーザー空間ソフトウェア ライブラリを検索し、使用可能な場合はソフトウェア アセンブリを読み込みます。 Intel® QAT アクセラレータの場合、ユーザー空間ライブラリは QATzip です。 このライブラリには、多くの機能が用意されています。 QATzip ソフトウェア ライブラリは、QAT カーネル ドライバー API とインターフェイスできるユーザー空間ソフトウェア API です。 これは主に、1 つ以上の Intel® QAT デバイスを使用してファイルの圧縮と展開の高速化を試みるアプリケーションによって使用されます。

Windows オペレーティング システムの場合は、QATzip、Intel インテリジェント ストレージ ライブラリ (ISA-L) に補完的なソフトウェア ライブラリがあります。 これは、ハードウェア障害が発生した場合の QATzip のソフトウェア フォールバック メカニズムと、ハードウェアが使用できない場合のソフトウェア ベースのオプションとして機能します。

注意

Intel® QAT ハードウェア デバイスを使用できなくても、インスタンスが QAT_DEFLATE アルゴリズムを使用してバックアップ操作または復元操作を実行することは可能です。 物理デバイスが使用できない場合、ソフトウェア アルゴリズムはフォールバック ソリューションとして利用されます。

次のステップ