Abstract
The speed with which the volume of computer data is increasing
in companies, institutions and organizations is immense, being the source of
many problems related to storage, many solutions have been proposed, the best
known of which is the Cloud. That said, the complexity of storage modes does
not seem to be outdated, in fact, even in the presence of a virtualized
infrastructure via a Cloud, storage technologies continue to increase.
To meet these storage needs, many organizations are developing
cloud storage systems to offer them to different companies whose number
implementing this cloud technology continues to grow. Among the storage systems
present in the market are open source: GlusterFS, Ceph, LVM, ZFS, Swift,
Cinder, Manilla, Sheepdog, Kinetic and proprietary: IBM and EMC ... etc.
The objective of this thesis is to address the storage issue
by improving the storage system of a private cloud solution that we have
already deployed with OpenStack. We propose to implement, in addition to the
existing block storage service, object and file storage services to our initial
architecture in order to benefit from the diversity of functionalities that
these different services offer.
After an analysis of the existing system, we decided to
integrate the combination of services: Swift and Manila to the Cinder service
present in our already deployed Private Cloud Solution. This proposal aims to
make the system easily scalable, to strengthen the security of data access, to
support all types of data (structured, unstructured, static, non-static,
binary, transactional ... etc.), to expand access to OpenStack services
(previously limited only to virtual machines) and to allow simultaneous access
to shared files that was not supported with the initial storage system.
Key words: Cloud computing, OpenStack, Bloc
Storage, Object Storage, File Storage, Swift, Cinder, Manila.
Table des
matières
Introduction générale
12
Chapitre 1 : Cloud et virtualisation
14
1.1. Introduction
14
1.2. La virtualisation
14
1.2.1. Définitions et concepts
14
1.2.2. Historique de la virtualisation
15
1.2.3. Les principes de la virtualisation
16
1.2.4. Les différents types de la
virtualisation
19
1.2.5. Les avantages et les
inconvénients de la virtualisation
21
1.3. Le Cloud Computing
22
1.3.1. Définitions et concepts
22
1.3.2. Historique du cloud computing
23
1.3.3. Caractéristiques du cloud
24
1.3.4. Les stratégies de
déploiement
25
1.3.5. Les différents modes de
déploiement
29
1.3.6. Avantages et inconvénients du
cloud
32
1.4. Conclusion
33
Chapitre 2 : État de l'art sur les
solutions de stockage dans Openstack
34
2.1. Introduction
34
2.2. Présentation de la solution
OpenStack
34
2.3. Étude et analyse de
l'existant
35
2.4. Synthèse de l'existant
42
2.5. Conclusion
44
Chapitre 3 : Étude analytique et
comparative entre les types de stockages persistant dans la solution
Openstack
45
3.1. Introduction
45
3.2. Les types de stockage dans OpenStack
45
3.2.1. Stockage
éphémère
45
3.2.2. Stockage persistant
46
3.3. Le mode de stockage en objet
« Swift »
46
3.3.1. Vue d'ensemble sur Swift
47
3.3.2. Architecture de Swift :
48
3.4. Le mode de stockage en bloc
« Cinder »
50
4.4.1. Vue d'ensemble sur
« Cinder »
51
4.4.2. Architecture de
« Cinder »
52
3.5. Le mode de stockage en fichier «
Manila » :
53
4.5.1. Vue d'ensemble sur Manila
53
4.5.2. Architecture de Manila
54
3.6. Étude comparative entre les
services Cinder et Swift et Manila
56
3.6.1. Scalabilité et backend
56
3.6.2. Cohérence des
données
57
3.6.3. Accessibilité et
administration
57
3.6.4. Sécurité
58
3.6.5. Redondance et tolérance aux
pannes
59
3.7. Conclusion
60
Chapitre 4 : Implémentation des services
de stockage Swift et Manila
62
3.1. Introduction
62
3.2. Travail réalisé
62
3.2.1. Configuration du service Neutron
63
3.2.2. Implémentation du service de
stockage d'objet (Swift)
68
3.2.3. Implémentation du service de
système de fichiers partagé (Manila)
74
3.2.4. Utilisation privée du stockage
offert par la solution Cloud :
77
3.3. Conclusion
81
Conclusion générale
82
Perspective
84
Bibliographie
85
Annexe A : Commandes d'installations et de
configurations
89
Liste des
figures
Figure 1 : Le concept de la virtualisation
[3]
15
Figure 2 : Historique de la virtualisation [6]
16
Figure 3 : Création des ressources virtuelles
propres à chaque machine virtuelle [5]
17
Figure 4 : Représentation de l'hyperviseur du
type 1 [4]
18
Figure 5 : Représentation de l'hyperviseur de
type 2 [4]
19
Figure 6 : la paravirtualisation [4]
20
Figure 7 : La virtualisation totale et la
paravirtualisation [4]
20
Figure 8 : Vue générale sur le Cloud
[7]
22
Figure 9 : Évolution de l'information vers le
Cloud Computing [14]
24
Figure 10 : L'environnement du Cloud Computing
[15]
25
Figure 11 : Schéma de l'architecture
matérielle du Cloud public [9]
26
Figure 12 : Schéma de l'architecture
matérielle du Cloud privé interne [17]
27
Figure 13 : Schéma de l'architecture
matérielle du Cloud privé externe [17]
27
Figure 14 : Schéma de l'architecture
matérielle du Cloud hybride [9]
28
Figure 15 : Schéma de l'architecture
matérielle du Cloud Communautaire [17]
28
Figure 16 : Les services du Cloud Computing [23]
31
Figure 17 : La répartition des
responsabilités [24]
32
Figure 18 : Le mode de stockage en objet [38]
46
Figure 19 : Organisation logique du service Swift
[39]
47
Figure 20 : Organisation physique du service Swift
[39]
48
Figure 21 : Architecture logique du service Swift
[40]
49
Figure 22 : le mode de stockage en bloc [38]
51
Figure 23 : Architecture logique du service
Cinder [41]
52
Figure 24 : le stockage en mode fichier
[38]
53
Figure 25 : Architecture logique du service Manila
[41]
55
Figure 26 : schéma de l'architecture de
réseau avec le mécanismes Open vSwitch [46]
64
Figure 27 : Topologie simple du réseau
informatique
65
Figure 28 : Topologie graphique du réseau
informatique
66
Figure 29 : Test ICMP & TCP des instances
67
Figure 30 : Présentation du service de
stockage d'objet Swift dans le tableau de bord
68
Figure 31 : création d'un conteneur
69
Figure 32 : chargement des fichiers dans le
conteneur
69
Figure 33 : présentation des fichiers dans le
conteneur privé
70
Figure 34 : La récupération du lien du
conteneur
70
Figure 35 : Liste des objets via le lien du
conteneur - vue par défaut en fichier XML -
71
Figure 36 : téléchargement d'un
fichier depuis un conteneur public
71
Figure 37 : optimisation de la liste des objets avec
des liens cliquables
72
Figure 38 : vue du conteneur depuis un smartphone
non connecté à la plateforme Cloud
72
Figure 39 : présentation du site internet
hébergé dans le cloud
73
Figure 40 : Présentation du service de
fichiers partagés dans le tableau de bord
74
Figure 41 : Création de type de partage
75
Figure 42 : Création d'un partage
76
Figure 43 : Présentation du Partage
76
Figure 44 : Connexion de l'utilisateur au Cloud
depuis un Smartphone
77
Figure 45 : Nom de projet et d'utilisateur
78
Figure 46 : Tableau de bord de l'utilisateur depuis
smartphone
78
Figure 47 : Téléchargement de fichier
dans le conteneur
79
Figure 48 : Liste des objets dans le conteneur de
l'utilisateur
80
|