Mise en Place d’un partage CIFS et d’un VMware DataStore NFS sur DellEMC Unity en REST API

Nous avons tous été (ou sera) confronté un jour à être sollicité par les équipes Dev, à fournir les appels API de différentes parties de l’infrastructure afin qu’ils puissent les intégrer, consolider et ainsi fournir une interface unique multi-vendeur ou de les présenter depuis le portail Cloud interne sous forme de service pour les utilisateurs.

Dans cet article, vous trouverez 2 exemples d’appels REST API sur une baie de stockage DellEMC unity qui permet la création d’un partage cifs aux utilisateurs et la création d’un DataStore NFS sur VMware.

Nous devons considérer que la baie de stockage est configuré avec le contrôleur de domaine AD, DNS, NTP.

Depuis le navigateur Chrome, Télécharger le plugin RestEasy.

Interface RestEasy

  1. Ajout des Headers:
    • Accept : application/json
  • Content-Type : application/json
  • X-EMC-REST-CLIENT : true

Récupération du Token à travers :

GET        https://10.10.1.4/api/instances/virtualDisk/vdisk_1

Insertion du Token au Header :

  • EMC-CSRF-TOKEN : « Token »

1- Mise en place d’un partage CIFS :

  • Création d’un Serveur NAS

URL: https://10.10.1.4/api/types/nasServer/instances

METHOD: POST

BODY:

{

    « name »: « meta_nas »,

    « pool »: {« id »: « pool_1 »},

    « homeSP »: {« id »: « spa »}

}

Affichage du serveur NAS depuis l’interface Unisphere.

Comme vous pouvez le remarquer, les informations tels que le SMB Server, File System, SMB Share sont manquantes. Nous allons procéder à leur création via les requêtes qui suivront :

  • Création d’une interface réseau :

URL: https://10.10.1.4/api/types/fileInterface/instances

METHOD: POST

BODY:

{

« ipPort »: {« id »: « spa_eth0 »},

« ipAddress »: « 10.10.1.82 »,

« netmask »: « 255.255.255.0 »,

« gateway »: « 10.10.1.1 »,

« nasServer »: {« id »: « nas_5 »}

}

  • Ajout du domaine

URL: https://10.10.1.4/api/types/fileDNSServer/instances

METHOD: POST

BODY:

{

                                « nasServer »:{« id »: »nas_5″},

                                « domain »: »kslab.com »,

                                « addresses »: [

                                « 10.10.1.3 »

        ]

}

  • Création d’un serveur cifs :

URL: https://10.10.1.4/api/types/cifsServer/instances

METHOD: POST

BODY:

{

    « nasServer »:{« id »: »nas_5″},

    « name »: »meta_cifs »,

    « domain »: »kslab.com »,

    « domainUsername »: »administrator »,

    « domainPassword »: »************** »

}

  • Création d’un système de fichier :

URL: https://10.10.1.4/api/types/storageResource/action/createFilesystem

METHOD: POST

BODY:

{

    « name »: »meta_fs »,

                « fsParameters »:

                {

                                « pool »: {« id »: »pool_1″},

                                « nasServer »: {« id »: »nas_5″},

                               « isThinEnabled »: true,

                               « supportedProtocols »: 1,

                                « size »: 23221225472,

                                « fastVPParameters »: {« tieringPolicy »: 0}

                },

                « cifsFsParameters »: {« isCIFSOpLocksEnabled »:true}

}

  • Création d’un partage cifs :

URL: https://10.10.1.4/api/instances/storageResource/res_6/action/modifyFilesystem

METHOD: POST

BODY:

{

                « cifsShareCreate »: [

                {

  « path »: « / »,

  « name »: « karim »,

  « cifsServer »:{« id »: »cifs_2″},

                                  « cifsShareParameters »:

                                {

                                                   « description »: » »,

                                                   « isReadOnly »:false,

                                                    « isEncryptionEnabled »:false,

« isContinuousAvailabilityEnabled »:false,

                                                     « isACEEnabled »:false,

                                                     « isABEEnabled »:false,

                                                     « isBranchCacheEnabled »:false

                                }

                }

  ]

}

État du partage cifs:

Tester l’accès au partage de fichier :

2- Mise en place d’un Datastore NFS VMware:

URL: https://10.10.1.4/api/types/storageResource/action/createVmwareNfs

METHOD: POST

BODY:

{

    « name »: « MclarenRacing »,

    « fsParameters »:

                {

                                « pool »: {« id »: »pool_1″},

                                « nasServer »: {« id »: »nas_5″},

        « isThinEnabled »: true,

        « supportedProtocols »: 0,

                                « size »: 99322222122   

                }

}

État du DataStore NFS sur DellEMC Unisphere :

État du DataStore NFS sur VMware vCenter :

Voici une démonstration de la création d’un VMware NFS DataStore et d’un partage CIFS.

La prochaine étape consiste à utiliser ces appels REST API pour mettre en place une application Web sur Flask ou Django ou notamment développer des workflow vRo pour automatiser les tâches ou de les présenter sous forme de service cloud en demande depuis l’interface vRA. Donc si vous êtes des professionnels ou avez de l’expérience dans ce domaine, et que vous souhaitez contribuer à ce projet, je suis preneur.

N’hésitez pas à me faire part de vos suggestions et de vos remarques.

A propos de l’auteur Karim Sabbagh

Karim Sabbagh lives in Paris. After his study in Information Technologies in Tunisia, he started in the IT business in an American multinational enterprise information technology company. After more than 2 years, he moved to Qatar to join a Kuwaiti company as System Engineer to work in different fields and areas with different technologies, most of them DellEMC, VMware and Citrix Since then he gained more than 5 years of IT experience. Karim is with Metanext, a French company since 2019 where he now works as a Cloud and Virtualization Consultant. He is a specialist on infrastructures, and has much knowledge of business processes, systems management processes and integration issues. Karim follows trends and developments in his field closely. He is ITIL, DellEMC Cloud Architect Expert, DellEMC Midrange Storage Specialist, VMware VCP-DCV, HPE SDN, Nutanix Platform Professional and VxRail Specialist Certified.

un commentaire

Répondre

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 )

Photo Google

Vous commentez à l'aide de votre compte Google. 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 )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.