Utilisez F5 DNS pour équilibrer la charge globale de StorageGRID.
Par Steve Gorman (F5)
Ce rapport technique fournit des instructions détaillées pour configurer NetApp StorageGRID avec les services DNS F5 pour l'équilibrage de charge global afin d'offrir une meilleure disponibilité des données, une plus grande cohérence des données et d'optimiser le routage des transactions S3 lorsque votre grille est distribuée sur plusieurs sites et/ou groupes HA.
Introduction
La solution F5 BIG-IP DNS, anciennement appelée BIG-IP GTM (Global Traffic Manager) et GSLB (Global Server Load Balancing), permet un accès transparent à travers plusieurs groupes HA actifs-actifs et des solutions StorageGRID multisites actives-actives.
Configuration F5 BIG-IP StorageGRID multisite
Quel que soit le nombre de sites StorageGRID à prendre en charge, au moins deux appliances BIG-IP, physiques ou virtuelles, doivent avoir le module DNS BIG-IP activé et configuré. Plus une entreprise dispose de serveurs DNS, plus son degré de redondance sera élevé.
BIG-IP DNS - Premiers pas de la configuration initiale
Une fois que l'appliance BIG-IP a subi au moins la configuration initiale, utilisez un navigateur Web pour vous connecter à l'interface TMUI (interface graphique BIG-IP) et choisissez Système → Provisionnement des ressources. Comme indiqué, assurez-vous que le module « Trafic global (DNS) » est coché et qu’il est bien sous licence. Notez, comme sur l'image, qu'il est courant que le « trafic local (LTM) » puisse être provisionné sur le même appareil.

Configurer les éléments fondamentaux du protocole DNS
La première étape vers la gestion du trafic global pour les sites StorageGRID consiste à choisir l'onglet DNS, où sera configurée la quasi-totalité du routage du trafic global, puis à sélectionner Paramètres → GLSB. Activez les deux options de synchronisation et choisissez un nom de groupe DNS qui sera partagé entre les appliances BIG-IP participantes.

Ensuite, accédez à DNS > Distribution > Profils > DNS : Créer et créez un profil qui gérera les fonctionnalités DNS que vous souhaitez activer ou désactiver. Consultez le lien précédent pour accéder au guide pédagogique DNS si la génération de journaux DNS spécifiques vous intéresse. Voici un exemple de profil DNS fonctionnel ; notez les quatre éléments mis en évidence qui représentent des paramètres importants. Pour plus d'informations, chaque configuration possible est expliquée dans l'article suivant de la base de connaissances F5. "ici".

À ce stade, nous pouvons ajuster les caractéristiques des protocoles UDP et TCP, grâce à des « profils » créés, qui peuvent tous deux transporter du trafic DNS impliquant BIG-IP. Il suffit de créer un nouveau profil pour UDP et TCP. Partant du principe que le trafic DNS transitera par des liaisons WAN, une bonne pratique consiste simplement à hériter des caractéristiques UDP et TCP reconnues pour leurs bonnes performances dans les environnements WAN. Pour ajouter chaque protocole, cliquez simplement sur l'icône « + » située à côté de celui-ci, puis définissez le profil parent comme suit :
UDP → utiliser le profil « parent » « udp_gtm_dns »
TCP → utiliser le profil « parent » « f5-tcp-wan »

Il nous suffit maintenant d'attribuer une adresse IP au trafic UDP et TCP impliquant le DNS BIG-IP. Pour ceux qui connaissent BIG-IP LTM, il s'agit essentiellement de la création de serveurs virtuels DNS, et les serveurs virtuels ont besoin d'adresses IP « d'écoute ». Comme indiqué dans la capture d'écran, suivez les flèches pour créer des serveurs d'écoute/virtuels pour DNS/UDP et DNS/TCP.

Voici un exemple tiré d'un serveur DNS BIG-IP en production ; on y voit les paramètres d'écoute du serveur virtuel TCP et on peut constater comment ils relient plusieurs des étapes précédentes. Cela inclut la référence au profil DNS et au profil de protocole (TCP), ainsi que la configuration d'une adresse IP valide que le DNS pourra utiliser. Comme pour tous les objets créés avec BIG-IP, il est utile d'utiliser un nom significatif qui permette d'identifier l'objet, comme dns/siteb/TCP53 dans l'exemple donné.

Ceci conclut les étapes préliminaires, généralement « uniques », de configuration d'un dispositif BIG-IP avec le module DNS activé. Nous sommes maintenant prêts à aborder les détails de la mise en place d'une solution globale de gestion du trafic avec nos appliances, qui sera bien sûr liée aux caractéristiques des sites StorageGRID .
Mise en place de sites de centres de données et établissement de communications inter-BIG-IP en quatre étapes
Première étape : Créer des centres de données
Chaque site qui hébergera des groupes de nœuds à équilibrer localement la charge par BIG-IP LTM doit être enregistré dans le DNS BIG-IP. Cette opération ne doit être effectuée que sur un seul serveur DNS BIG-IP, car nous créons un groupe DNS synchronisé pour la gestion du trafic ; cette configuration sera donc partagée entre les membres DNS du groupe.
Dans l'interface graphique TMUI, sélectionnez DNS > GSLB > Centres de données > Liste des centres de données et créez une entrée pour chacun des sites StorageGRID . Si vous utilisez une configuration réseau alignée sur la figure 1, un dispositif DNS situé sur d'autres sites non StorageGRID , ajoutez des centres de données pour ces sites en plus des sites de stockage. Dans cet exemple, les sites a et b sont créés dans l'Ohio et l'Oregon, les BIG-IP sont des appliances double DNS et LTM.

Deuxième étape : Créer des serveurs (Liste de tous les équipements BIG-IP de la solution)
Nous sommes maintenant prêts à connecter les clusters de sites StorageGRID individuels à la configuration DNS BIG-IP. Rappelons que le dispositif BIG-IP de chaque site effectuera l'équilibrage de charge réel du trafic S3, grâce à la configuration de serveurs virtuels qui lient une adresse IP/port accessible « front-end » à un ensemble de « pool » de dispositifs Storage Node « back-end », en utilisant des adresses IP/ports « back-end ».
Si, par exemple, tous les nœuds de stockage d'un pool sont mis hors ligne administrativement, peut-être pour la mise hors service d'un site, ou de manière inattendue suite à des contrôles d'intégrité en temps réel ayant échoué, le trafic sera dirigé vers d'autres sites en modifiant les réponses aux requêtes DNS.
Pour intégrer les sites StorageGrid, et plus précisément les serveurs virtuels locaux, à la configuration DNS BIG-IP sur chaque appliance, la configuration n'est nécessaire qu'une seule fois. L'ensemble des appliances DNS BIG-IP seront configurées dans une prochaine étape.
En termes simples, nous allons créer une liste, appelée liste de serveurs, de tous nos équipements BIG-IP, qu'ils soient sous licence pour DNS, LTM ou les deux (DNS et LTM). Cette liste principale sera synchronisée avec tous les équipements DNS BIG-IP une fois la liste complétée.
Sur un appareil BIG-IP DNS sous licence, choisissez DNS > GSLB > Serveurs > Liste des serveurs et choisissez le bouton ajouter (+).

Les quatre éléments clés lors de l'ajout de chaque BIG-IP sont les suivants : * Sélectionner BIG-IP dans le menu déroulant des produits ; d'autres équilibreurs de charge sont possibles, mais ils manquent généralement de réactivité en temps réel lorsque l'état des nœuds backend se détériore sur chaque site. Ajoutez l'adresse IP du serveur DNS BIG-IP. Lors du premier ajout d'un serveur DNS BIG-IP, l'adresse sera probablement celle du serveur accessible via l'interface graphique ; pour les serveurs suivants, il s'agira des autres serveurs de la solution. * Choisissez un moniteur d'intégrité, utilisez toujours « BIG-IP » lorsque l'équilibreur de charge ajouté est un dispositif BIG-IP, pour tenir compte de l'intégrité du nœud StorageGRID en arrière-plan. * En option, demandez la découverte automatique du serveur virtuel si l'appliance est une appliance double DNS/LTM.

Dans certaines situations, comme des problèmes de réseau transitoires ou des règles ACL de pare-feu entre les emplacements du réseau, lors de l'ajout d'un dispositif distant à ce stade, la découverte du serveur virtuel peut ne pas afficher les entrées pour les dispositifs distants avec LTM configuré. Dans de tels cas, après avoir ajouté le nouvel appareil (« serveur »), on peut ajouter manuellement les serveurs virtuels comme indiqué ci-dessous. Si vous ajoutez un dispositif BIG-IP DNS uniquement, aucun serveur virtuel ne sera découvert ni ajouté à ce dispositif.

Nous devons ajouter ces entrées de serveur pour chaque appareil de notre solution sur tous les sites, y compris les appareils BIG-IP DNS, les appareils BIG-IP LTM et tous les appareils assurant les rôles à la fois d'unités DNS et LTM.
Troisième étape : Établir la confiance entre tous les équipements BIG-IP
Dans l'exemple suivant, quatre appareils ont été ajoutés en tant que serveurs ; ils sont répartis sur deux sites. Notez que chaque site dispose d'un serveur DNS BIG-IP et d'un serveur LTM BIG-IP dédiés. Cependant, tous les appareils, à l'exception de celui sur lequel je suis actuellement connecté, affichent des icônes bleues dans la colonne « État ». Cela signifie qu'une relation de confiance n'a pas encore été établie avec les autres appliances BIG-IP.

Pour ajouter de la confiance, connectez-vous en SSH au BIG-IP où les détails de configuration viennent d'être saisis via l'interface graphique, et utilisez le compte « root » pour accéder à l'interface de ligne de commande du BIG-IP. Saisissez la commande unique suivante à l'invite : bigip_add
La commande « bigip_add » récupère le certificat de gestion des périphériques BIG-IP de destination afin de l'utiliser lors de la configuration du canal chiffré « iQuery » entre les serveurs GSLB du cluster. Par défaut, iQuery utilise le port TCP 4353 et sert de signal de synchronisation permettant aux membres DNS BOG-IP de rester synchronisés. Il utilise XML et gzip dans le canal chiffré. Lorsque vous exécutez la commande « bigip_add » sans aucune option, elle sera exécutée sur tous les périphériques BIGIP de la liste des serveurs GSLB en utilisant le nom d'utilisateur actuel pour se connecter aux points de terminaison. Pour vérifier rapidement que tout a bien fonctionné, retournez simplement à l'interface graphique de BIG-IP et assurez-vous que tous les serveurs possèdent désormais des certificats listés dans le menu déroulant affiché.

Étape 4 : Synchroniser tous les appliances DNS BIG-IP avec le groupe DNS
La dernière étape permettra de configurer entièrement tous les équipements DNS BIG-IP en utilisant simplement l'interface graphique TMUI d'une seule unité. Dans un cas concret, où il existe deux sites StorageGRID , cela signifie désormais utiliser SSH pour accéder à la ligne de commande du DNS BIG-IP de l'autre site. Après vous être connecté en tant que root et avoir vérifié que les règles de pare-feu/ACL autorisent les deux périphériques BIG-IP DNS à communiquer sur les ports TCP 22 (SSH), 443 (HTTPS) et 4354 (protocole F5 iQuery), saisissez la commande suivante à l'invite : gtm_add <adresse IP du premier serveur BIG-IP DNS du site où toutes les étapes de l'interface graphique ont été effectuées précédemment>
À ce stade, toute configuration DNS supplémentaire peut être effectuée sur n'importe quel dispositif DNS BIG-IP ajouté au groupe. La commande ci-dessus, gtm_add, n'a pas besoin d'être appliquée aux membres de l'appliance qui sont uniquement LTM. Seuls les appareils prenant en charge le DNS nécessitent cette commande pour faire partie du groupe DNS synchronisé.
Mise en place de sites de centres de données et établissement de communications inter-BIG-IP
À ce stade, toutes les étapes nécessaires à la création du groupe d'appliances DNS BIG-IP sous-jacent et sain sont terminées. Nous pouvons maintenant procéder à la création de noms, FQDN, qui pointent vers nos services web/S3 distribués exposés dans chaque centre de données StorageGRID .
Ces noms sont appelés « Wide IPs », ou WIP en abrégé, et ce sont des noms de domaine pleinement qualifiés (FQDN) DNS normaux avec des enregistrements de ressources DNS de type A. Cependant, au lieu de pointer vers un serveur comme un enregistrement de ressource A traditionnel, ils pointent en interne vers des pools de serveurs virtuels BIG-IP. Chaque pool peut, individuellement, être constitué d'un ou plusieurs serveurs virtuels. Un client S3 demandant une résolution d'adresse IP vers un nom recevra l'adresse du serveur virtuel S3 sur le site StorageGRID optimal sélectionné par la politique.
En bref : adresses IP étendues, pools et serveurs virtuels
Pour donner un exemple simple et fictif, un WIP pour le nom storage.quantumvault.com pourrait voir la solution DNS BIG-IP liée à deux pools de serveurs virtuels potentiels. Le premier groupe pourrait être composé de 4 sites en Amérique du Nord ; le second groupe pourrait être composé de 3 sites en Europe.
Le choix du pool sélectionné pourrait résulter d'une série de décisions politiques ; un simple ratio de 5:1 pourrait par exemple être utilisé pour diriger la majeure partie du trafic vers les sites StorageGRID nord-américains. Plus probablement, un choix basé sur la topologie où le pool est choisi de telle sorte que, par exemple, tout le trafic S3 d'origine européenne soit dirigé vers des sites européens, et le reste du trafic S3 mondial vers des centres de données nord-américains.
Une fois qu'un pool est trouvé par BIG-IP DNS, supposons que le pool nord-américain ait été sélectionné, l'enregistrement de ressource DNS A réel renvoyé pour résoudre storage.quantumvault.com peut être l'un des 4 serveurs virtuels pris en charge par BIG-IP LTM dans l'un des 4 sites nord-américains. Là encore, le choix est guidé par des politiques ; des approches « statiques » simples comme Round-Robin existent, tandis que des sélections « dynamiques » plus avancées, telles que des sondes de performance pour mesurer la latence de chaque site à partir des résolveurs DNS locaux, sont maintenues et utilisées comme critères de sélection des sites.
Pour configurer un pool de serveurs virtuels sur un BIG-IP DNS, suivez le chemin de menu DNS > GSLB > Pools > Pool List > Add (+). Dans cet exemple, nous pouvons voir que différents serveurs virtuels nord-américains sont ajoutés à un pool et que l'approche privilégiée en matière d'équilibrage de charge, lorsque ce pool est sélectionné, est choisie de manière hiérarchisée.

Nous ajoutons le WIP (Wide IP), le nom de notre service qui sera résolu par DNS, à un déploiement en suivant DNS > GSLB > Wide IPs > Liste des Wide IP > Créer (+). Dans l'exemple suivant, nous fournissons un exemple de travail en cours pour un service de stockage compatible S3.

Ajuster le DNS pour prendre en charge la gestion du trafic global
À ce stade, tous nos équipements BIG-IP sous-jacents sont prêts à effectuer le GSLB (équilibrage de charge global des serveurs). Il nous suffit d'ajuster et d'attribuer les noms utilisés pour les flux de trafic S3 pour tirer parti de la solution. L'approche générale consiste à déléguer une partie d'un domaine DNS existant d'une entreprise au contrôle de BIG-IP DNS. Cela revient à « découper » une section de l'espace de noms, un sous-domaine, et à déléguer le contrôle de ce sous-domaine aux appliances DNS BIG-IP. Techniquement, cela se fait en s'assurant que les appliances DNS BIG-IP possèdent des enregistrements de ressources DNS de type A (RR) dans le DNS de l'entreprise, puis en faisant de ces noms/adresses des enregistrements de ressources DNS de serveur de noms (NS) pour le domaine délégué.
Il existe aujourd'hui différentes manières pour les entreprises de gérer leur DNS, dont une solution entièrement hébergée. Un exemple de ceci serait l'exploitation et la gestion du DNS via Windows Server 2025. Une autre solution consiste pour une entreprise à tirer parti de fournisseurs de DNS cloud comme AWS Route53 ou Squarespace.
Voici un exemple fictif à titre d'illustration. Nous disposons StorageGRID prenant en charge la lecture et l'écriture d'objets via le protocole S3 avec un domaine existant géré par AWS Route53 ; le domaine d'exemple existant est f5demo.net.
Nous souhaiterions attribuer le sous-domaine engineering.f5demo.net aux appliances DNS BIG-IP pour la gestion du trafic global. Pour ce faire, nous créons un nouvel enregistrement de ressource NS (serveur de noms) pour engineering.f5demo.net et le faisons pointer vers la liste des noms d'appliances DNS BIG-IP. Dans notre exemple, nous avons deux appliances DNS BIG-IP, et nous créons donc deux enregistrements de ressources A pour chacune d'elles.

Nous allons maintenant, à titre d'exemple, configurer un Wide IP (WIP) dans notre DNS BIG-IP. Étant donné que le DNS utilise la synchronisation de groupe, nous n'avons besoin de l'ajuster qu'à l'aide de l'interface graphique d'un seul appareil. Dans l'interface graphique DNS de BIG-IP, accédez à DNS > GSLB > Wide IPs > Wide IP List (+). Rappelons que, dans une configuration DNS FQDN traditionnelle, on entrerait une ou plusieurs adresses IPv4 ; dans notre cas, nous pointons simplement vers un ou plusieurs pools de serveurs virtuels StorageGRID .

Dans notre exemple, nous avons des serveurs web HTTPS génériques situés à la fois dans l'Ohio et dans l'Oregon. Avec une simple approche de type « round robin », nous devrions pouvoir voir le DNS global répondre aux requêtes concernant les mappages d'enregistrements de ressources A pour www.wip.engineering.f5demo.net avec les deux adresses IP du serveur virtuel.

Un test simple peut être effectué avec des navigateurs web ou, dans le cas de S3 utilisant StorageGRID, éventuellement avec des outils graphiques comme S3Browser. Chaque requête DNS verra le prochain site de centre de données du pool utilisé comme cible pour le trafic suivant, en raison de notre choix de Round Robin au sein du pool.
Dans notre exemple de configuration, nous pouvons utiliser dig ou nslookup pour générer rapidement une série de deux requêtes DNS et nous assurer que BIG-IP DNS effectue bien un équilibrage de charge round robin, ce qui permet aux deux sites de recevoir du trafic au fil du temps.

Exploration suggérée pour des techniques plus avancées
L'une des nombreuses approches possibles consisterait à utiliser le mode « Disponibilité globale » plutôt que le simple exemple de « Round Robin » donné ci-dessus. Avec la disponibilité globale, l'ordre séquentiel des pools, ou des serveurs virtuels au sein d'un seul pool, peut recevoir du trafic dirigé vers celui-ci. De cette manière, tout le trafic S3 pourrait, par défaut, être dirigé vers, par exemple, un site situé à New York.
Si les contrôles d'intégrité indiquent un problème de disponibilité des nœuds StorageGRID sur ce site, le trafic pourrait alors être redirigé vers Saint-Louis. Si Saint-Louis rencontrait des problèmes sanitaires, un site à Francfort pourrait alors commencer à recevoir des transactions de lecture ou d'écriture S3. Ainsi, la disponibilité globale est une approche de la résilience globale de la solution S3 StorageGRID . Une autre approche consiste à combiner différentes méthodes d'équilibrage de charge, en utilisant une approche par paliers.

Dans cet exemple, l'option « dynamique » est le premier choix d'équilibrage de charge pour les sites du pool configuré. Dans l'exemple présenté, une approche de mesure continue utilisant un sondage actif des performances du résolveur DNS local est maintenue et sert de catalyseur pour la sélection du site. Si cette approche n'est pas possible, les sites individuels peuvent être sélectionnés en fonction du ratio attribué à chacun. Grâce à ce ratio, les sites StorageGRID plus grands et à bande passante plus élevée peuvent recevoir plus de transactions S3 que les sites plus petits. Enfin, dans le cadre d'un scénario de reprise après sinistre, si tous les sites du pool deviennent défaillants, l'adresse IP de secours spécifiée est utilisée comme site de dernier recours. L'une des méthodes d'équilibrage de charge les plus intéressantes de BIG-IP DNS est la « topologie », selon laquelle la source entrante des requêtes DNS, le résolveur DNS local de l'utilisateur S3, est observée et, à l'aide des informations de topologie Internet, le site apparemment le plus « proche » est sélectionné dans le pool.
Enfin, si les sites sont répartis sur l'ensemble du globe, il peut être judicieux d'envisager l'utilisation de la technologie de « sonde » dynamique décrite en détail dans le manuel DNS F5 BIG-IP. Grâce aux sondes, il est possible de surveiller les sources fréquentes de requêtes DNS, par exemple un partenaire commercial dont le trafic utilise généralement le même résolveur DNS local. Les sondes DNS BIG-IP peuvent être lancées depuis le BIG-IP LTM dans chaque site du monde entier, afin de déterminer de manière générale quel site potentiel serait susceptible d'offrir la latence la plus faible pour les transactions S3. De ce fait, le trafic en provenance d'Asie pourrait être mieux pris en charge par les sites StorageGRID asiatiques que par les sites situés en Amérique du Nord ou en Europe.
Conclusion
L'intégration de F5 BIG-IP avec NetApp StorageGRID répond aux défis techniques liés à la disponibilité et à la cohérence des données sur plusieurs sites et à l'optimisation du routage des transactions S3. Le déploiement de cette solution améliore la résilience, les performances et la fiabilité du stockage, ce qui la rend idéale pour les entreprises à la recherche d'une infrastructure de stockage robuste, évolutive et flexible.