Nous mentionnons généralement trois types de cloud computing : Software as a Service (SaaS), Platform as a Service (PaaS) et Infrastructure as a Service (IaaS). Lorsque le concept du cloud est apparu pour la première fois, les gens disaient qu'il était confus et peu clair. Aujourd'hui, la technologie cloud est profondément ancrée dans le cœur des gens. Peut-être que vous utilisez le cloud sans vous en rendre compte. Par exemple, le Gmail que vous utilisez quotidiennement est sur Google Cloud. . Afin de mieux comprendre ces trois cloud différents, nous pouvons prendre Google comme exemple. Cette société propose trois formes de services cloud. Tout d'abord, regardez les applications SaaS telles que Google Gmail/Docs/Gtalk/Maps. Cloud. , ils fournissent donc un « logiciel en tant que service » pour les utilisateurs ordinaires ; Google fournit également AppEngine pour les développeurs, qui permet aux développeurs d'utiliser Python, Java et d'autres langages ainsi que les API qu'ils fournissent pour développer des logiciels et des services. ils fournissent aux développeurs une « Platform as a Service » ; Google lui-même a construit une énorme infrastructure cloud de base basée sur GFS, BigTable et MaPReduce pour fournir à son propre personnel interne une "Infrastructure as a Service". .
OpenNebula est un ensemble d'outils de gestion de base du cloud computing open source qui permettent aux administrateurs de déployer, créer, allouer et gérer uniformément un grand nombre de machines virtuelles dans le centre de données. Les centres de données d'entreprise peuvent utiliser cet ensemble d'outils pour créer leurs propres cloud privés. et fournit des services IaaS internes, les produits open source similaires incluent Eucalyptus, openQRM, etc. Le processus d'installation suivant est effectué sur deux serveurs de VPSee équipés du système CentOS 5.5. Un serveur est utilisé comme frontal OpenNubula (node00) et l'autre serveur est utilisé comme nœud (node01) pour créer un "cloud" minimal. Si vous souhaitez étendre ce cloud, il vous suffit d'ajouter progressivement des nœuds (node02, node03, ...).
Installer et configurer le front-end (Front-End)
Ajouter la source CentOS Karan :
# cd /etc/yum.repos.d
# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
# miam mise à jour
Installez les packages logiciels requis par OpenNebula et les outils requis pour compiler le code source d'OpenNebula :
# miam installez gcc gcc-c++ make openssl-devel flex bison
# miam installer ruby ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc
# Miam, installe Rubygems
# gem installer nokogiri rake xmlparser
# Miam, installez les scons
# miam, installez xmlrpc-c xmlrpc-c-devel
La version SQLite fournie avec CentOS ne fonctionne pas. Vous devez télécharger et compiler la version SQLite 3.6.17 :
# wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz
# tar xvzf sqlite-amalgamation-3.6.17.tar.gz
# cd sqlite-3.6.17/
# ./configure;
Après avoir téléchargé et compilé le package source opennebula 2.0.1, décompressez, compilez et installez :
# tar zxvf opennebula-2.0.1.tar.gz
# cd opennebula-2.0.1
#scons
# ./install.sh -d /srv/cloud/one
# ls /srv/cloud/one/
bin, etc. incluent lib share var
Avant de démarrer OpenNebula, vous devez configurer la variable d'environnement ONE_AUTH. Cette variable d'environnement est lue à partir du fichier $HOME/.one/one_auth, vous devez donc d'abord créer le fichier one_auth puis en démarrer un (programme de service OpenNebula) :
# cd /racine/
# mkdir .un
# cd .one/
# cat "oneadmin:passWord" > one_auth
# un début
OpenNebula prend en charge trois technologies de virtualisation : KVM, Xen et VMware. Nous devons également indiquer à OpenNebula laquelle nous voulons utiliser et en redémarrer une pour que la configuration prenne effet :
# vi /etc/one/oned.conf
...
IM_MAD = [
nom = "im_xen",
exécutable = "one_im_ssh",
arguments = "xen" ]
VM_MAD = [
nom = "vmm_xen",
exécutable = "one_vmm_ssh",
arguments = "xen",
par défaut = "vmm_ssh/vmm_ssh_xen.conf",
tapez = "xen" ]
...
# un arrêt
# un début
Installer et configurer le nœud (Compute Node)
Un environnement virtuel Xen ou KVM doit être installé sur chaque nœud. Pour plus de détails, veuillez rechercher la référence : Installation et configuration de Xen sur CentOS et Installation et configuration de KVM sur CentOS. Un environnement d'exploitation Ruby est également requis :
# Miam, installe Ruby
Échanger la clé SSH
Étant donné que la communication entre OpenNebula Front et les nœuds se fait via SSH, une connexion SSH sans mot de passe doit être configurée entre le front et les nœuds pour éviter de saisir un mot de passe lorsque le front exécute des scripts sur les nœuds ou clone des images. Configurez d'abord sshd sur le front et les nœuds. :
# vi /etc/ssh/sshd_config
RSAAthentification oui
PubkeyAuthentification oui
# /etc/init.d/ssh redémarrage
Créez la clé au recto (node00) et copiez-la sur le nœud (node01) :
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
Créez la clé sur un nœud (node01) et copiez-la au premier plan (node00) :
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
un hôte
Une fois que le front peut communiquer avec chaque nœud via ssh sans mot de passe, vous pouvez utiliser la commande onehost create sur le front pour joindre les nœuds un par un et utiliser la liste onehost pour vérifier si la création a réussi :
# onehost crée node01 im_xen vmm_xen tm_ssh
# liste d'hôtes
ID NOM CLUSTER RVM TCPU FCPU ACPU TMEM FMEM STAT
1 node01 par défaut 0 400 400 400 3,8G 383M activé
Si une erreur est signalée lors de l'exécution de onehost create, consultez le journal oned.log et recherchez les mots sudo : désolé, vous devez avoir un tty pour exécuter sudo. La raison est qu'OpenNebula nécessite ssh/sudo distant pour exécuter les commandes et le sudo de CentOS. l'option requiretty est activée par défaut. ssh A tty est requis pour s'exécuter, donc sudo distant provoquera une erreur :
# onehost crée node01 im_xen vmm_xen tm_ssh
# tail /var/log/one/oned.log
Mar 22 février 11:08:58 2011 [InM][I] : échec de l'exécution de la commande : 'if [ -x "/var/tmp/one/im/run_probes" ] then /var/tmp/one/im/run_probes xen 172.16.39.111 ; sinon sortie 42 ;
Mardi 22 février 11:08:58 2011 [InM][I] : STDERR suit.
Mardi 22 février 2011 11:08:58 [InM][I] : sudo : désolé, vous devez avoir un terminal pour exécuter sudo
Mardi 22 février 11:08:58 2011 [InM][I] : Erreur lors de l'exécution de xen.rb
La solution est de désactiver (commenter) la ligne requiretty :
# chmod 600 /etc/sudoers
# vi /etc/sudoers
#Exigences par défaut
Étant donné que les deux serveurs de VPSee utilisent un proxy HTTP pour accéder à Internet, OpenNebula a lu la variable d'environnement http_proxy du système et a trouvé une erreur de réponse HTTP dans le journal sched.log. À ce stade, http_proxy doit être fermé :
# cat /var/log/one/sched.log
Mar 22 février 14:27:39 2011 [HOST][E] : Exception levée : Impossible de transporter XML vers le serveur et de récupérer la réponse HTTP : 504.
Mardi 22 février 2011 14:27:39 [POOL][E] : impossible de récupérer les informations sur le pool à partir de ONE
# désactiver http_proxy
Créez et modifiez le fichier de configuration du réseau virtuel, puis créez un réseau virtuel OpenNebula :
#vi small_network.net
NOM = "Petit réseau"
TYPE = FIXE
PONT = br0
BAUX = [ip="192.168.0.5"]
BAUX = [IP="192.168.0.6"]
BAUX = [IP="192.168.0.7"]
# onevnet crée small_network.net
# liste onevnet
ID NOM D'UTILISATEUR TYPE PONT P #BAUX
0 oneadmin Petit réseau Fixe br0 N 0
unvm
Créez et modifiez le fichier de configuration de démarrage de la machine virtuelle. Le centos.5.5.x86.img ici peut être téléchargé depuis http://stacklet.com/ (payant) ou vous pouvez en créer un vous-même à l'aide des outils Xen :
# wget http://stacklet.com/sites/default/files/centos/
centos.5.5.x86.img.tar.bz2
# tar jxvf centos.5.5.x86.img.tar.bz2
# mv centos.5.5.x86.img /srv/cloud/one/var/images/
# vi centos.one
NOM = centos
Processeur = 1
MÉMOIRE = 256
DISQUE = [
source = "/srv/cloud/one/var/images/centos.5.5.x86.img
cible = "sda1",
clone = "oui",
lecture seule = "non" ]
Carte réseau = [ MAC = "00:16:3E:00:02:64", pont = xenbr0 ]
Système d'exploitation = [ chargeur de démarrage = "/usr/bin/pygrub" ]
Utilisez la commande onevm create pour démarrer le fichier de configuration de la VM ci-dessus, et une machine virtuelle sera créée sur node01. Utilisez onevm list pour vérifier et vous verrez l'état prol, indiquant que le processus de création est en cours. , le statut deviendra runn :
# onevm crée centos.one
# liste onevm
ID NOM D'UTILISATEUR STAT CPU MEM NOM D'HÔTE HEURE
1 oneadmin centos prol 0 0K node01 00 00:09:09
# liste onevm
ID NOM D'UTILISATEUR STAT CPU MEM NOM D'HÔTE HEURE
1 oneadmin centos runn 0 0K node01 00 00:22:17
De cette façon, nous avons déployé un cloud minimal sur deux serveurs, node00 (front) et node01 (node), et exécuté une instance de machine virtuelle basée sur Xen sur node01.
Source de l'article : http://www.vpsee.com/2011/02/install-opennebula-on-centos/