Skip to content
2010/05/20 / vpourchet

Virtualisation du Stockage : DATACORE (contexte ESX + XenServer)

 

 

 

 

 

 

 

 

 

 

 

 

Projet DataCore :

 

Virtualisation de stockage

 

Auteurs :    

  • Manuel LE COQ
  • Clément BUISSON
  • Laurent CHEVAL
  • Valentin POURCHET

     

 

 

 

 

 

 

1 Notion sur la virtualisation de stockage
 

1.1 Qu’est ce que la virtualisation de stockage

 

La virtualisation de stockage consiste a présenter une source de stockage uniforme. Cette couche supplémentaire permet de masquer les différents types de ressources du réseau. Le stockage virtuel sera présenté à des applications ou des systèmes.

Cette technologie permet de palier aux lacunes des différents stockages. Cela peut permettre de présenter des stockages NAS d’entrée de gamme comme de l’iSCSI.

Cette couche s’intercale entre le client et le stockage et permet d’utiliser les protocoles d’accès pour n’importe quelle stockage, ainsi que d’avoir des grandes capacités uniques.

Un gros avantage c’est que l’on peut rajouter de la capacité de stockage a la volée sans faire de modifications sur le client. On peut accroitre les performances de son stockage en utilisant la couche intermédiaire comme un « swap », mais aussi pour re-packager les flux pour les optimiser.

Certains éditeurs permettent la sur-allocation, qui permet de présenter une taille de stockage de plus grande capacité que celle dont on dispose physiquement. Cela permet d’augmenter petit à petit son espace de stockage réel en fonction des besoins, sans faire de gros investissements au départ. En un an et demi la taille du stockage double pour le même prix.

Il existe deux types de virtualisation de stockage :

  • Virtualisation symétrique qui utilise trois acteurs (client, stockage et serveur de virtualisation de stockage). Toutes les données du client transitent par le serveur de virtualisation qui se charge de contacter le stockage.

 

  • Virtualisation asymétrique communique directement avec le stockage. Cela implique que les clients possèdent un agent qui va demander au serveur où se trouve le stockage.

 

    1.2 Les avantages de virtualisation de stockage

 

Voici 10 bonnes raisons en faveur de la virtualisation de stockage :

  • Réduction des coûts
  • Simplicité de mise en œuvre
  • Garantie de flexibilité
  • Vue d’ensemble de l’infrastructure
  • Facilite les tests
  • Optimisation des processus
  • Stockage sur plusieurs niveaux
  • Evolutivité des fonctions de stockage
  • Migration transparente des données
  • Continous Data Protection (Protection des données)

     

    1.3 Les différents acteurs du marché

 

 

DataCore :

Fondée en 1998 cette compagnie propose toute une gamme de solutions logicielles permettant de mettre en place une virtualisation du stockage. Possède une part importante du marché grâce à son implantation à l’international.

EMC :

Compagnie proposant différents produits et solutions matérielles et logicielles, EMC propose également toute une gamme de services comme la mise en place d’une infrastructure et le consulting.

Falconstor :

Compagnie fondée en 2000, cette compagnie propose des solutions de virtualisation sur les architectures VMWare et Microsoft, mais également des produits comme la VTL (Virtual Tape Library).

IBM :

‘Big Blue’ est également présent sur le marché de la virtualisation du stockage et propose des produits comme le System Storage SAN volume controller.

Neartek :

Fondée en 2000, cette societé propose une solution logicielle baptisée Virtual Storage Engine (VSE).

Storagetek :

Rachetée par Sun Microsystems, propose différentes gamme de produits : Primary Storage, Tape Storage, Virtualisations Services.

Symantec-Veritas :

Veritas, rachetée par Symantec propose une solution nommée Veritas Virtual Infrastructure (VxVI) permettant le déploiement d’un serveur virtuel et l’affectation du stockage lui correspondant. Symantec par ailleurs propose la suite Storage Foundation comprenant les produits de Veritas alliés au XenServer de Citrix.

NetApp :

Sa suite logicielle Data ONTAP s’appuie sur deux innovations : FlexVol et FlexClone. Ces deux technologies permettent respectivement de créer des espaces de stockages flexibles et virtualisés pour la première et de créer instantanément des images clones sans consommer d’espace disque afin de faire des manipulations sur les clones sans impacter l’original. Cette société propose également toute une gamme de services, du conseil à la mise en œuvre en passant par l’administration de l’infrastructure. 

HP :

La société HP, plus précisément sa division StorageWorks à mis au point la suite SAN Virtualization Services Platform 2.1 (SVSP 2.1) qui a pour principal objectif d’augmenter la capacité de stockage disponible et de mettre une place une exploitation industrialisée en respectant les contraintes telles que la migration, la réplication et la sauvegarde.

  1. DataCore

 

DataCore Software est l’un des principaux fournisseurs indépendants de logiciels spécialisé dans la virtualisation du stockage, de gestion du stockage et de stockage en réseau. L’entreprise propose une suite de logiciels que voici :

 


 

SANsymphony est une plateforme de gestion de stockage pour les réseaux à grande échelle. Cette solution permet des stockages en haut disponibilité, sécurisé et de manière centralisée.

 

 


 

SANmelody est logiciel permettant de convertir les serveurs en espace stockage réseau en utilisant la capacité locale.

 

 


 

SANmaestro est outils de supervision de stockage réseau et de Windows.

 

 


 

Traveller CPR est un outils de Continuous Data Protection couplé au technologie de virtualisation.

 

 

3 Installation Datacore

 

L’installation de SANmelody est très facile, il suffit de se laisser guider. La seule option ajustable est le dossier d’installation. On doit fournir le fichier de licence en .lic . En revanche on ne configure pas le iSNS. Puis il faut activer SANmelody.

 

 

 

Pour activé Datacore , il faut aller sur le site de Datacore. On obtient le lien en faisant un clic droit sur l’icône Datacore dans la barre de tache.
Une fois le code obtenu, il suffit de le rentrer pour passé de la version d’évaluation à la version production.

 

4 Présentation Datacore Sanmelody

 

Datcore s’intègre dans la mmc de gestion de l’ordinateur. La console est divisé en 8 parties.

  • Storage Server : Regroupe l’ensemble des serveurs Datacore.
  • Application Servers : Rassemble tous les serveurs utilisant les différents volumes virtuels
  • Virtual Volumes gère les volumes virtuels
  • Disk Manager montre tous les disques présents dans le serveur.
  • Disk Path Manager gère la partie surallocation
  • Fibre-Channel Manager gère les connexion en fibre optique
  • iSCSI Managère gère les connexions iSCSI
  • Trace console est le journal d’événement de datacore

 

5 Contexte des tests 

5.1 Contexte XenServer

Soit la configuration suivante :

  • Une machine hébergeant XenServer
  • Une machine utilisée uniquement pour administrer le XenServer via le XenCenter (facultative car XenServer permet directement l’ouverture d’un shell).
  • Une machine hébergeant Windows Server 2003 avec la suite Datacore installée, deux disques et (au moins) une interface réseau.

5.2 Contexte ESX

Soit la configuration suivante :

  • Une machine Vmware ESX
  • Une machine Windows 2003 avec Datacore et vCenter Client avec 5 disques ( 1 disque système et 4 disques vierge)

NOTE : toutes ces machines se situent sur le même réseau.

6 Configuration

 

6.1 Configuration iSCSI

6.1.1 Configuration du iSCSI avec XenServer :

 

Nous allons maintenant configurer notre XenServer afin qu’il se logue à notre Datacore vie le channel créé. Pour cela entrer dans le Shell du Serveur ou via le Xencenter par l’onglet ‘Console’.

  1. Editer le fichier /etc/iscsi/iscsid.conf :

    Dans la partie iSCSI Settings :

  • Commenter la ligne suivante (en ajoutant un # en début de ligne) :
  • Dé commenter la ligne suivante (en enlevant le # en début de ligne) :
  • Enregistrer le fichier
  1. Créer et éditer le fichier /etc/iscsi/initiatorname.iscsi :

    Y ajouter les arguments suivants :

  • InitiatorName=<nom iqn de la machine>
  • InitiatorAlias=<alias de la machine>

Voici le fichier tel que configuré pour effectuer nos tests :


Note : le nom IQN de la machine peut être récupéré via le XenCenter dans l’onglet ‘General’ :


  1. Démarrer le démon iSCSI en tapant la commande service open-iscsi restart



  2. Découvrir les cibles disponibles avec la commande :

    iscsiadm –m discovery –t sendtargets –p <addresse ip du serveur datacore>

  3. Se loguer à la cible grâce à la commande :

    iscsiadm –m node –L all


 

NOTE : pour rendre la connexion automatique à chaque démarrage du service iSCSI, la commande est la suivante :

iscsiadm -m node –T <nom destination> -p <addresse ip destination>:<port> –op update -n node.conn[0].startup -v automatic

    

Pour rendre le démarrage du demon iSCSI automatique à chaque reboot du serveur :

    chkconfig –level 3 open-iscsi on

6.1.2 Configuration du iSCSI avec ESX

 

La configuration d’un ESX avec DataCore se fait tout en interface graphique.

 

 

 

La première manipulation consiste a utilisé virtual infrastructure. Dans configuration choisir Advanced Settings puis Disk.
Et dans Disk.SANDevicesWithAPFailover il faut ajouter SANmelody

 


 
 Il faut ajouter un VMkernel qui va gérer le dialogue entre l’ESX et le serveur DataCore.
Aller dans Configuration puis Network et Add Networking.
 Il faut attribuer une adresse IP avec son masque au VMkernel.
Ensuite il faut configurer le iSCSI car le serveur ne comporte que des cartes Ethernet.
Faire un clic droit sur iSCSI Software Adapter qui se trouve dans le menu Storage Adapters. Dans General il faut passer le status a Enabled .
Ensuite il faut paramétrer l’adresse IP du serveur DataCore et du port le 3260.
Un rescan est obligatoire afin de faire communiquer l’ESX avec SANmelody.

 

6.1.3 Vérifier l’interconnexion entre le Serveur Datacore et le XenServer ou ESX

 

Dans le menu de notre DataCore, aller à l’onglet iSCSI Manager et développer les entrées.

Nous constatons que sur notre interface, le XenServer est bien connecté en mode Initiator :


    6.1.4 Ajout d’un nouveau serveur d’application dans Datacore

 

Dans le menu de droite, se positionner dans la partie ‘Application Server’. Effectuer un clic droit puis ‘New Application Server’ ou utiliser l’icône : . La fenêtre suivante apparait :

 

Choisir :

  • Un nom permettant de distinguer le serveur (ici : xenserver)
  • Un type : (Citrix XenServer)

Une fois créé notre serveur apparait dans la liste, appliquer la configuration () :

Nous allons maintenant ajouter à ce serveur d’application un lien iSCSI. Pour ce faire, on effectue un clic droit sur l’icône de notre serveur puis ‘Properties’, enfin on se rend dans l’onglet ‘Channels’.

La zone du bas présente les différents canaux disponibles. Il faut alors sélectionner un canal et cliquer sur la flèche montante pour l’attribuer au serveur d’application. Le résultat final devrait ressembler à la capture suivante :

 

6.2 Configuration disque virtuel

6.2.1 Configurer un disque virtuel égal a l’espace de stockage

 

Cette méthode n’a que de très peu intérêt car elle permet seulement de présenter une partition en iSCSI . Il n’est pas possible de mutualiser deux partitions, une Lun est crée pour chaque partition.

 

 

 

Pour réalisé cette configuration. Il faut avoir au moins une partition non formaté et qui ne possède pas de lettre.
Dans Storage serveur faire un clic droit sur le serveur DataCore et Protect All Volumes afin de verrouiller les partitions libres pour datacore. Puis appliquer.


 Allez dans Virtual Volume et cliquez sur pour créer un nouveau Virtual Volume correspondant a une partition.
Ensuite appliquer.

 

6.2.2 Configurer la sur-allocation

 

Cette méthode permet de présenter une Lun de 2TB malgré le fait que le serveur ne possède pas ce stockage. Cela permet de venir augmenter notre espace de stockage réel en toute transparence. Sans cette technologie on serait obligé de cassé la Lun et de la recréer ce qui veut dire interruption de service. Une alarme prévient quand on atteint un seuil de 80% (cela peut être configuré) d’utilisation du stockage réel afin d’ajouter de nouveaux disques.

 

 

 

Pour commencer la configuration des disques en sur-allocation, il faut un disque avec aucune partition, sans lettre de lecteur et pas formaté.

 Contrairement à une présentation « classique » de disques, pour la sur-allocation, il faut sélectionner « Release All Volumes » dans le Storage Server.

A partir de maintenant les disques sont gérés par DataCore.


 

L’étape suivante est la création d’un pool de disques. Pour cela il faut se rendre dans « Disk Manager > NMV Pools ».

 En cliquant sur les « Available Disks », on retrouve nos disques disponibles.

 Il s’agit maintenant de créer un pool pour ces disques.
Pour cela, un simlple clic droit suffit.

 Ensuite, affecter un nom à ce pool de disques DataCore.
Puis OK.

 On retrouve ce pool.

 La prochaine étape est d’affecter ces 2 disques à ce pool de ressources.
Via le clic droit, il est possible d’ajouter des volumes réseaux.

 Ici, il suffit juste de selectionner les disques à affecter au pool.
 On peut maintenant voir ces 2 disques membres du pool « Pool_Labo_Virtu ».



 

La prochaine étape consiste à créer un volume qui sera présenter au serveur ESX.
C’est grâce à cette étape que la sur-allocation sera éffective.
Pour cela, il faut se rendre dans la rubrique « Virtual Volumes », puis un clic droit dans le panneau de droite.

Ici, il faut donner un nom à notre volume.
Par exemple : Vvolume_Labo_Virtu_2.. Puis l’activer en utilisant la fléche verte pointant vers le bas.

 On retrouve bien notre Virtual Volume.

Note importante : Ne pas oublier d’appliquer ce nouveau volume au Storage Server sinon il ne pourra pas voir cet espace de stockage !
Pour cela, il faut cliquer sur l’icône Apply, dans la barre des tâches.

 Une fois ce paramètrage fait, on peux voir ce nouveau volume disponible.

 Maintenant, il faut créer le lien entre le serveur ESX et ce Virtual Volume.
Pour ce faire, dans « Application Servers », clic droit sur le serveur ESX puis Map New Virtual Volume.

 Selectionner le Virtual Volume puis créer le lien avec le serveur ESX.

On peut remarquer que le Virtual Volume est maintenant présenté au serveur ESX. Mais il ne faut pas oublier, la encore, d’appliquer ces modifiations… sinon l’icône en bas de l’écran restera rouge et donc non-accessible.


 L’icône est passée à une couleur normale, le lien est opérationnel.

 

6.2.3 Présenté à l’ESX les LUN virtuels

 

 

 

 

Passons maintenant à la présentation de cet espace de stockage sur le serveur ESX.
Dans l’onglet « Configuration > Storage Adapter »

Il faut selectionner pour le Type de Stockage : « Disk/LUN ».
Car notre Virtual Volume précédament créé sera reconnu en tant que tel.

 Ici, on peut voir notre Virtual Volume de 2 Téra-octets.


 Puis Next…

 Puis Next…

 Puis OK pour finaliser cet ajout d’une nouvelle LUN.

 Maintenant, le serveur ESX dispose d’une nouvelle LUN « sur-allouée » de 2 Téra-octets.

 

Il est possible à tout moment de rajouter un ou plusieurs disques physiques. Pour cela, il faut reprendre les étapes de mise en conformité des disques, les configurés comme il se doit dans le « Storage Server », les rajoutés au pool déjà existant puis enfin appliqué toutes ces modifications.

A noter que le changement se fera en toute transparence côté ESX. C’est l’intérêt principal de cette solution de stockage virtuel.

6.2.4 Configurer XenServer pour utiliser un disque virtuel 

 

Maintenant que nous avons mappé notre disque à notre XenServer, il nous faut faire reconnaître ce disque au serveur. Pour cela nous utiliserons les lignes de commande suivantes :

Tout d’abord si nous entrons la commande fdisk –l afin de lister les disques, nous ne voyons pas encore le disque virtuel.

En revanche une fois la session iSCSI actualisée par iscsiadm –m session –R

notre disque virtuel de 2 Terras Octets est bien visible :

Pour l’utiliser nous allons activer et configurer le service de multipathing.

Il nous faut éditer le fichier /etc/multipath.conf comme ceci :

  • Commenter (en ajoutant un # devant chacune des lignes) la partie blacklist{} et toutes les lignes comprises entre les deux accolades.
  • Fixer à ‘No‘ le paramètre user_friendly_names (si toute cette partie était commentée, alors décommentez également la ligne contenant l’accolade de début et la ligne de l’accolade de fin de la partie).

  • Dans les paramètres par défaut du multipath, dé commenter la ligne avec le paramètre polling_interval et fixer sa valeur à 10 (si toute cette partie était commentée, alors décommentez également la ligne contenant l’accolade de début et la ligne de l’accolade de fin de la partie).

 

  • Dans la partie ‘devices’, décommentez la ligne contenant l’accolade de début (devices{) et la ligne contenant l’accolade de fin et créer une section device{…} avec les parametres suivants :

  • Enregistrez les changements et quitter.

Redémarrez le démon multipath grâce à la commande service multipathd restart

Réactualiser la session iSCSI grâce à la commande iscsiadm –m session –R

Vérifier la présence de la LUN en tapant la commande multipath –l

Noter la première ligne : 360030d9056566f6c3100000000000000dm-0 DataCore,SANmelody elle présente l’id de notre LUN que nous allons utiliser ci après. L’id est représenté par une série de chiffres et de lettres : 360030d9056566f6c3100000000000000. Il est également possible de récupérer cet id par la commande ls –l /dev/disk/by-id

Ajouter la LUN aux espaces de stockages :

 

Créer une variable HOST_UUID grâce à la commande suivante :

HOST_UUID=`xe host-list name-label=<nom de votre machine hôte> –minimal`


Nous allons maintenant créer un espace de stockage pour notre XenServer sur cette LUN.

La commande est la suivante :

xe sr-create content-type= »LVM » name-label= <nom de votre espace de stockage> type=lvm shared=true host-uuid=${HOST_UUID} device-config-device=/dev/mapper/<id disque>

Notre espace de stockage est ajouté et nous pouvons dès à présent l’utiliser.

NOTE : cet espace est visible depuis le XenCenter :

7 Dans quel contexte utiliser DataCore

 

SANmelody est recommandé pour une petite infrastructure. Le scénario le plus adapté serai le passage d’une infrastructure type un serveur une application à une infrastructure virtualisée. Et pour faire des économies on réutilisera les serveurs pour en faire un espace de stockage à moindre frais.

SANsymphony quand a lui est parfait pour faire une unification des différents espaces de stockage (SAN, NAS) présent au sein de l’infrastructure.

SANmelody et SANsymphony peuvent être utilisé en mode synchrone et asynchrone pour un plan de reprise d’activité.

8 Conclusion

 

La virtualisation de stockage avec les solutions DataCore permet aux petites entreprises de construire des architectures virtualisées simples et abordables.

Le principe de la sur-allocation de l’espace de stockage permet de faire évoluer en douceur les capacités physiques de stockage en fonction des besoins grandissants de l’entreprise, sans sacrifier la continuité de service pour les clients.

Ainsi, la virtualisation s’installe petit à petit au sein des petites entreprises, leur permettant de consolider certains services critiques et de faire des économies d’échelle aussi bien en matériel qu’en énergie nécessaire aux équipements informatiques.

Datacore en mode PRA est une bonne solution alternative à tous les logiciels propriétaire des constructeurs qui demande souvent en plus du matériel strictement équivalent.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :