Considérations sur la résilience des applications

Cette page décrit la résilience des applications pour Google Cloud NetApp Volumes et explique comment les clients NFS, SMB et iSCSI gèrent les pauses d'E/S. Bien que NetApp Volumes soit disponibilité élevée, les opérations d'E/S peuvent être brièvement mises en pause lors d'une maintenance planifiée ou d'événements de service non planifiés. Cette page recommande également des paramètres de délai avant expiration pour garantir le bon fonctionnement des applications, en particulier lorsque vous utilisez des logiciels de cluster tels que Pacemaker.

Considérations concernant la résilience des applications

Bien que NetApp Volumes soit disponibilité élevée, les événements de maintenance planifiés tels que les mises à jour de la plate-forme, les mises à niveau de service, les mises à niveau logicielles ou les défaillances de composants non planifiées dans le service peuvent entraîner de brèves pauses dans les opérations d'entrée et de sortie (E/S).

Pour en savoir plus sur les événements de maintenance planifiés et les pannes de service non planifiées, consultez Surveiller et planifier un événement de maintenance.

Pauses d'E/S

Le logiciel client Network File System (NFS), Server Message Block (SMB) et iSCSI de votre système d'exploitation gère les courtes pauses d'E/S. Le client attend et relance les opérations d'E/S sans signaler le problème à l'application. Ces courtes pauses sont considérées comme non perturbatrices, car même si les utilisateurs de l'application peuvent constater des temps de réponse plus longs, l'application ne signale pas d'erreurs d'E/S.

Pour les pauses d'E/S plus longues, le comportement dépend du client NFS, SMB ou iSCSI de votre système d'exploitation et des délais avant expiration potentiels configurés dans l'application. Les sections suivantes décrivent les détails spécifiques au protocole pour les pauses d'E/S.

Pauses d'E/S NFS

Tous les appels à un partage NFS non disponible et installé en dur sont bloqués dans le client NFS et attendent indéfiniment que le serveur NFS réponde à nouveau. Pendant que votre client NFS attend, des messages indiquant que le serveur NFS ne répond pas s'affichent dans vos journaux clients.

Du point de vue de l'application, les opérations d'E/S telles que la lecture ou l'écriture sont bloquées et restent en attente jusqu'à ce que le partage NFS soit rétabli. Pendant les pauses d'E/S, aucune opération d'E/S n'est jamais perdue et NetApp Volumes garantit la cohérence des données, sauf si vous arrêtez de force les opérations d'E/S en attente côté client.

Utiliser des applications logicielles de cluster pour automatiser les basculements

Si vous utilisez des applications logicielles de cluster telles que Pacemaker sur les VM clientes pour automatiser le basculement de votre application, configurez vos délais avant expiration pour les partages NFS afin de résister aux événements de maintenance de NetApp Volumes. Ces basculements abandonnent les opérations d'E/S en attente sur le client et peuvent entraîner des pertes de transactions. Nous vous recommandons les délais avant expiration suivants :

Type de protocole Délai avant expiration recommandé Remarques
Partages NFSv3 60 secondes (pour les niveaux de service unifiés Standard, Premium, Extreme et Flex)

120 secondes (pour le niveau de service Flex File)
Nous vous recommandons d'utiliser une méthode de protection, qui utilise l'option de montage nolock au lieu de s'appuyer sur les verrous NFS.
NFSv4.1 105 secondes (pour les niveaux de service unifiés Standard, Premium, Extreme et Flex)

165 secondes (pour le niveau de service Flex File)
Le protocole NFSv4.1 ajoute automatiquement un verrouillage fiable sur NFSv3 (RFC NFSv4.x, section 9.6.2), que vous pouvez utiliser comme mécanisme de protection. La récupération de l'état de verrouillage ajoute 45 secondes supplémentaires.

Pauses d'E/S de partage SMB

Contrairement à NFS, les sessions SMB utilisent une connexion qui peut expirer. NetApp Volumes évite généralement les délais avant expiration.

Délais avant expiration de la session

Le délai avant expiration de la session est défini sur le client. Le délai avant expiration par défaut pour les clients Windows est de 60 secondes. Vous pouvez exécuter la commande Get-SmbClientConfiguration/Set-SmbClientConfiguration à l'aide du paramètre SessionTimeout pour lire ou modifier le délai avant expiration de la session.

Si un délai avant expiration de la session se produit, la session SMB s'interrompt et une erreur d'E/S est signalée à l'application qui effectue l'E/S. L'Explorateur de fichiers ou les applications Microsoft 365 se reconnectent généralement dès que l'utilisateur accède à nouveau au partage SMB. En cas d'erreurs d'E/S, certaines applications tentent de se reconnecter et de réessayer l'opération d'E/S ayant échoué, tandis que d'autres ne le font pas. Consultez la documentation du fournisseur de votre application pour comprendre comment l'application gère les délais avant expiration SMB et fonctionne de manière résiliente sur les partages SMB.

Les partages disponibles en continu (CA) sont une fonctionnalité SMB3.x qui améliore la résilience du basculement pour les applications de type base de données. NetApp Volumes est compatible avec les partages disponibles en continu pour Microsoft SQL Server et FSLogix.

La récupération en cas d'échec s'améliore avec chaque nouvelle version de SMB. NetApp Volumes est compatible avec SMB 2.1, 3.0 et 3.1.1. Si possible, utilisez la dernière version SMB compatible. Windows 10/Server 2016 et versions ultérieures sont compatibles avec la dernière version SMB 3.1.1.

Précautions basées sur les applications SMB

Certaines applications basées sur SMB nécessitent le basculement transparent SMB. Le basculement transparent SMB permet d'effectuer des opérations de maintenance sur les volumes SMB dans NetApp Volumes sans interrompre la connectivité aux applications serveur qui stockent les données ou y accèdent. NetApp Volumes est compatible avec l'option de partage disponible en continu SMB pour s'assurer que des applications spécifiques sont compatibles avec le basculement transparent SMB. L'utilisation de partages disponibles en continu SMB n'est compatible qu'avec les charges de travail suivantes :

  • Conteneurs de profils utilisateur FSLogix

  • Microsoft SQL Server (et non Linux SQL Server)

Les partages disponibles en continu SMB ne sont pas compatibles avec les applications personnalisées.

Pauses d'E/S iSCSI

Dans les environnements Linux et Windows, les clients iSCSI (initiateurs) gèrent les pauses d'E/S en réessayant les commandes jusqu'à ce que la cible (NetApp Volumes) devienne disponible. Lors de courts événements de maintenance, l'initiateur iSCSI tente de se reconnecter et de reprendre les opérations d'E/S en attente, ce qui contribue à maintenir la résilience de l'application.

Délais avant expiration iSCSI

Une configuration appropriée des délais avant expiration iSCSI est essentielle pour maintenir la résilience des applications lors d'événements de maintenance ou d'interruptions de service inattendues.

Pour les systèmes Linux, NetApp Volumes utilise les paramètres d'initiateur iSCSI par défaut. Ces paramètres incluent des configurations spécifiques à NetApp dans le mappeur de périphériques Linux par défaut, qui gère automatiquement les exigences de délai avant expiration lors des événements de maintenance de NetApp Volumes.

Toutefois, pour les systèmes Windows, modifiez les paramètres MPIO Windows à l'aide de la commande suivante pour gérer les événements de maintenance de NetApp Volumes.

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

Pendant les pauses d'E/S, l'initiateur iSCSI réessaye les commandes et maintient les E/S en attente pendant la durée du délai avant expiration. Si le délai avant expiration est dépassé, le système d'exploitation peut signaler des erreurs d'E/S à l'application, ce qui peut entraîner des pertes de transactions ou nécessiter une récupération au niveau de l'application.

Considérations concernant les applications et les clusters

Si vous utilisez des logiciels de clustering ou des applications qui automatisent le basculement, configurez vos délais avant expiration iSCSI pour tenir compte des événements de maintenance de NetApp Volumes. Un basculement prématuré peut abandonner les opérations d'E/S en attente et entraîner une perte de données ou de transactions. Reportez-vous toujours à la documentation de votre application et de votre système d'exploitation pour connaître les bonnes pratiques concernant les paramètres de délai avant expiration iSCSI.

Des événements de maintenance planifiés, comme pour les mises à niveau de la plate-forme et les mises à niveau logicielles de service, peuvent se produire de temps en temps. Les événements de maintenance sont considérés comme non perturbateurs du point de vue d'un protocole de fichier (NFS ou SMB), tant que l'application peut gérer les pauses d'E/S qui peuvent se produire lors de ces événements.

Pour les niveaux de service Standard, Premium et Extreme, les pauses d'E/S sont généralement courtes et durent de quelques secondes à 30 secondes.

Pour le niveau de service Flex, les pauses d'E/S peuvent durer jusqu'à 70 secondes.

Pour en savoir plus sur l'impact de ces événements de maintenance sur les états des pools de stockage, consultez États des pools de stockage.

Étape suivante

Découvrez les considérations de sécurité concernant Google Cloud NetApp Volumes security considerations.