Serveurs de fichiers sur Compute Engine

Un serveur de fichiers, également appelé serveur de stockage, permet aux applications de lire et de mettre à jour les fichiers partagés sur plusieurs machines. Certaines solutions de fichiers offrent une évolutivité verticale, et consistent en un espace de stockage associé à une seule VM. D'autres offrent une évolutivité horizontale, et consistent en un cluster de VM auxquelles un espace de stockage est associé et qui indiquent un seul espace de noms de système de fichiers aux applications.

Bien que certains systèmes de fichiers fassent appel à un client POSIX natif, de nombreux serveurs de fichiers exécutent un protocole qui permet aux machines clientes d'installer un système de fichiers et d'accéder aux fichiers comme s'ils étaient hébergés en local. Les protocoles les plus couramment employés pour l'exportation de partages de fichiers sont NFS (Network File System) pour Linux, et CIFS (Common Internet File System) ou SMB (Server Message Block) pour Windows.

Cette solution décrit les options suivantes pour le partage de fichiers :

Disques persistants Compute Engine et disques SSD locaux

Solutions de serveur de fichiers gérées :

Solutions de serveur de fichiers compatibles avec Google Cloud Marketplace :

Un facteur sous-jacent des performances et de la prévisibilité de tous les services Google Cloud est la pile réseau sur laquelle Google a évolué au fil des ans. Avec la structure Jupiter, Google a mis en place une pile réseau robuste, évolutive et stable qui peut continuer à évoluer sans que cela n'affecte vos charges de travail. Au fur et à mesure que Google améliore et renforce ses capacités réseau en interne, votre solution de partage de fichiers bénéficie de performances supplémentaires. Pour en savoir plus sur la structure Jupiter, consultez l'article de 2015 décrivant son évolution.

Google Cloud possède une fonctionnalité qui peut vous aider à tirer le meilleur parti de votre investissement, à savoir la possibilité de spécifier des types de VM personnalisés. Lorsque vous choisissez la taille de votre serveur de fichiers, vous pouvez sélectionner la combinaison adéquate de mémoire et de processeur, afin qu'il offre des performances optimales sans excès.

En outre, il est important que vous choisissiez la capacité correcte de disques persistants Compute Engine et le nombre approprié de processeurs virtuels afin de garantir que les périphériques de stockage de votre serveur de fichiers reçoivent les IOPS et la bande passante de stockage, ainsi que la bande passante réseau, qui sont requis. Une VM reçoit un débit réseau de deux Go/s pour chaque processeur virtuel (dans la limite de la valeur maximale définie). Pour régler le disque persistant, consultez la page Optimiser les performances des disques persistants et des disques SSD locaux.

Notez que Cloud Storage constitue également un excellent moyen de stocker des pétaoctets de données à des niveaux élevés de redondance et pour un coût modique. Toutefois, Cloud Storage a un profil de performances et une API différents de ceux des serveurs de fichiers décrits ici.

Récapitulatif des options de serveur de fichiers

Le tableau suivant récapitule les fonctionnalités des disques persistants et des options de serveur de fichiers :

Solution de serveur de fichiers Ensemble de données optimal Débit Assistance gérée Protocoles d'exportation Haute disponibilité Mixte
Filestore De 1 To à 64 To Jusqu'à 1,2 Go/s Service entièrement géré par Google NFSv3 Oui No
NetApp Cloud Volumes De 1 To à 100 To Jusqu'à 4,5 Go/s Service entièrement géré par Google et NetApp NFSv3, NFSv4, SMB2, SMB3 Oui Oui
Elastifile (racheté par Google Cloud) De dizaines de To à > 1 Po De dizaines à des centaines de Go/s Elastifile (racheté par Google Cloud) NFSv3 Oui Oui
Panzura De dizaines de To à > 1 Po Des dizaines de Go/s Panzura NFSv3, NFSv4, SMB1, SMB2, SMB3 Oui Oui
Disque persistant en lecture seule < 64 To De 240 à 1 200 Mo/s No Association directe Non No

Disques persistants Compute Engine et disques SSD locaux

Si certaines données n'ont besoin d'être accessibles que par une seule VM ou ne changent pas au fil du temps, vous pouvez peut-être recourir aux disques persistants Compute Engine et vous passer complètement d'un serveur de fichiers. Vous pouvez formater les disques persistants avec un système de fichiers tel que Ext4 ou XFS, et associer des volumes en mode lecture seule ou lecture-écriture. Cela signifie que vous pouvez d'abord associer un volume à une instance, le charger avec les données dont vous avez besoin, puis l'associer en tant que disque en lecture seule à des centaines de machines virtuelles simultanément. L'emploi de disques persistants en lecture seule ne fonctionne pas pour tous les cas d'utilisation, mais cela simplifie considérablement le processus par rapport à un serveur de fichiers.

Les disques persistants offrent des performances constantes. Tous les disques de la même taille (et ayant le même nombre de processeurs virtuels pour les disques persistants SSD) que vous associez à votre instance présentent les mêmes caractéristiques de performances. Vous n'avez pas besoin de préchauffer ou de tester les disques persistants avant de les utiliser en production.

Le coût des disques persistants est simple à déterminer, car aucun coût d'E/S n'est à prendre en compte après le provisionnement du volume. Les disques persistants peuvent également être redimensionnés à la volée, ce qui vous permet de commencer avec un faible coût et un faible volume de capacité, sans que vous ne deviez créer des instances ou des disques supplémentaires pour augmenter la capacité.

Si la capacité totale de stockage constitue la principale exigence, vous pouvez utiliser des disques persistants standards à faible coût. Pour obtenir des performances optimales tout en assurant la même durabilité, vous pouvez opter pour des disques persistants SSD.

Si les données sont éphémères et exigent une latence inférieure à une milliseconde et un nombre élevé d'opérations d'E/S par seconde (IOPS), vous pouvez exploiter jusqu'à 9 To de disques SSD locaux et ainsi bénéficier de performances extrêmes. Les disques SSD locaux fournissent une bande passante de plusieurs Go/s et des millions d'IOPS, et ce sans utiliser toute la bande passante réseau allouée à vos instances. Il est important de garder à l'esprit que les disques SSD locaux impliquent certains compromis en termes de disponibilité, de durabilité et de flexibilité.

Pour voir une comparaison des nombreux types de disques disponibles pour les instances Compute Engine, consultez la documentation relative au stockage de blocs.

Éléments à prendre en compte lors du choix d'une solution de serveur de fichiers

Le choix d'une solution de serveur de fichiers nécessite des compromis en matière de gestion, de coût, de performances et d'évolutivité. Il est plus facile de prendre une décision si la charge de travail est bien définie, ce qui n'est souvent pas le cas. Lorsque les charges de travail évoluent dans le temps ou sont très différentes, il est prudent de privilégier la flexibilité et l'élasticité à la réalisation d'économies, afin que vous puissiez développer votre solution. D'autre part, si vous avez une charge de travail temporelle et bien connue, vous pouvez créer une architecture de serveur de fichiers spécialement conçue à cet effet, qui peut facilement être détruite et reconstruite pour répondre à vos besoins immédiats de stockage.

L'une des premières décisions à prendre consiste à déterminer si vous souhaitez payer pour un service de serveur de fichiers géré, une solution de serveur de fichiers avec une assistance technique ou une solution sans assistance technique.

  • Les services de serveur de fichiers gérés sont les plus faciles à utiliser, car toutes les opérations sont gérées par Google ou par un partenaire. Ces services de serveur de fichiers peuvent même fournir un contrat de niveau de service pour la disponibilité, comme la plupart des autres services Google Cloud.
  • Les solutions non gérées mais fournissant une assistance technique offrent une flexibilité supplémentaire. Les partenaires peuvent vous aider en cas de problème, mais le fonctionnement quotidien du serveur de fichiers est du ressort de l'utilisateur.
  • Les solutions sans assistance technique nécessitent le plus d'efforts en termes de déploiement et de maintenance. C'est à l'utilisateur de résoudre tous les problèmes. Ces solutions ne sont pas traitées dans ce document.

La décision suivante consiste à déterminer les exigences de durabilité et de disponibilité du serveur de fichiers. La plupart des solutions de serveur de fichiers sont zonales et n'offrent pas de protection par défaut en cas de défaillance de la zone. Il est donc important de déterminer si une solution de reprise après sinistre protégeant contre les défaillances de zone est requise. Il est également crucial que vous compreniez les exigences de votre application en matière de durabilité et de disponibilité. Par exemple, le choix du disque SSD local ou des disques persistants dans votre déploiement a un impact important, tout comme la configuration de votre logiciel de solutions de serveur de fichiers. Chaque solution nécessite une planification minutieuse afin d'atteindre des niveaux élevés de durabilité, de disponibilité et même de protection contre les défaillances de zone et de région.

Enfin, examinez les emplacements (c'est-à-dire les zones, les régions, les centres de données sur site) d'où vous devez accéder aux données. Les emplacements des batteries de serveurs de calcul qui accèdent aux données influencent votre choix de solution de serveur de fichiers, car seules certaines solutions permettent un accès hybride sur site et dans le cloud.

Solutions de serveur de fichiers gérées

Filestore

Filestore est la solution de stockage en réseau (NAS) entièrement gérée de Google.

Il est très facile d'installer des partages de fichiers Filestore sur des VM Compute Engine. Filestore est également étroitement intégré à Google Kubernetes Engine, ce qui signifie que vos conteneurs peuvent référencer les mêmes données partagées.

Filestore propose deux niveaux de performances : Standard et Premium. Les deux niveaux offrent une performance constante et des coûts prévisibles.

Pour en savoir plus, suivez ces liens :

NetApp Cloud Volumes

Le service NetApp Cloud Volumes pour Google Cloud est un service de stockage cloud natif entièrement géré, intégré à la console Google Cloud, bénéficiant de la facturation et de l'assistance transparentes de Google.

Ce service vous permet d'installer rapidement un espace de stockage partagé persistant dans vos instances de calcul. Cet espace de stockage offre un débit élevé aux applications à faible latence, ainsi que des fonctions de protection des données solides (instantanés et copies). Avec une architecture de niveau entreprise, le service offre de hautes performances aux charges de travail séquentielles et aléatoires, qui peuvent évoluer sur des centaines, voire des milliers, d'instances de calcul Compute Engine. En quelques secondes, les volumes dont la taille varie de 1 To à 100 To peuvent être provisionnés et protégés avec des instantanés automatisés et économes en espace. Les commandes permettant d'installer les volumes créés sur des instances de calcul sont disponibles dans Cloud Console, pour une expérience utilisateur optimale.

Architecture des services NetApp Cloud Volumes

Il est inutile de réécrire les applications, car Cloud Volumes fournit les éléments compatibles avec POSIX requis par un large éventail de charges de travail basées sur les fichiers, y compris du contenu Web et rich media, utilisé dans de nombreux secteurs, tels que l'automatisation de la conception électronique (EDA), les médias et le divertissement.

Avec trois niveaux de service (Standard, Premium et Extrême) modifiables à la demande, le service Cloud Volumes pour Google Cloud offre des performances adaptées à votre charge de travail, sans affecter leur disponibilité. NetApp peut également vous aider à synchroniser vos données entre les services sur site et Cloud Volumes pour Google Cloud.

Pour en savoir plus, suivez ces liens :

Elastifile (racheté par Google Cloud)

Elastifile (racheté par Google Cloud) simplifie le stockage et la gestion des données d'entreprise sur Google Cloud et sur plusieurs clouds hybrides. Elastifile offre un accès parallèle rentable et hautement performant à des données globales tout en maintenant une cohérence stricte grâce à un système de fichiers distribué et adaptable de manière dynamique. Avec Elastifile, les applications NFS et les workflows NAS existants peuvent s'exécuter dans le cloud sans qu'une refactorisation ne soit nécessaire, en conservant cependant les avantages des services de données d'entreprise (haute disponibilité, compression, déduplication, réplication, etc.). L'intégration native à Google Kubernetes Engine permet une persistance, une portabilité et un partage transparents des données pour les charges de travail en conteneurs.

Elastifile est déployable et adaptable sur simple pression d'un bouton. Vous pouvez créer et étendre facilement et à la demande l'infrastructure du système de fichiers. Vous avez ainsi l'assurance que les performances et la capacité de stockage correspondent toujours aux exigences dynamiques du workflow. Lorsqu'un cluster Elastifile s'étend, les performances des métadonnées et des E/S évoluent de manière linéaire. Ce scaling vous permet d'améliorer et d'accélérer une large gamme de workflows consommant beaucoup de données, comme le calcul hautes performances, les analyses, l'agrégation de données intersites, DevOps, etc. Par conséquent, Elastifile convient parfaitement aux secteurs centrés sur les données, comme les sciences de la vie, l'automatisation de la conception électronique, les services financiers, les médias et le divertissement.

La fonctionnalité CloudConnect d'Elastifile permet un transfert de données précis et bidirectionnel entre tout système de fichiers POSIX et Cloud Storage. Pour optimiser les performances et réduire les coûts, CloudConnect veille à ce que les données soient compressées et dédupliquées avant le transfert, et n'envoie les modifications qu'après la synchronisation initiale des données. Dans le cadre de déploiements dans des clouds hybrides, CloudConnect permet de charger efficacement des données dans Cloud Storage à partir de n'importe quel système de fichiers NFS sur site, offrant ainsi un moyen économique d'importer des données dans Google Cloud. En cas d'utilisation dans Google Cloud, CloudConnect permet une hiérarchisation économique des données entre un système de fichiers Elastifile et Cloud Storage.

Schéma de la gestion et du stockage de données Elastifile

Pour en savoir plus, suivez ces liens :

Solutions de serveur de fichiers compatibles avec Google Cloud Marketplace

Panzura

Panzura est un leader dans la gestion de données non structurées dans le cloud. Les entreprises dans les secteurs du multimédia et du divertissement, de la génomique, des sciences de la vie, de la santé ou encore des services financiers font confiance à Panzura Freedom NAS pour regrouper leurs données en une unique source fiable dans Google Cloud, sans sacrifier les performances, ni réécrire les applications. En consolidant des données non structurées (NFS, SMB et Object) dans Google Cloud, vous pouvez accéder à toutes vos données, collaborer sur celles-ci, les analyser et les contrôler pour en vérifier la conformité.

Panzura CloudFS est au cœur de la famille de produits Freedom et consiste en un système de fichiers distribué à évolutivité horizontale conçu spécialement pour le cloud. Il intègre des services de fichiers intelligents, protégés par 26 brevets. La famille de produits Freedom vous permet de traiter les cas d'utilisation suivants rapidement et à moindre coût : migration vers le cloud, collaboration internationale, recherche et analyse.

Ensemble, Panzura liberté et Google Cloud permettent aux responsables informatiques d'effectuer les opérations suivantes :

  • Migrez des milliers d'anciennes applications vers Google Cloud sans réécrire, ni modifier les flux de travail et sans affecter les performances.
  • Éliminer la prolifération des données copiées pour la sauvegarde et le stockage secondaire en regroupant les données en une unique source de données fiable.
  • Collaborer à l'échelle mondiale sur des projets à grande échelle pour améliorer la productivité et réduire le temps de production.
  • Moderniser votre ancien NAS en réalisant une économie de 70 % et en réduisant de 90 % votre infrastructure de fichiers dans votre centre de données.
  • Réhydrater d'anciennes données sur bande pour l'analyse de données avancée et le machine learning.

En savoir plus :