Considerações sobre a resiliência de aplicativos

Esta página descreve a resiliência de aplicativos para o Google Cloud NetApp Volumes e como os clientes NFS, SMB e iSCSI lidam com pausas de E/S. Embora o NetApp Volumes tenha alta disponibilidade, as operações de E/S podem ser pausadas brevemente durante a manutenção planejada ou eventos de serviço não planejados. Esta página também recomenda configurações de tempo limite para ajudar a garantir a operação tranquila do aplicativo, especialmente quando você usa software de cluster, como o Pacemaker.

Considerações sobre a resiliência de aplicativos

Embora o NetApp Volumes tenha alta disponibilidade, eventos de manutenção planejada, como atualizações de plataforma, upgrades de serviço, upgrades de software ou falhas de componentes não planejadas no serviço, podem levar a breves pausas nas operações de entrada e saída (E/S).

Para mais informações sobre eventos de manutenção planejada e interrupções de serviço não planejadas, consulte Monitorar e planejar um evento de manutenção.

Para mais informações sobre como esses eventos de manutenção afetam os estados do pool de armazenamento, consulte Estados do pool de armazenamento.

Pausas de E/S

O software cliente do Network File System (NFS), do bloco de mensagens do servidor (SMB) e do iSCSI no sistema operacional processa pausas curtas de E/S. O cliente aguarda e tenta novamente as operações de E/S sem apresentar o problema ao aplicativo. Essas pausas curtas são consideradas não disruptivas porque, embora os usuários do aplicativo possam notar tempos de resposta mais longos, o aplicativo não informa erros de E/S.

Para pausas de E/S mais longas, o comportamento depende do cliente NFS, SMB ou iSCSI do sistema operacional e dos possíveis tempos limite configurados no aplicativo. As seções a seguir discutem detalhes específicos do protocolo para pausas de E/S.

Pausas de E/S do NFS

Todas as chamadas para um compartilhamento NFS indisponível e montado são bloqueadas no cliente NFS e aguardam indefinidamente até que o servidor NFS responda novamente. Enquanto o cliente NFS aguarda, mensagens aparecem nos registros do cliente indicando que o servidor NFS não está respondendo.

Do ponto de vista do aplicativo, as operações de E/S, como leitura ou gravação, são bloqueadas e permanecem pendentes até que o compartilhamento NFS retorne com sucesso. Durante as pausas de E/S, nenhuma operação de E/S é perdida, e o NetApp Volumes garante a consistência dos dados, a menos que você interrompa à força as operações de E/S pendentes no lado do cliente.

Usar aplicativos de software de cluster para automatizar failovers

Se você usa aplicativos de software de cluster, como o Pacemaker nas VMs do cliente para automatizar o failover do aplicativo, configure os tempos limite para compartilhamentos NFS para resistir a eventos de manutenção do NetApp Volumes. Esses failovers abortam operações de E/S pendentes no cliente e podem levar à perda de transações. Recomendamos os seguintes tempos limite:

Tipo de protocolo Tempo limite recomendado Observações
Compartilhamentos NFSv3 60 segundos (para níveis de serviço Standard, Premium, Extreme e Flex Unified)

120 segundos (para o nível de serviço Flex File)
Recomendamos que você use um método de isolamento, que usa a nolock opção de montagem em vez de depender de bloqueios NFS.
NFSv4.1 105 segundos (para níveis de serviço Standard, Premium, Extreme e Flex Unified)

165 segundos (para o nível de serviço Flex File)
O protocolo NFSv4.1 adiciona automaticamente um bloqueio confiável ao NFSv3 (RFC NFSv4.x, seção 9.6.2), que pode ser usado como um mecanismo de isolamento. A recuperação do estado de bloqueio adiciona mais 45 segundos.

Pausas de E/S de compartilhamento SMB

Ao contrário do NFS, as sessões SMB usam uma conexão que pode atingir o tempo limite. O NetApp Volumes normalmente evita tempos limite.

Tempos limite da sessão

O tempo limite da sessão é definido no cliente. O tempo limite padrão para clientes Windows é de 60 segundos. É possível executar o comando Get-SmbClientConfiguration/Set-SmbClientConfiguration usando o parâmetro SessionTimeout para ler ou alterar o tempo limite da sessão.

Se ocorrer um tempo limite da sessão, a sessão SMB será interrompida e um erro de E/S será informado ao aplicativo que está fazendo a E/S. O Explorador de Arquivos ou os aplicativos do Microsoft 365 geralmente se reconectam assim que o usuário acessa o compartilhamento SMB novamente. Ao encontrar erros de E/S, alguns aplicativos tentam se reconectar e repetir a operação de E/S com falha, enquanto outros não. Consulte a documentação do fornecedor do aplicativo para entender como ele processa tempos limite SMB e opera de maneira resiliente em compartilhamentos SMB.

Os compartilhamentos com disponibilidade contínua (CA, na sigla em inglês) são um recurso do SMB3.x que melhora a resiliência de failover para aplicativos semelhantes a bancos de dados. O NetApp Volumes oferece suporte a compartilhamentos com disponibilidade contínua para o Microsoft SQL Server e o FSLogix.

A recuperação de falhas melhora a cada nova versão do SMB. O NetApp Volumes oferece suporte ao SMB 2.1, 3.0 e 3.1.1. Se possível, use a versão mais recente do SMB. O Windows 10/Server 2016 e versões mais recentes oferecem suporte à versão mais recente do SMB 3.1.1.

Precauções baseadas em aplicativos SMB

Alguns aplicativos baseados em SMB exigem o failover transparente do SMB. O failover transparente do SMB permite operações de manutenção em volumes SMB no NetApp Volumes sem interromper a conectividade com aplicativos de servidor que armazenam e acessam dados. O NetApp Volumes oferece suporte à opção de compartilhamentos com disponibilidade contínua do SMB para garantir que aplicativos específicos ofereçam suporte ao failover transparente do SMB. O uso de compartilhamentos com disponibilidade contínua do SMB oferece suporte apenas às seguintes cargas de trabalho:

  • Contêineres de perfil de usuário do FSLogix

  • Microsoft SQL Server (não o SQL Server no Linux)

Os compartilhamentos com disponibilidade contínua do SMB não oferecem suporte a aplicativos personalizados.

Pausas de E/S do iSCSI

Em ambientes Linux e Windows, os clientes iSCSI (iniciadores) processam pausas de E/S repetindo comandos até que o destino (NetApp Volumes) fique disponível. Durante eventos de manutenção curtos, o iniciador iSCSI tenta se reconectar e retomar as operações de E/S pendentes, o que ajuda a manter a resiliência do aplicativo.

Tempos limite do iSCSI

A configuração adequada dos tempos limite do iSCSI é essencial para manter a resiliência do aplicativo durante eventos de manutenção ou interrupções de serviço inesperadas.

Para sistemas Linux, o NetApp Volumes usa as configurações padrão do iniciador iSCSI. Essas configurações incluem configurações específicas do NetApp no Linux Device Mapper Multipath padrão, que gerencia automaticamente os requisitos de tempo limite durante eventos de manutenção do NetApp Volumes.

No entanto, para sistemas Windows, modifique as configurações do MPIO do Windows usando o comando a seguir para processar os eventos de manutenção do NetApp Volumes.

 Set-MPIOSetting -NewPathVerificationState Enabled `
 -NewPDORemovePeriod 130 `
 -NewRetryCount 6 `
 -CustomPathRecovery Enabled `
 -NewPathRecoveryInterval 30 `

Durante as pausas de E/S, o iniciador iSCSI repete comandos e mantém a E/S pendente durante o tempo limite. Se o tempo limite for excedido, o sistema operacional poderá informar erros de E/S ao aplicativo, o que pode resultar em transações perdidas ou exigir recuperação no nível do aplicativo.

Considerações sobre aplicativos e clusters

Se você usa software ou aplicativos de cluster que automatizam o failover, configure os tempos limite do iSCSI para acomodar eventos de manutenção do NetApp Volumes. O failover prematuro pode abortar operações de E/S pendentes e resultar em perda de dados ou transações. Sempre consulte a documentação do aplicativo e do sistema operacional para conferir as práticas recomendadas sobre as configurações de tempo limite do iSCSI.

Eventos de manutenção planejada, como upgrades de plataforma e upgrades de software de serviço, podem ocorrer ocasionalmente. Os eventos de manutenção são considerados não disruptivos do ponto de vista do protocolo de arquivo (NFS ou SMB), desde que o aplicativo possa processar as pausas de E/S que podem ocorrer durante esses eventos.

Para os níveis de serviço Standard, Premium e Extreme, as pausas de E/S são normalmente curtas e variam de alguns segundos a 30 segundos.

Para o nível de serviço Flex, as pausas de E/S são de até 70 segundos.

Para mais informações sobre como esses eventos de manutenção afetam os estados do pool de armazenamento, consulte Estados do pool de armazenamento.

A seguir

Leia sobre as considerações de segurança do Google Cloud NetApp Volumes.