L'utilisation du réseau IPoIB-default sur Oracle Exalogic

Exalogic est une appliance Oracle qui possède des performances fabuleuses dues entre autres à l’utilisation d’Infiniband pour fédérer les composants qui la constituent. C’est aussi une machine passionnante à aborder pour celui qui a la chance de participer à des projets dont elle est le support.
Parmi les nombreux sujets dont je voudrais traiter concernant Exalogic, je commence avec un thème ciblé sur un des éléments réseaux propre à Exalogic, qui est l’utilisation du réseau IpoIB-default. Pour rappel, Exalogic possède deux types de réseaux permettant d’exploiter la performance d’infiniband :

  • réseau de type EoIB : ce type permet la connexion des machines virtuelles hébergées sur Exalogic avec le monde extérieur. L’encapsulation d’ethernet dans infiniband permet de lier les vm frontales  aux switchs de l’entreprise via InfiniBand-to-10 Gb Ethernet gateways. Il est possible de définir de nouveaux réseaux EoIB sur l’Exalogic afin de différencier les liens avec le monde extérieur.
  • réseau de type IPoIB : ce type permet la communication des composants internes à l’Exalogic, virtuels ou physiques (ZFS, Oracle VM) ainsi que la communication applicative (domaine Weblogic, inter VM comme un DNS local, …).
    Il n’est pas possible de définir de nouveaux réseaux IPoIB, le nombre de ceux-ci est fixe. Nous avons
    IPoIB-default : réseau de communication disponible pour les connexions applicatives
    IPoIB-admin : créseau de communication interne d’administration entre les composants
    IPoIB-storage : réseau de données pour les composants internes
    IPoIB-virt-admin : réseau d’administration des machines virtuelles utilisé par Cloud Control
    IPoIB-ovm-mgmt : réseau de communication entre Oracle VM Manager et les VM
    IPoIB-vserver-shared-storage : réseau de connexions des VM sur le ZFS

De plus tous les réseaux, à part IPoIB-default, sont cloisonnés à leur fonction propre et sont sécurisés. Par exemple si chaque VM peut voir le stockage et s’y connecter via IPoIB-vserver-shared-storage, les VM ne peuvent pas communiquer entre elles à travers ce réseau.
Le réseau qui m’intéresse dans cet article est plus particulièrement IPoIB-default, réseau disponible pour l’utilisateur afin de définir de nouveaux réseaux applicatifs. C’est par l’utilisation de ce réseau IPoIB qu’il va être possible de construire les architectures  afin de sécuriser les données d’un domaine Weblogic ou  d’isoler des domaines applicatifs par entité : développement, production ou alors par clients pour les cas de locations de ressources sur Exalogic.
 

Je désire mettre en œuvre l’architecture suivante sur Exalogic

composée de deux domaines Weblogic appartenant à des environnements différents : production et développement. Chacun de ces environnements possède deux machines virtuelles linux contenant pour la première le serveur d’administration du domaine et un serveur géré, et pour la seconde un autre serveur géré.
Une vm « technique » comporte un serveur DNS accessible depuis toutes les machines virtuelles de tous les environnements.
architecture_ipoib
 
 

Implémentation possible

Il existe dans l’Exalogic la possibilité de paramétrer des sous-réseaux privés (private vNets) propre à chaque account (possesseur d’un ensemble de VM) utilisant IPoIB-default. Cette fonctionnalité est fournie par un surcouchage d’oracle VM sur IPoIB-default.
L’implémentation des environnements va se faire en dédiant un account par environnement.
IL est possible de créer 4096 private vNets par account. La création d’un private vnet est obtenue par le menu suivant dans l’interface Emoc :
param_reseau_prive_exalogic
 
Pour réaliser notre architecture, nous utilisons le réseau IPoIB-default dans son paramétrage par défaut obtenu lors de l’imaging de l’Exalogic, c’est à dire avec un masque CIDR en /24.
Admettons que mon réseau IPoIB-default soit paramétré avec l’adresse 10.1.1.0/24, je pourrai avoir  un seul réseau avec 256 serveurs possibles sur ce sous-réseau (il est possible cependant d’utiliser un CIDR > 24, mais dans ce cas le paramétrage des masques doit être effectué au niveau linux, ce qui est moins pratique).
Appliqué à notre architecture Exalogic applicative nous aurons par exemple :

  • Domaine DOMAIN_PROD, réseau Ipoib_priv_prod sur private vNet: adresse 192.168.1.0/24 pour la communication intra-domaine
  • Domaine DOMAIN_DEV, réseau Ipoib_priv_dev sur private vNet  : adresse 192.168.2.0/24 pour la communication intra-domaine
  • Réseau commun à toutes les VM, Ipoib_technique  : adresse 10.1.1.0/24, permettant l’accès à un serveur technique interne, en l’occurence un serveur DNS.

Les cinq VM concernées auront trois interfaces réseaux supplémentaires.
ipoib-private_vnets