Configurar aceleração e descarregamento integrados

Aplica-se a: SQL Server 2022 (16.x)

Este artigo demonstra como configurar uma aceleração integrada e descarregamento com a tecnologia Intel® QuickAssist (QAT) para SQL Server. O Intel® QAT é uma solução integrada de aceleração e descarregamento. Para obter mais informações, veja Descarregamento e aceleração integrados.

Instalar drivers

  1. Baixar os drivers.

    A versão mínima da biblioteca do acelerador QATzip suportada é 1.8.0-0010, mas você deve sempre instalar a última versão do fornecedor. Os drivers estão disponíveis na página destino da Tecnologia Intel® Quick Assist.

  2. Siga as instruções do fornecedor para instalar os drivers no servidor.

  3. Reinicie o servidor depois de instalar os drivers.

Verifique os componentes instalados

Se os drivers estiverem instalados, os seguintes arquivos estarão disponíveis:

  • a biblioteca QATzip está disponível em C:\Windows\system32\.
  • A biblioteca ISA-L instalada com o QATzip está disponível em C:\Program Files\Intel\ISAL\*.

Os caminhos acima se aplicam à implantação somente de hardware e software.

Habilitar o descarregamento de hardware

Depois que os drivers forem instalados, configure a instância do servidor.

  1. Defina a opção de configuração do servidor hardware offload enabled para 1 para habilitar todos os aceleradores do SQL Server. Por padrão, essa configuração é 0. Essa configuração é uma opção de configuração avançada. Para definir essa configuração, execute os seguintes comandos:

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE
    GO
    
    sp_configure 'hardware offload enabled', 1;
    GO
    RECONFIGURE
    GO
    
  2. Parar e reiniciar o serviço SQL Server.

    Observação

    Se a opção hardware offload enabled for igual a 0, todo o descarregamento e aceleração serão desativados, no entanto, as configurações específicas do acelerador persistirão.

  3. Configure o servidor para usar o descarregamento de hardware para um acelerador específico. Execute ALTER SERVER CONFIGURATION para habilitar a aceleração de hardware. Os exemplos a seguir definem essa configuração para o Intel® QAT.

    Escolha um dos exemplos a seguir, a. habilitar o descarregamento de hardware com fallback de software ou b. suporte de software.

    a. Habilitar o descarregamento de hardware do acelerador

    A configuração de compactação por hardware protege a CPU do host - o modo de hardware Intel® QAT foi projetado para proteger a CPU do sistema host subjacente. Esse método funciona melhor quando o sistema subjacente está sob cargas de trabalho mais altas.

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

    Dica

    Se o dispositivo de hardware falhar por qualquer motivo, o acelerador pode voltar ao modo de software.

    b. Forçar a habilitação do modo de software acelerador

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

    Importante

    O desempenho do algoritmo QAT_DEFLATE em termos de modo SOFTWARE vs. HARDWARE em comparação com MS_XPRESS varia com base em vários fatores. A pressão de carga de trabalho que o sistema host pode estar sofrendo durante a execução do backup e a memória disponível e o poder de processamento do dispositivo de hardware Intel® QuickAssist Technology (QAT) são todos fatores que podem afetar o desempenho do algoritmo de compactação aproveitado.

  4. Reinicie a instância do SQL Server. Você precisa reiniciar a instância do SQL Server depois de executar um comando para SET HARDWARE_OFFLOAD = ....

  5. Para verificar a configuração, execute:

    SELECT * FROM sys.dm_server_accelerator_status;
    GO
    

    Os resultados da consulta identificam:

    • mode_desc - Modo NENHUM, SOFTWARE ou HARDWARE
    • mode_reason_desc - Motivo do modo
    • accelerator_library_version - Versão do acelerador de modo de usuário
    • accelerator_driver_version - Versão do acelerador do modo kernel

O acelerador será habilitado se a descrição do modo for SOFTWARE ou HARDWARE. O mode_reason_desc explica por que o resultado é o modo SOFTWARE ou HARDWARE.

Se outros resultados forem encontrados, consulte o sys.dm_server_accelerator_status (Transact-SQL) para solução de problemas.

Desabilitar descarregamento e aceleração

O exemplo a seguir desabilita o descarregamento e a aceleração de hardware para um acelerador Intel® QAT.

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

Operação de backup

O SQL Server 2022 (16.x) apresenta uma ALGORITHM extensão para compactação de backup para BACKUP (Transact-SQL).

O comando T-SQL BACKUP WITH COMPRESSION foi estendido para permitir um algoritmo de compactação de backup especificado. Para aceleração de compactação de backup, o Intel® QAT usa um algoritmo chamado QAT_DEFLATE. Se os drivers estiverem disponíveis e a configuração do SQL Server tiver sido concluída com êxito, conforme ilustrado nas etapas documentadas anteriormente, WITH COMPRESSION iniciará um backup compactado Intel® QAT.

Observação

O algoritmo de compactação padrão é MS_XPRESS e é a opção de compactação padrão.

Use o comando ALGORITHM para especificar um desses dois algoritmos (MS_XPRESS, QAT_DEFLATE) para compactação de backup.

O exemplo abaixo executa a compactação de backup usando a aceleração de hardware Intel® QAT.

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

Uma das instruções a seguir usa a opção de compactação de MS_XPRESS padrão:

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

A tabela abaixo fornece um resumo das opções BACKUP DATABASE with COMPRESSION começando com o SQL Server 2022 (16.x).

Comando de backup Descrição
BACKUP DATABASE <database_name> TO DISK Backup sem compactação ou com compactação, dependendo da configuração padrão.
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION Backup usando a configuração padrão em sp_configure.
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = MS_XPRESS) Backup com compactação usando o algoritmo MS_XPRESS.
BACKUP DATABASE <database_name> TO  DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE) Backup com compactação usando a biblioteca QATzip.

Observação

Os exemplos na tabela acima especificam DISK como destino. O destino real pode ser DISCK, TAPE ou URL.

Configurações padrão

O comportamento padrão de compactação de backup do SQL Server pode ser ajustado. Você pode alterar a configuração padrão do servidor e outras opções. Você pode habilitar ou desabilitar a aceleração de hardware, habilitar a compactação de backup como padrão e também pode alterar o algoritmo de compactação padrão usando o sp_configure.

O status dessas opções é refletido em sys.configurations (Transact-SQL). Exiba a configuração de descarregamento e aceleração com a exibição de gerenciamento dinâmico sys.dm_server_accelerator_status (Transact-SQL).

A configuração backup compression algorithm altera o padrão do algoritmo de compactação de backup para compactação de backup. Alterar essa opção alterará o algoritmo padrão quando o algoritmo não for especificado no comando BACKUP ... WITH COMPRESSION.

Você pode exibir as configurações padrão atuais para a compactação de backup em sys.configurations (Transact-SQL), por exemplo:

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

Para alterar essas definições de configuração, use o procedimento armazenado do sistema sp_configure (Transact-SQL). Por exemplo:

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

Nenhuma reinicialização do SQL Server é necessária para que essa alteração entre em vigor.

A configuração backup compression algorithm define o algoritmo de compactação padrão. Para definir o Intel® QAT como o algoritmo de compactação padrão para o SQL Server, use o seguinte script:

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

Use o seguinte script a fim de retornar o algoritmo de compactação padrão para o padrão:

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

Nenhuma reinicialização do SQL Server é necessária para que essa alteração entre em vigor.

Operações de restauração

Os metadados do arquivo de backup identificam se o backup do banco de dados está compactado e qual algoritmo foi usado para compactar o backup.

Use RESTORE HEADERONLY para exibir o algoritmo de compactação. Veja Instruções RESTORE – HEADERONLY (Transact-SQL).

Observação

Se a opção de configuração HARDWARE_OFFLOAD do escopo do servidor não estiver habilitada e/ou os drivers Intel® QAT não tiverem sido instalados, o SQL Server retornará o erro 17441, (Msg 17441, Level 16, State 1, Line 175 This operation requires Intel(R) QuickAssist Technology (QAT) libraries to be loaded.)

Para restaurar um backup compactado QAT da Intel®, os assemblies corretos devem ser carregados na instância do SQL Server iniciando a operação de restauração. Não é necessário ter hardware QAT para restaurar backups compactados QAT. No entanto, para restaurar backups QAT requer o seguinte:

  • O driver QAT precisa ser instalado no computador
  • O descarregamento de hardware precisa ser habilitado (sp_configure 'hardware offload enabled', 1;)
  • A configuração da instância do SQL Server deve ter ALTER SERVER CONFIGURATION SET HARDWARE_OFFLOAD ON (ACCELERATOR = QAT) definida conforme descrito anteriormente.

Os backups QAT realizados no modo HARDWARE podem ser restaurados no modo SOFTWARE e vice-versa.

Histórico de backup

Você pode exibir o algoritmo de compactação e o histórico de todas as operações de backup e restauração do SQL Server em uma instância na tabela do sistema backupset (Transact-SQL). Uma nova coluna foi adicionada a essa tabela do sistema para o SQL Server 2022 (16.x), compression_algorithm, que indica MS_EXPRESS ou QAT_DEFLATE, por exemplo.

Início do serviço - após a configuração

Depois de configurar a aceleração e o descarregamento integrados, sempre que o serviço SQL Server for iniciado, o processo do SQL Server procurará a biblioteca de software de espaço de usuário necessária que faz interface com a API do driver de dispositivo de aceleração de hardware e carrega os assemblies de software, se estiverem disponíveis. Para o acelerador Intel® QAT, a biblioteca de espaço do usuário é QATzip. Esta biblioteca fornece muitos recursos. A biblioteca de software QATzip é uma API de software de espaço do usuário que pode fazer interface com a API do driver do kernel QAT. Ele é usado principalmente por aplicativos que estão procurando acelerar a compactação e descompactação de arquivos usando um ou mais dispositivos Intel® QAT.

No caso do sistema operacional Windows, há uma biblioteca de software complementar ao QATzip, a Intel Intelligent Storage Library (ISA-L). Isso serve como um mecanismo de fallback de software para o QATzip no caso de falha de hardware e uma opção baseada em software quando o hardware não está disponível.

Observação

A indisponibilidade de um dispositivo de hardware Intel® QAT não impede que as instâncias executem operações de backup ou restauração usando o algoritmo QAT_DEFLATE. Se o dispositivo físico não estiver disponível, o algoritmo de software será aproveitado como uma solução de fallback.

Próximas etapas