Mise en place d’un PoC VPlex/VE (partie 1)

English sum-up :
My personnal experience deploying a trial VPlex/VE appliance for discover and test purposes. This is the first part of this great journey into virtual VPlex preparation, installation, initial configuration and usage on a VMWare sandbox cluster

Quelle aventure !

Cela faisait longtemps que je souhaitais pouvoir évaluer la mise en oeuvre et l’utilisation de la version virtuelle de VPlex, l’outil de virtualisation et fédération du stockage d’EMC. Sorti l’été dernier (rappelez-vous ^^), ce nouveau logiciel d’EMC est donc constitué d’un ensemble de briques (que l’on va détailler par la suite) s’appuyant exclusivement sur VMWare (pour le moment) assurant des fonctions comparables dans le monde iSCSI à son grand frère physique dans le monde FibreChannel.

Sur le papier, VPlex/VE semble parfaitement taillée pour adresser les marchés des petites et moyennes entreprises ou même pour fournir des solutions de très haute disponibilité pour des ensemble de production ne disposant pas d’une taille suffisante pour justifier un investissement dans le FibreChannel. Pour autant, VPlex/VE n’est pas, sur le plan architectural, un “produit light”. Il dispose en effet de tous les composants de VPlex, à savoir : pour chaque engine, deux directeurs et un serveur de management ainsi qu’une connectique Ethernet aussi gargantuesque (pas moins de 10 ports par directeur).

Je vous propose donc, dans ce billet, de suivre l’installation de la version d’évaluation de VPlex/VE proprement dite, depuis la préparation des hyperviseurs jusqu’à la fin des assistants. Une dernière chose avant de continuer : si vous souhaitez aussi vous lancer, réservez-vous du temps ! Il ne m’aura fallu pas moins d’une dizaine d’heures (dont la moitié autour de la mise en place de NAS iSCSI compatibles avec VE) pour pouvoir venir à bout des difficultés.

Get ready ? Set ?


Go !

Préparation et planification

Contrairement à quasiment tous les autres PoC et montages autonomes, VPlex/VE nécessite préalablement de se poser et même de se monter des petits schémas d’architecture simplifiés pour éviter de s’enliser pendant la phase d’installation. Vous disposer, pour vous aider, d’un pdf fourni par EMC, le “Configuration Worksheet” (il ressemble fortement à celui que l’on remplit lors d’une installation d’un VPlex classique d’ailleurs). En complément, j’ai donc préparer quelques schémas pour me repérer visuellement. Voici un petit synoptique du set-up :
synoptique

Comme vous pouvez le constater, VPlex/VE utilise exactement le même nombre d’éléments actifs qu’un VPlex Metro. Il repose donc sur une architecture “double site”. Les deux sites, pendant les phases de configuration, sont appelés “Site-1” et “Site-2”, respectivement. Dans mon schéma, le support du PoC repose sur un stretched cluster VMWare (avec HA et DRS activé) composé de deux serveurs ESXi : “radiume5540-tu06” pour le Site-1 et “radiume5540-hn04” pour le Site-2. D’ailleurs, sachez que physiquement, les machines sont effectivement sur deux datacenters différents chez nous :) . Coté stockage primaire, en théorie, VPlex/VE peut tout simplement s’appuyer sur des disques physiques locaux à chaque machine, mais je n’avais pas cette possibilité : j’ai donc provisionné un petit volume en FibreChannel (sur un de nos XtremIO, on ne refuse rien, je sais … ^^) où j’ai pu implanter les disques des machines virtuelles. Au passage, et histoire d’aller jusqu’au bout, j’ai utilisé mon PoC ViPR pour provisionner le volume en question !

Du coté des pré-requis VMWare, la documentation est relativement claire, pour résumer, je vous conseille fortement de vous construire un cluster dédié, constitué de deux serveurs ESXi (5.5u2 de mon coté). Chaque serveur doit disposer d’un minimum de 10 coeurs et de 28 Go de RAM chacun (dixit la document). Coté réseau virtuel, le minimum est de disposer d’au moins deux vswitchs (vSwitch classique ou dvSwitch, peut importe) car l’assistant l’exigera. Pour info, voici le setup recommandé :
recommanded-net
… autant dire que pour un PoC, on passerait sans doute de quelques heures à 1/2 jours de mise en place :) . Personnellement, vous le verrez, j’ai simplifié à l’extrême la partie réseau en mettant tous les liens sur un même VLAN isolé de notre production, sachant que VPlex, de toutes façons, n’utilise jamais la même IP quelle que soit la liaison, pas de risque de conflit. En gros, tous les liens ethernet (une bonne quarantaine sur l’ensemble de la conf double site) pointent sur le VLAN 255, dont le plan d’adressage niveau 3 est 172.27.255.0/24 . Coté serveurs ESXi, j’ai préparé, sur chacun d’eux, deux vSwitch simples, reliés chacun à une interface Ethernet publique (pour les communications inter-site). Ces deux switchs sont complètement vierge de tout portgroup pour le moment et seront dédiés à l’activité VPlex.

Pour pouvoir tester un VPlex, il faut aussi avoir du back-end. Pour le coup, VPlex/VE ne travaille qu’en iSCSI et donc il me fallait deux NAS (un par site) capables de fournir des targets iSCSI aux deux engines. Je souhaitais monter des virtual appliances spécifiques pour ce PoC afin d’éviter toute adhérence sur nos baies de production ou de test/qualification. Assez naturellement, j’ai tenté rapidement de monter deux serveurs NAS en utilisant la distribution FreeNAS, très connue (et très stable) dans le monde de l’OpenSoure. Malheureusement, après la mise en oeuvre, j’ai rencontré énormément de soucis de détection des LUN : au mieux, je récupérais des LUNs en double avec des erreurs, au pire, des enregistrements incohérents et l’impossibilité de continuer… bref, pas convainquant. Je me suis donc mis en quête d’une distribution pleinement “compatible” avec les directeurs de VPlex/VE : après deux tests infructueux avec NAS4Free et OpenMediaVault, mon choix s’est fixé sur OpenFiler qui, de son coté, à ENFIN daigné me proposer une présentation iSCSI qui convenait aux vDirectors. Comme déjà évoqué, c’est cette phase qui a été la plus laborieuse car il fallait que je recommence une grosse partie du setup VPlex/VE à chaque tentative !

Dernière chose, mais non des moindre, il faut établir un plan d’adressage “public” clair. Comme déjà indiqué, j’ai simplifié tout cela en plaçant l’ensemble des flux (back-end, front-end, management) sur un seul VLAN. Voici le plan sur lequel je me suis basé (gardez-le en tête pour la suite ;) ) :

Une fois cette – douloureuse – étape franchie, j’étais donc prêt à déployer le monstre !

Déploiement des VMs

Comme quasiment tous les produits EMC désormais, VPlex/VE est fournit sous format OVA. L’installation initiale consiste donc à déployer deux vApp (une par site), chacune constituée de 3 VMs : un serveur de management et deux directeurs. Cette étape est relativement simple. A chaque déploiement, l’assistant vous demande les paramètres IP de management de l’engine ainsi que les vswitchs de connexion du serveur de management : réseau public (admin) et réseau “privé” à chaque engine (pour l’administration des directeurs). Une fois terminé, vous obtenez une hiérarchie de ce type :
clustervm

Vous noterez que pour le moment, la configuration est relativement simple. En réalité, nous n’avons même pas commencé le paramétrage de VPlex ! En effet, les assistants que nous allons dérouler ensuite vont eux-même se connecter au vCenter hébergeant le cluster pour installer les configurations ad-hoc. C’est assez inhabituel, mais très efficace … quand tout se passe bien et que vous avez bien planifié votre installation.

Paramétrage de VPlex/VE : Phase 1

Une fois les vApp déployées, il faut démarrer les deux vApp. On notera que seuls les deux serveurs de management sont effectivement lancés, les 4 directeurs restant éteints pour le moment (normal, on verra plus tard pourquoi). Au bout de 3/4 minutes, il faut se connecter à la console web du site 1. Ne prenez pas attention à l’IP présente dans l’URL des captures d’écran suivantes que j’ai prises lors de ma première tentative, avortée.


… ha ? première connexion et déjà une erreur ? Bon, en fait, visiblement, elle ne porte à aucune conséquence par la suite, mais je ne sais pas du tout à quoi elle était due. On valide et on se connecte avec le compte “service”, mot de passe par défaut “Mi@Dim7T” comme indiqué sur la documentation :

… après validation du CLUF, vous devez indiquez un user/password pour autoriser VPlex à se connecter à votre vCenter pour procéder aux modifications de configuration des VM des directeurs ainsi qu’au cluster (règles DRS) sur lequel les appliances sont déployées.

… vous devez ensuite indiquer l’IP de la console de management du Site-2 ainsi que changer les mots de passes par défauts (comptes service et admin). Ici encore, l’IP du Site-2 dans la capture n’est pas celle que j’ai fini par utiliser. Pour info, le mot de passe par défaut d’admin est “teS6nAX2”. Ensuite, laissez en blanc la partie licensing, car comme indiqué, nous utilisons la distribution “trial”.

… cette partie permet d’indiquer à VPlex dans quel contexte “ESXi” il va opérer. Il faut donc placer les hosts de chaque site dans les bonnes cases. Ici, les choix sont relativement simple, mais on imagine que dans une configuration de production, certains choix auront de l’importance. L’assistant se chargera de créer les règles DRS en conséquence sur le cluster VMWare. De même, le choix des datastores partagés.

… Ici, tout le paramétrage reprend les éléments qui ont été décrits pendant la phase de préparation, avec les IP, les VLAN etc. Vous noterez qu’on ne parle pas des wancom pour le moment, cela fera l’objet d’une étape spécifique dans la Phase 2.

… VPlex/VE, comme son ainé, fait reposer sa sécurité sur des certificats auto-signés (configuration web et VPN entre les management servers). Cette étape permet de définir les passphrases de chaque certificat.
install17
… Vous pouvez, à ce niveau, déjà renseigner les sources iSCSI (back-end donc) qui vont être utiles pour présenter les LUNs systèmes (et volumes classiques). Pour le moment, on la laisse vierge, on y reviendra dans la phase 2.

Pour terminer cette phase 1, on obtient un résumé de tout le paramétrage déjà effectué, le moment idéal pour bien vérifier si tout cela est en accord avec nos plans initiaux :
install18
On peut donc lancer la configuration “Phase 1” via le bouton “run configuration”. On obtient une fenêtre de progression des différentes tâches :
phase-1-progress
Même s’il est annoncé que cette partie peut durer de 30 à 35 minutes, dans la pratique, c’est en général beaucoup plus court (quelques minutes). C’est en particulier pendant cette opération que vous allez voir le VPlex se connecter sur votre vCenter et faire beaucoup de modifications sur les VMs des deux engines. Quand c’est terminé, vous pourrez constater, notamment, que de nombreux portgroups dédiés ont été créés dans les vSwitch renseignés initialement, tout comme des nouvelles règles DRS sur votre cluster (des règles d’affinité principalement) :

NDLR : Mais … que vois-je ? Si vous regardez bien les noms qu’a donné le configurateur VPlex aux portgroup, on y voit apparaître la mention “ViPR_VPlex” ! Tiens donc, ne serait-ce pas le signe d’une intégration à terme de VPlex/VE à la suite ViPR ? Il semble bien que oui… Après ViPR Controller, ViPR SRM et ViPR data services, on risque donc de voir arriver ViPR VPlex… pourquoi pas géré et intégré complètement au sein de ViPR Controller :)

Pour pouvoir continuer par la Phase 2, il faut vous relogguer sur l’interface, comme indiqué sur la page web de conclusion.

Paramétrage de VPlex/VE : Phase 2

La Phase 2 consiste principalement à mettre en place des volumes systèmes de VPlex (metadata et logging volumes) et paramétrer les liens “wancom”.
systemvol1
Après l’affichage de bienvenue, nous arrivons directement dans la section “System Volumes”. A ce stade, il faut au préalable que vous ayez dors et déjà préparé vos deux NAS iSCSI. La mise en place de ce type de système n’étant pas l’objet de ce billet, je ne détaille pas cette partie, mais pour votre info, il faut préparer au moins 6 LUN de 20Go (comme indiqué dans la doc) par NAS et les présenter à chaque couple de directeurs via leurs IP “back-end”. Pour un PoC, je vous conseille de faire simple et de ne pas utiliser de CHAP et de ne pas pousser trop loin le LUN masking et le filtrage, cela vous fera un point de moins à vérifier en cas de souci ;) . A titre informatif, voici la config iSCSI que j’ai préparé sur les DEUX NAS OpenFiler :
openfiler-1
Si vous n’avez pas ajouté vos NAS dans la première Phase, vous pouvez le faire directement en cliquant sur “Add arrays” et en indiquant leur IP et leur site respectif de rattachement (cela permet à VPlex de savoir quels directeurs doivent faire un discover). Si tout se passe bien, vous obtenez la liste de vos NAS et le bon nombre de LUNs présenté.


… Les deux étapes suivantes permet de sélectionner les volumes à affecter aux volumes metadata et logging et ce pour chaque engine (les deux copies d’écran ci-dessus sont présenté pour chaque engine).

… Enfin, l’assistant vous propose de vérifier (et modifier, le cas échéant) les paramètres associés aux flux WAN-Com de VPlex. Personnellement, j’ai laissé tout cela par défaut étant donné que chaque port wancom de l’ensemble des 4 directeurs est brassé sur le même VLAN, pas de besoin particulier de modifier quoi que ce soit.

… enfin, la phase 2 est lancée et vous présente, comme pour la phase 1, un suivi des étapes. La encore, cela prend quelques minutes. Au final, vous obtenez un résumé des opérations effectuées et des LUNs affectées aux différents volumes système.

Votre VPlex/VE est installé et opérationnel !!!

La première partie de ce PoC est terminée. Je vous prépare un deuxième billet plus opérationnel ou nous allons vraiment commencer à profiter de ce VPlex Virtuel, avec son lot de suprises, de frustrations, mais au final, un premier volume distribué FONCTIONNEL :)

Petite mise à jour : la deuxième partie est ici ;)

Sources :
Pour télécharger l’ensemble du bundle “VPlex/VE” Trial, rendez-vous chez EMC sur cette page (login support EMC nécessaire)
OpenFiler, distribution NAS, ici

One thought on “Mise en place d’un PoC VPlex/VE (partie 1)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *