Déployer un système de fichiers distribué évolutif à l'aide de Lustre

Lustre est un système de fichiers open source, parallèle et distribué utilisé pour les clusters et environnements de calcul haute performance (HPC). Le nom Lustre est un portmanteau de Linux et de cluster.

A l'aide de Lustre, vous pouvez créer un serveur de fichiers HPC sur Oracle Cloud Infrastructure Bare Metal Compute et le stockage de blocs connecté au réseau ou les SSD NVMe connectés localement aux noeuds Compute. Un modèle Terraform permet facilement de déployer Lustre sur Oracle Cloud Infrastructure.

Clusters Lustre échelle pour un débit plus élevé, une capacité de stockage plus élevée, ou les deux pour le système de fichiers. Il ne coûte que quelques cents par gigaoctet par mois pour Compute et stockage combiné.

Le modèle de déploiement Terraform fournit des ressources Oracle Cloud Infrastructure, notamment Compute, storage, réseaux cloud virtuels et sous-réseaux. Il fournit également des logiciels Lustre, y compris un serveur de gestion (MGS), un serveur de métadonnées (MDS), un serveur de stockage d'objets (OSS) et des noeuds client Lustre.

Architecture

Cette architecture de référence utilise une région avec un domaine de disponibilité unique et des sous-réseaux régionaux. Vous pouvez utiliser la même architecture de référence dans une région avec plusieurs domaines de disponibilité. Nous vous recommandons d'utiliser des sous-réseaux régionaux pour votre déploiement, quel que soit le nombre de domaines de disponibilité.

Le diagramme suivant illustre cette architecture de référence.

Description du lustre-oci.png suivante
Description de l'illustration lustre-oci.png

L'architecture Lustre évolutive comporte les composants suivants :

  • Serveur de gestion (MGS)

    Un MGS stocke les informations de configuration d'un ou de plusieurs systèmes de fichiers Lustre et fournit ces informations à d'autres hôtes Lustre. Cette ressource globale peut prendre en charge plusieurs systèmes de fichiers.

  • Serveur de métadonnées (MDS)

    Un MDS fournit l'index ou l'espace de noms d'un système de fichiers Lustre. Le contenu des métadonnées est stocké sur des volumes appelés cibles de métadonnées (MDT). La structure des répertoires et les noms, autorisations, attributs étendus et mises en page des fichiers d'un système de fichiers Lustre sont enregistrés dans MDT. Chaque système de fichiers Lustre doit avoir au moins un MDT.

  • Serveurs Object Storage Server (OSS)

    Un OSS fournit le stockage de données en masse pour tout le contenu de fichier dans un système de fichiers Lustre. Chaque OSS permet d'accéder à un ensemble de volumes de stockage, appelés cibles de stockage d'objets (OST). Chaque OST contient plusieurs objets binaires qui représentent les données des fichiers dans Lustre. Les fichiers de Lustre sont composés d'un ou plusieurs objets OST, en plus de l'inode de métadonnées stocké sur le MDS.

  • Clients Lustre

    Les clients sont des instances Compute qui accèdent au système de fichiers Lustre.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un réseau VCN est un réseau défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Les réseaux virtuels peuvent être segmentés en sous-réseaux, qui peuvent être spécifiques à une région ou à un domaine de disponibilité. Les sous-réseaux propres à chaque région et à chaque domaine de disponibilité peuvent coexister dans le même VCN. Un sous-réseau peut être public ou privé.

  • Listes de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés dans et hors du sous-réseau.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes et indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui permet de tolérer les pannes. Les domaines de disponibilité ne partagent pas d'infrastructure telle que l'alimentation ou le refroidissement, ni le réseau de domaine de disponibilité interne. Ainsi, il est peu probable qu'un problème survenant dans un domaine de disponibilité compromette les autres domaines de disponibilité de la région.

Recommandations

Vos exigences peuvent différer de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.

  • Forme de calcul, hôte du bastion

    Un hôte bastion est utilisé pour accéder à tous les noeuds du sous-réseau privé. Utilisez la forme VM.Standard.E2.1 ou VM.Standard.E2.2.

  • Forme de calcul, MGS et MDS

    Étant donné que le MGS n'est pas exigeant en ressources, vous pouvez héberger le MGS et le MDS sur la même instance. Pour s'assurer qu'une panne de niveau noeud n'affecte pas le système de fichiers, utilisez une instance Bare Metal avec une haute disponibilité.

  • Bare metal Compute avec volume de blocs et haute disponibilité

    Utilisez BM.Standard2.52. Deux noeuds sont configurés dans une paire. Les deux contrôleurs d'interface réseau physique (NIC) avec une vitesse réseau de 25 Gbps chacun. Utilisez une carte d'interface réseau pour tout le trafic afin de bloquer le stockage et utilisez l'autre carte d'interface réseau pour les données entrantes vers les noeuds OSS et MDS à partir des noeuds client.

    Utilisez le stockage de volume de blocs (taille et nombre par besoin de déploiement) avec une pièce jointe à plusieurs instances pour attacher un volume aux deux noeuds de calcul.

  • Forme de calcul, OSS

    Notre recommandation pour OSS est la même que pour MGS et MDS.

  • Forme de calcul, client Lustre

    Choisissez une forme de machine virtuelle (VM) en fonction de vos plans de déploiement, en particulier des exigences en matière de bande passante réseau.

    Le débit des clients dépend de leur capacité. Si vous déployez 10 clients avec une bande passante réseau 2.5-Gbps, la bande passante globale est de 25 Gbps.

  • Configuration RAID

    Vous pouvez éventuellement configurer des formes DenseIO avec RAID 0.

    Utilisez RAID lors de la construction d'un OST par OSS.

    Si vous utilisez un OST par OSS, nous vous recommandons d'utiliser huit volumes de blocs par OSS pour maximiser le débit (RAID 0 est facultatif).

    Note :

    Le modèle Terraform construit une forme de métal nu avec DenseIO ou avec des volumes de blocs.
  • VCN

    Lorsque vous créez VCN, déterminez le nombre d'adresses IP requises pour vos ressources cloud dans chaque sous-réseau. À l'aide de la notation CIDR (Classless Inter-Domain Routing), spécifiez un masque de sous-réseau et une plage d'adresses réseau suffisamment grande pour les adresses IP requises. Utilisez un espace d'adresse qui se trouve dans les blocs d'adresses IP privées standard.

    Sélectionnez une plage d'adresses qui ne chevauche pas votre réseau sur site, de sorte que vous puissiez configurer une connexion entre VCN et votre réseau sur site, si nécessaire.

    Après avoir créé un VCN, vous ne pouvez pas modifier sa plage d'adresses.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de fonctionnalités et de sécurité. Attachez toutes les instances de calcul du même niveau ou rôle au même sous-réseau, qui peut servir de limite de sécurité.

    Utilisez des sous-réseaux régionaux.

  • Listes de sécurité

    Utilisez les listes de sécurité pour définir les règles entrantes et sortantes qui s'appliquent à l'ensemble du sous-réseau. Par exemple, cette architecture permet ICMP en interne pour l'ensemble du sous-réseau privé.

Remarques

  • Performances

    Pour obtenir les meilleures performances, choisissez la forme de calcul correcte avec la bande passante appropriée.

  • Disponibilité

    Envisagez d'utiliser une option de haute disponibilité en fonction de vos besoins de déploiement.

  • Coût

    Le service Bare Metal offre des performances plus élevées sur la bande passante réseau pour un coût plus élevé. Évaluez vos exigences pour choisir la forme de calcul appropriée.

  • Surveillance et alertes

    Configurez la surveillance et les alertes sur l'utilisation de l'UC et de la mémoire pour vos noeuds MGS, MDS et OSS afin d'adapter la forme de la machine virtuelle au besoin.

Déployer

Le code Terraform de cette architecture de référence est disponible sous forme d'exemple de pile dans Oracle Cloud Infrastructure Resource Manager. Vous pouvez également télécharger le code à partir de GitHub et le personnaliser en fonction de vos besoins spécifiques.

  • Déployer à l'aide de l'exemple de pile dans Oracle Cloud Infrastructure Resource Manager :
    1. Cliquez surDéploiement sur Oracle Cloud.

      Si vous n'êtes pas déjà connecté, entrez les informations d'identification de location et d'utilisateur.

    2. Examinez et acceptez les conditions générales.
    3. Sélectionnez la région dans laquelle vous souhaitez déployer la pile.
    4. Suivez les invites à l'écran et les instructions pour créer la pile.
    5. Après avoir créé la pile, cliquez sur Actions Terraform et sélectionnez Plan.
    6. Attendez que le travail soit terminé et examinez le plan.

      Pour apporter des modifications, revenez à la page Détails de la pile, cliquez sur Modifier la pile et apportez les modifications requises. Ensuite, réexécutez l'action Plan.

    7. Si aucune autre modification n'est nécessaire, revenez à la page Détails de la pile, cliquez sur Actions Terraform et sélectionnez Appliquer.
  • Déployer à l'aide du code Terraform dans GitHub :
    1. Accédez à GitHub.
    2. Cloner ou télécharger le référentiel sur votre ordinateur local.
    3. Suivez les instructions du document README.