Accélérer et redimensionner le stockage d'images de machine virtuelle dans un environnement KVM

Cette architecture de référence présente une plate-forme de stockage et de déplacement de données évolutive et hautes performances conçue pour optimiser la latence et la bande passante d'accès aux données, en particulier lors des pics de charge globale.

Architecture

L'architecture utilise un domaine de disponibilité unique avec 3 domaines de pannes. Tous les composants de la solution sont hautement disponibles sans point de panne unique.

Sur chaque noeud, les données sont stockées à deux emplacements : la RAM et le volume de blocs. La RAM est montée en tant que système de fichiers local à l'aide du disque RAM de bloc de lecteur de noyau Linux (brd). Les emplacements basés sur la RAM et sur le volume de blocs sont unifiés dans deux systèmes de fichiers. Chaque système de fichiers est partagé entre les noeuds à l'aide de GlusterFS, un système de fichiers parallèle et évolutif.

GlusterFS est appliqué à la RAM et aux volumes de blocs attachés pour créer deux volumes distribués. Ce stockage de fichiers à deux niveaux permet un déplacement de données hautes performances dans deux directions :
  • Au sein d'un noeud : un nombre illimité de machines virtuelles s'initialisent sans latence, quel que soit le nombre réel de machines virtuelles. Par conséquent, l'architecture supprime le goulot d'étranglement lors de la lecture des images de machine virtuelle à partir du stockage partagé et empêche les retards de service lors des pics de charge globale.
  • Sur tous les nœuds : les machines virtuelles se déplacent de manière transparente sur tous les nœuds, grâce aux volumes distribués. Ainsi, n'importe quelle image de machine virtuelle est accessible à tout moment par n'importe quel noeud, ce qui permet à l'administrateur de rééquilibrer rapidement les images de machine virtuelle sur les noeuds Bare Metal au fur et à mesure que le pool de noeuds augmente (ou diminue en cas de panne matérielle sur un noeud). Vous pouvez éventuellement hiérarchiser les deux types de stockage partagé, le stockage basé sur la RAM et le stockage basé sur un volume de blocs, en une seule instance de stockage partagé, où le niveau de RAM est utilisé pour le stockage (à chaud) fréquemment utilisé et où le volume de blocs est utilisé pour le stockage à long terme (à froid).

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



vm-kvm-oci-oracle.zip

L'architecture comprend les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient des centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (elles peuvent se trouver dans des pays voire des continents différents).

  • Domaine de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes 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 assure la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les mêmes infrastructures : réseau d'alimentation ou de refroidissement ou réseau interne. Ainsi, il est peu probable qu'un échec sur un domaine de disponibilité compromette les autres domaines de disponibilité de la région.

  • Domaine de pannes

    Un domaine de pannes est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes dotés de matériel et d'alimentation indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines de pannes, vos applications peuvent tolérer les pannes de serveur physique, la maintenance du système et les pannes de courant au sein d'un domaine de pannes.

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

    Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centres de données traditionnels, les réseaux cloud virtuels vous permettent de contrôler entièrement votre environnement réseau. Un VCN peut avoir plusieurs blocs CIDR qui ne se chevauchent pas que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être ciblés sur une région ou sur un domaine de disponibilité. Chaque sous-réseau se compose d'une plage contiguë d'adresses qui ne chevauchent pas les autres sous-réseaux du VCN. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • VPN site à site

    Le VPN site à site fournit une connectivité VPN IPSec entre votre réseau sur site et les réseaux cloud virtuels dans Oracle Cloud Infrastructure. La suite de protocoles IPSec permet de crypter le trafic IP avant le transfert des paquets de la source vers la destination, et de décrypter le trafic lorsqu'il arrive.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre votre centre de données et Oracle Cloud Infrastructure. FastConnect offre des options de bande passante plus élevée et une expérience réseau plus fiable par rapport aux connexions Internet.

  • Dynamic routing gateway (DRG)

    Le DRG est un routeur virtuel qui fournit un chemin pour le trafic de réseau privé entre des réseaux cloud virtuels de la même région, entre un VCN et un réseau extérieur à la région, tel qu'un VCN dans une autre région Oracle Cloud Infrastructure, un réseau sur site ou un réseau d'un autre fournisseur cloud.

  • Passerelle NAT (Network Address Translation)

    Une passerelle NAT permet aux ressources privées d'un VCN d'accéder à des hôtes sur Internet, sans exposer ces ressources aux connexions Internet entrantes.

  • Passerelle Internet

    La passerelle Internet autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui indiquent la source, la destination et le type de trafic à autoriser vers et depuis le sous-réseau.

  • Table de routage

    Les tables de routage virtuelles contiennent des règles permettant d'acheminer le trafic de sous-réseaux vers des destinations situées en dehors d'un VCN, généralement via des passerelles.

  • Bastion

    Le bastion est une instance de calcul qui sert de point d'entrée sécurisé et contrôlé vers la topologie à partir de l'extérieur du cloud. Le bastion est généralement provisionné dans une zone démilitarisée (DMZ). Il vous permet de protéger les ressources sensibles en les plaçant dans des réseaux privés qui ne sont pas accessibles directement depuis l'extérieur du cloud. La topologie possède un seul point d'entrée connu que vous pouvez surveiller et auditer régulièrement. Ainsi, vous pouvez éviter d'exposer les composants les plus sensibles de la topologie sans compromettre leur accès.

  • Bare Metal

    Les serveurs Bare Metal d'Oracle assurent l'isolation, la visibilité et le contrôle en utilisant des instances de calcul dédiées. Les serveurs prennent en charge les applications qui nécessitent un nombre de cœurs élevé, de grandes quantités de mémoire et une bande passante élevée. L'infrastructure peut évoluer jusqu'à 160 coeurs (le plus grand du secteur), 2 To de RAM et jusqu'à 1 Po de stockage de blocs. Les clients peuvent créer des environnements cloud sur les serveurs Bare Metal d'Oracle avec des améliorations de performances significatives par rapport à d'autres clouds publics et centres de données on-premise.

  • Volume de blocs

    Avec les volumes de stockage de blocs, vous pouvez créer, attacher, connecter et déplacer des volumes de stockage, et modifier leurs performances afin de répondre à vos exigences en matière de stockage, de performances et d'application. Une fois un volume attaché et connecté à une instance, vous pouvez l'utiliser comme un disque dur classique. Vous pouvez également déconnecter un volume et l'attacher à une autre instance sans perdre de données.

Recommandations

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

  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher aux sous-réseaux dans le VCN. Utilisez des blocs CIDR se trouvant dans l'espace d'adressage IP privé standard.

    Sélectionnez les blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) sur lequel vous souhaitez configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte des exigences en matière de flux de trafic et de sécurité. Associez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

    Utilisez des sous-réseaux régionaux.

  • Cloud Guard

    Utilisez Oracle Cloud Guard pour surveiller et gérer de manière proactive la sécurité de vos ressources dans Oracle Cloud Infrastructure. Cloud Guard utilise des recettes de détecteur que vous pouvez définir pour examiner les ressources à la recherche de failles de sécurité et pour surveiller les opérateurs et les utilisateurs à la recherche d'activités risquées. Lorsqu'une erreur de configuration ou une activité non sécurisée est détectée, Cloud Guard recommande des actions correctives et les aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.

    Clonez et personnalisez les recettes par défaut fournies par Oracle pour créer des recettes personnalisées de détecteur et de répondeur. Ces recettes vous permettent d'indiquer le type de violation de sécurité qui génère un avertissement et les actions autorisées à y être effectuées. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.

    Appliquez Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonction de liste gérée pour appliquer certaines configurations aux détecteurs.

  • Security Zones

    Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle et basée sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être cryptées à l'aide de clés gérées par le client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui ne respectent aucune des stratégies.

  • Groupes de sécurité réseau

    Vous pouvez utiliser des groupes de sécurité réseau pour définir un ensemble de règles entrantes et sortantes qui s'appliquent à des cartes d'interface réseau virtuelles spécifiques. Nous recommandons d'utiliser des groupes de sécurité réseau plutôt que des listes de sécurité, car les groupes de sécurité réseau vous permettent de séparer l'architecture de sous-réseau du VCN des exigences de sécurité de votre application.

  • Noeuds d'hyperviseur

    Déployez des formes Bare Metal HPC pour obtenir des performances optimales. Cette architecture utilise la forme BM.Standard.E4.

Remarques

Tenez compte des points suivants lors du déploiement de cette architecture de référence.

  • Performances

    Pour des performances optimales, choisissez la forme de calcul appropriée avec la bande passante appropriée.

  • Disponibilité

    Envisagez d'utiliser une option de haute disponibilité, en fonction de vos exigences de déploiement et de votre région. Vous pouvez notamment utiliser plusieurs domaines de disponibilité dans une région et des domaines de pannes.

    • Surveillance et alertes

      Configurez la surveillance et des alertes sur l'utilisation de l'UC et de la mémoire pour vos noeuds afin de pouvoir augmenter ou réduire la forme selon vos besoins.

    • Coût

      Une instance de GPU Bare Metal fournit la puissance d'UC nécessaire pour un coût supérieur. Déterminez la forme de calcul appropriée en fonction de vos besoins.

      Vous pouvez supprimer le cluster lorsqu'aucun travail n'est en cours d'exécution.

  • Systèmes de fichiers du cluster

    Il existe plusieurs scénarios :

    • Formes DenseIO optimisées fournies avec la forme HPC.
    • Les volumes de blocs à plusieurs associations fournissent jusqu'à 2 680 Mo/s de débit d'E/S ou 700 k E/S par seconde.
    • Vous pouvez également installer votre propre système de fichiers parallèle sur le stockage SSD NVMe ou le stockage de blocs, en fonction de vos exigences en matière de performances. OCI fournit des solutions NFS permanentes (NFS-HA, FSS) ou de système de fichiers parallèle (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, GlusterFS, Quobyte).

Déployer

L'application GlusterFS et le code Terraform pour Linux KVM sont disponibles dans Oracle Cloud Marketplace.

Une pile Terraform permettant de créer des instances Oracle Linux KVM est disponible dans Oracle Cloud Marketplace.

  1. Accédez à Oracle Cloud Marketplace.
  2. Cliquez sur Obtenir l'application.
  3. Suivez les invites à l'écran.

L'application GlusterFS est disponible dans Oracle Cloud Marketplace. Vous devez déployer GlusterFS manuellement sur chaque instance.

  1. Accédez à Oracle Cloud Marketplace.
  2. Cliquez sur Obtenir l'application.
  3. Suivez les invites à l'écran.

Accusés de réception

Auteurs : Yuri Rassokhin, Deepak Soni