Im Allgemeinen erwähnen wir drei Arten von Cloud Computing: Software as a Service (SaaS), Platform as a Service (PaaS) und Infrastructure as a Service (IaaS). Als das Cloud-Konzept zum ersten Mal aufkam, sagten die Leute, es sei verwirrend und unklar. Jetzt ist die Cloud-Technologie tief in den Herzen der Menschen verankert. Vielleicht nutzen Sie die Cloud, ohne es zu merken . Um diese drei verschiedenen Clouds besser zu verstehen, können wir Google als Beispiel nehmen. Dieses Unternehmen bietet zunächst drei Formen von Cloud-Diensten an, z. B. Google Mail/Docs/Gtalk/Maps Cloud, also stellen sie „Software as a Service“ für normale Benutzer bereit; Google bietet auch AppEngine für Entwickler an, die es Entwicklern ermöglicht, Python, Java und andere Sprachen sowie die von ihnen bereitgestellten APIs zur Entwicklung von Software und Diensten zu verwenden Sie stellen Entwicklern „Platform as a Service“ zur Verfügung; Google selbst hat eine riesige grundlegende Cloud-Infrastruktur auf Basis von GFS, BigTable und MaPReduce aufgebaut, um seinen eigenen internen Mitarbeitern „Infrastructure as a Service“ zur Verfügung zu stellen .
OpenNebula ist eine Reihe grundlegender Open-Source-Cloud-Computing-Verwaltungstools, die es Administratoren ermöglichen, eine große Anzahl virtueller Maschinen im Rechenzentrum einheitlich bereitzustellen, zu erstellen, zuzuweisen und zu verwalten. Unternehmensrechenzentren können diese Tools verwenden, um ihre eigenen privaten Clouds aufzubauen und stellt interne IaaS-Dienste bereit. Ähnliche Open-Source-Produkte umfassen Eucalyptus, openQRM usw. Der folgende Installationsprozess wird auf zwei Servern von VPSee durchgeführt, die mit dem CentOS 5.5-System ausgestattet sind. Ein Server wird als OpenNubula-Frontend (node00) und der andere Server als Knoten (node01) zum Aufbau einer minimalen „Cloud“ verwendet. Wenn Sie diese Cloud erweitern möchten, müssen Sie nur nach und nach Knoten hinzufügen (node02, node03, ...).
Installieren und konfigurieren Sie das Frontend (Front-End)
CentOS Karan-Quelle hinzufügen:
# cd /etc/yum.repos.d
# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
# leckeres Update
Installieren Sie die für OpenNebula erforderlichen Softwarepakete und die zum Kompilieren des OpenNebula-Quellcodes erforderlichen Tools:
# yum install gcc gcc-c++ make openssl-devel flex bison
# lecker, installiere Ruby, Ruby-devel, Ruby-docs, Ruby-ri, Ruby-irb, Ruby-rdoc
# lecker, installiere Rubygems
# gem install nokogiri rake xmlparser
# lecker, installiere Scons
# lecker, installiere xmlrpc-c xmlrpc-c-devel
Die mit CentOS gelieferte SQLite-Version funktioniert nicht. Sie müssen die SQLite-Version 3.6.17 herunterladen und kompilieren:
# 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; make make install
Nachdem Sie das Opennebula 2.0.1-Quellpaket heruntergeladen und kompiliert haben, dekomprimieren, kompilieren und installieren Sie Folgendes:
# 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 usw. umfassen lib share var
Bevor Sie OpenNebula starten, müssen Sie die Umgebungsvariable ONE_AUTH konfigurieren. Diese Umgebungsvariable wird aus der Datei $HOME/.one/one_auth gelesen. Sie müssen also zuerst die Datei one_auth erstellen und dann eine starten (OpenNebula-Dienstprogramm):
# cd /root/
# mkdir .one
# cd .one/
# cat "oneadmin:passWord" > one_auth
# ein Anfang
OpenNebula unterstützt drei Virtualisierungstechnologien: KVM, Xen und VMware. Wir müssen OpenNebula außerdem mitteilen, welche wir verwenden möchten, und eine davon neu starten, damit die Konfiguration wirksam wird:
# vi /etc/one/oned.conf
...
IM_MAD = [
name = "im_xen",
executable = "one_im_ssh",
arguments = "xen" ]
VM_MAD = [
name = "vmm_xen",
executable = „one_vmm_ssh“,
Argumente = "xen",
default = "vmm_ssh/vmm_ssh_xen.conf",
type = "xen" ]
...
# eine Haltestelle
# ein Anfang
Installieren und konfigurieren Sie den Knoten (Compute Node)
Auf jedem Knoten muss eine virtuelle Xen- oder KVM-Umgebung installiert werden. Weitere Informationen finden Sie unter „Installation und Konfiguration von Xen unter CentOS“ und „Installation und Konfiguration von KVM unter CentOS“.
# lecker, installiere Ruby
Tauschen Sie den SSH-Schlüssel aus
Da die Kommunikation zwischen OpenNebula Front und Nodes über SSH erfolgt, muss eine passwortlose SSH-Anmeldung zwischen Front und Nodes eingerichtet werden, um die Eingabe eines Passworts zu vermeiden, wenn die Front Skripte auf Nodes ausführt oder Images klont. Konfigurieren Sie zunächst sshd auf der Front und den Nodes :
# vi /etc/ssh/sshd_config
RSAAuthentication ja
PubkeyAuthentication ja
# /etc/init.d/ssh Neustart
Erstellen Sie den Schlüssel auf der Vorderseite (node00) und kopieren Sie ihn auf den Knoten (node01):
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
Erstellen Sie den Schlüssel auf einem Knoten (node01) und kopieren Sie ihn nach vorne (node00):
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub node01
onehost
Nachdem die Front mit jedem Knoten über passwortloses SSH kommunizieren kann, können Sie den Befehl „onehost create“ auf der Vorderseite verwenden, um die Knoten nacheinander zu verbinden, und mithilfe der Onehost-Liste überprüfen, ob die Erstellung erfolgreich war:
# onehost create node01 im_xen vmm_xen tm_ssh
# Onehost-Liste
ID-NAME CLUSTER RVM TCPU FCPU ACPU TMEM FMEM STAT
1 Knoten01 Standard 0 400 400 400 3,8G 383M ein
Wenn beim Ausführen von onehost create ein Fehler gemeldet wird, überprüfen Sie das Protokoll oned.log und finden Sie die Wörter sudo: Entschuldigung, Sie müssen über ein TTY verfügen, um sudo auszuführen. Der Grund dafür ist, dass OpenNebula Remote-SSH/Sudo zum Ausführen von Befehlen und CentOSs sudo benötigt Die Option „requiretty“ ist standardmäßig aktiviert. Zur Ausführung ist „ssh A tty“ erforderlich, sodass Remote-Sudo einen Fehler verursacht:
# onehost create node01 im_xen vmm_xen tm_ssh
# tail /var/log/one/oned.log
Di, 22. Februar 11:08:58 2011 [InM][I]: Befehlsausführung fehlgeschlagen: 'if [ -x "/var/tmp/one/im/run_probes" ]; then /var/tmp/one/im/run_probes xen 172.16.39.111; sonst Ausfahrt 42;
Dienstag, 22. Februar, 11:08:58 Uhr 2011 [InM][I]: STDERR folgt.
Tue Feb 22 11:08:58 2011 [InM][I]: sudo: Entschuldigung, Sie müssen ein TTY haben, um sudo auszuführen
Di, 22. Februar 11:08:58 2011 [InM][I]: Fehler beim Ausführen von xen.rb
Die Lösung besteht darin, die Anforderungszeile zu deaktivieren (auskommentieren):
# chmod 600 /etc/sudoers
# vi /etc/sudoers
#Defaults erforderlich
Da die beiden Server von VPSee HTTP-Proxy verwenden, um auf das Internet zuzugreifen, hat OpenNebula die Umgebungsvariable http_proxy des Systems gelesen und einen HTTP-Antwortfehler im Protokoll sched.log gefunden. Zu diesem Zeitpunkt muss http_proxy geschlossen werden:
# cat /var/log/one/sched.log
Di, 22. Februar 14:27:39 2011 [HOST][E]: Ausnahme ausgelöst: XML kann nicht zum Server transportiert und XML-Antwort zurückerhalten werden: 504
Di, 22. Februar 14:27:39 2011 [POOL][E]: Poolinformationen konnten nicht von ONE abgerufen werden
# http_proxy deaktiviert
Erstellen und bearbeiten Sie die Konfigurationsdatei des virtuellen Netzwerks und erstellen Sie dann ein virtuelles OpenNebula-Netzwerk:
# vi small_network.net
NAME = „Kleines Netzwerk“
TYP=FEST
BRÜCKE = br0
VERMIETUNG = [ip="192.168.0.5"]
VERMIETUNG = [IP="192.168.0.6"]
VERMIETUNG = [IP="192.168.0.7"]
# onevnet erstellt small_network.net
# onevnet-Liste
ID BENUTZERNAME TYP BRIDGE P #LEASES
0 oneadmin Kleines Netzwerk Fest br0 N 0
onevm
Erstellen und bearbeiten Sie die Startkonfigurationsdatei der virtuellen Maschine. Die Datei „centos.5.5.x86.img“ kann hier von http://stacklet.com/ heruntergeladen werden (gegen Gebühr) oder Sie können sie selbst mit den Xen-Tools erstellen:
# 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
NAME = Centos
CPU = 1
SPEICHER = 256
DISK = [
source = "/srv/cloud/one/var/images/centos.5.5.x86.img
Ziel = „sda1“,
Klon = "Ja",
readonly = "nein" ]
NIC = [ MAC = "00:16:3E:00:02:64", Bridge = xenbr0 ]
OS = [ bootloader = "/usr/bin/pygrub" ]
Verwenden Sie den Befehl onevm create, um die obige VM-Konfigurationsdatei zu starten. Überprüfen Sie dies mit onevm list und sehen Sie den Prol-Status, der anzeigt, dass der Erstellungsprozess ausgeführt wird , der Status ändert sich in „Ausgeführt“:
# onevm erstellt centos.one
# onevm-Liste
ID BENUTZERNAME STAT CPU MEM HOSTNAME ZEIT
1 oneadmin centos prol 0 0K node01 00 00:09:09
# onevm-Liste
ID BENUTZERNAME STAT CPU MEM HOSTNAME ZEIT
1 oneadmin centos runn 0 0K node01 00 00:22:17
Auf diese Weise haben wir eine minimale Cloud auf zwei Servern bereitgestellt, Knoten00 (vorne) und Knoten01 (Knoten), und eine Xen-basierte Instanz einer virtuellen Maschine auf Knoten01 ausgeführt.
Artikelquelle: http://www.vpsee.com/2011/02/install-opennebula-on-centos/