Implémentation des services de stockage d'objets et de fichiers partagés dans la solution cloud openstackpar Assala HALLA Ecole Nationale Polytechnique d'Oran - Maurice Audin - Master spécialisé 2020 |
Liste des abréviationsAMQP Advanced Message Queuing Protocol API Application Programming Interface CERN European Organization for Nuclear Research CIFS Common Internet File System CRUSH Criminal Reduction Utilising Statistical History DHCP Dynamic Host Configuration Protocol HPC High Performance Computer GPL General Public License HDFS Hadoop Distributed File System HTTP Hyper Text Transfer Protocol IAAS Infrastructure As AService IDS Inrusion Detection System IP Internet Protocol ISCSI Internet Small Computer System Interface KVM Kernel-based Virtual Machine LAN Local Area Network LDAP Lightweight Directory Access Protocol LXC Linux Containers LVM Logical Volume Manager MAC Multi Access Computer MySQL My Structured Query Language NAT Network Address Translation NAS Network Attached Storage NASA National Aeronautics and Space Administration NFS Network File System NFV Network Functions Virtualization OVS Open vSwitch PAAS Plate-forme As A Service QEMU Quick EMUlator RBD RADOS Block Storage REST REpresentationalStateTransfer RPC Remote procedure call SAAS Software As A Service SAN Storage Area Network SSH Secure Shell TCP Transmission Control Protocol TRC The Research Council URL Uniform Resource Locator VLAN VirtualLocal Area Network VM Virtual Machine VNC Virtual Network Computing XML Xtenssible Markup Language Liste des tableaux Tableau 1 : Principales caractéristiques des stratégies de déploiement du cloud [19] 29 Tableau 2 : Synthèse de l'existant 43 Tableau 3 : Tableau de comparaison entre les services Cinder, Swift et Manila 59 L'énorme croissance des infrastructures des technologies de l'information (IT) combinée à l'augmentation des coûts de l'informatique exige une solution de contournement efficace assurant la réduction des coût associés à ces infrastructures. De plus, comme la croissance incontrôlée des données a suscité desinquiétudes pour l'environnement de l'entreprise, le stockage a été déplacé en dehors des serveurs vers des environnement virtuels grâce à la technologie du Cloud Computing. Le Cloud computing exerce un vrai impacte sur la façon avec laquelle les informations sont stockées et partagées, apportant par conséquence un changement majeurau monde économique et technologique, en effet, des plateformes distribuées ont vu le jour pour fournir des services au client à la demande, ce dernier est affecté par le système que génère l'architecture « pay as you go » adoptée par le Cloud avec laquelle les ressources sont facturéesselon le modèle et le temps d'utilisation du Client. Beaucoup d'organisations informatiqueset fournisseurs de services se tournent vers la solution OpenStack comme mécanisme permettant de créer leurs propres Clouds privés ou public. Openstack fournit un cadre pour proposer des ressources de calcul, de stockage et de réseau qui peuvent être consommées en tant que servicesans avoir besoin de gros investissements dans le matériel physique. OpenStack est actuellement un projet open source et compte des centaines de contributeurs. Comme la raison principale du développement du Cloud est bien le stockage. Il existe en effet trois types de stockage dans le Cloud : le stockage en objet, en bloc et en fichier. Le stockage en objets quiconvient aux données statiques non structurés (fichiers multimédias), en raison de son agilité et de sa nature plate, il peut être adapté pour prendre en charge des quantités extrêmement massives de données.Le stockage en mode Bloc est idéal aux données structurées non statiques, grâce à sa rapidité il convient mieux aux bases de données qui nécessitent d'être adapté en permanence, de plus, il offre un environnement idéal pour le stockage des machines virtuelles. Le stockage en mode fichiers partagé prend en charge tous les types de fichiers qu'ils soient structurés ou non offrant la possibilité d'y accéder même simultanément par plusieurs machines grâce à la notion de partage. OpenStack propose divers types de stockages assurés par plusieurs services, en effet cette plateforme de Cloud a développé en 2010 un service appelé « Swift » grâce auquel unstockage en mode objet est fourni, il a été suivi quelques années plus tard, en 2012, du service « Cinder » proposant un stockage en mode bloc, en 2015 le projet OpenStack lance un troisième service de stockage de fichiers partagés sous le nom de « Manila ». L'amélioration du stockage au sein d'OpenStack ne se résument pas uniquement aux services interne, en effet, de nombreuse entreprises ont développé des alternatives externes qui peuvent être implémenté à la solution OpenStack, parmi les systèmes de stockage présents dans le marché on retrouve les open source : GlusterFS, Ceph, LVM, ZFS, Swift, Cinder, Manilla, Sheepdog, Kinetic et les propriétaires : IBM et EMC...etc. proposant chacun des fonctionnalités différentes voire complémentaires. Notre travail consiste à réaliser une étude comparative entre les types de stockage dans le Cloud et à implémenter un ou plusieurs services de stockages à la solution Cloud privé que nous avons déployé sous OpenStack dans le but d'améliorer le système de stockage. Pour cela nous allons étudier en profondeurles différentes méthodologies de stockages présentes dans le marchéet plus précisément celles qui sont open source et qui peuvent s'intégrer facilement à notre solution OpenStack. Les objectifs du système de stockage que nous allons implémenter peuvent se présenter ainsi : - Garantir la connectivité des instances en réseau privé et public - Permettre l'accès depuis l'extérieur au Cloud - Fourniture d'un stockage en tant que service au grand public - Améliorer la scalabilité et l'évolutivité du système. - Agrandir l'accessibilité précédemment limitée aux machines virtuelles. - Assurer la protection des données et la tolérance aux pannes. - Garantir le stockage d'une diversité de type de données (Structuré ou non, statique ou non, transactionnelles, volumineuses, binaires...etc.). - Fournir un accès simultané aux unités de stockage. - Sécuriser l'accès aux données. Ce mémoire est structuré en quatre chapitres : - Dans le premier chapitre, nous présenterons en détail les deux technologies de Cloud Computing et de la virtualisation, leurs fonctionnements, leurs types et leurs modes. - Le second chapitre consiste à réaliserun état de l'art sur les solutions de stockage Cloud existantsen se basant sur l'analyse et la synthèse de six (06) support de recherches qui représentent des sources d'informations fiables à savoir des articles de recherches, des rapports de conférence, des articles de journaux ...etc. La présentation des recherches menées sera suivie d'une analyse des conclusions auxquelles les chercheurs sont arrivés et d'une synthèse de document. - Le troisième chapitre présente la solution qui sera implémentée pour améliorer le système de stockage, nous présenterons la combinaison de services de stockage qui répondent aux objectifs cités auparavant ainsi qu'une comparaison selon plusieurs critères comme : la sécurité, la cohérence, le Protocol d'accès et le type de données stockées - Le dernier chapitre concerne l'installation, la configuration et l'implémentation des services de stockage ainsi que le test de fonctionnalités (accès, stockage...etc.) assurées par ces derniers 1.1. IntroductionLe volume des données informatiques augmente de manière exponentielle ce qui exige aux entreprises des moyens énormes pour gérer leurs infrastructures informatiques. De nos jours, la priorité principale des entreprises est la possibilité de réduire les coûts liés à cette gestion d'infrastructure. Plusieurs techniques ont été utilisées pour réaliser cette réduction des coûts, parmi lesquels, la virtualisation, et le Cloud Computing. Ces deux concepts sont différents mais complémentaires. Dans ce chapitre on détaillera le principe, les caractéristiques, les avantages et les inconvénients de la virtualisation ainsi que ceux du cloud pour pouvoir lier leurs usages aux entreprises. |
|