<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CloudUser &#124; Ξxpert &#187; Tutorials</title>
	<atom:link href="http://clouduser.de/category/tutorials/feed" rel="self" type="application/rss+xml" />
	<link>http://clouduser.de</link>
	<description>Cloud Computing Magazin.</description>
	<lastBuildDate>Thu, 09 Feb 2012 13:31:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>HowTo: Einrichtung von Witsbits &#8211; Private Cloud Management-as-a-Service</title>
		<link>http://clouduser.de/tutorials/howto-einrichtung-von-witsbits-private-cloud-management-as-a-service-6067</link>
		<comments>http://clouduser.de/tutorials/howto-einrichtung-von-witsbits-private-cloud-management-as-a-service-6067#comments</comments>
		<pubDate>Fri, 21 Oct 2011 09:32:10 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Private Cloud]]></category>
		<category><![CDATA[Private Cloud Management]]></category>
		<category><![CDATA[Private Cloud Management as a Service]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Witsbits]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=6067</guid>
		<description><![CDATA[Vor kurzem haben wir Witsbits, einen &#8220;Private Cloud Management as a Service&#8221; aus Schweden vorgestellt. Heute geht es darum, wie vorgegangen werden muss, um Witsbits im eigenen Rechenzentrum/ Serverraum nutzen zu können. Vorbereitung Zunächst benötigen wir einen oder mehrere &#8220;leere&#8221; physikalische Systeme (64bit) als Host für die virtuelle Infrastruktur sowie einen Desktop Computer inkl. Webbrowser, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Vor kurzem haben wir Witsbits, einen &#8220;<a href="http://clouduser.de/produkte/vorstellung-witsbits-private-cloud-management-as-a-service-6063">Private Cloud Management as a Service</a>&#8221; aus Schweden vorgestellt. Heute geht es darum, wie vorgegangen werden muss, um Witsbits im eigenen Rechenzentrum/ Serverraum nutzen zu können.</strong></p>
<h3>Vorbereitung</h3>
<p>Zunächst benötigen wir einen oder mehrere &#8220;leere&#8221; physikalische Systeme (64bit) als Host für die virtuelle Infrastruktur sowie einen Desktop Computer inkl. Webbrowser, mit dem die webbasierte Management Konsole genutzt werden kann.</p>
<p>Der physikalische Server sollte mindestens über einen 64 bit x86 Prozessor mit Intel VT oder AMD-V Technologie verfügen sowie ein CD-ROM, DVD-ROM oder USB-Ports, um darüber die Installation mittels des Witsbits ISO zu ermöglichen. Der Arbeitsspeicher sollte eine Mindestgröße von 1GB RAM besitzen und die Festplatte sollte nicht zu klein ausfallen, da hier die virtuellen Festplatten und Snapshots der virtuellen Maschinen gespeichert werden.</p>
<p>Weiterhin benötigen wir eine für DHCP konfigurierte Netzwerkumgebung inkl. einer aktiven Internetverbindung.  Der DHCP-Server wird IP Adressen für die physikalischen Hosts als auch die virtuellen Maschinen bereitstellen müssen. Jeder physikalische Host benötigt zudem eine Vielzahl an IP Adressen, je nach Anzahl der virtuellen Maschinen, die auf ihm laufen sollen.</p>
<p>Für die Verwaltung der GoCloud Infrastruktur wird ein gewöhnlicher Desktop PC mit Windows, Linux oder Mac Betriebssystem oder ein Smartphone benötigt. Die Managementoberfläche unterstützt derzeit den Internet Explorer 7 und 8, Firefox, Chrome/Chromium und Safari.</p>
<h3>Installation und Einrichtung von Go Cloud</h3>
<p>Als erstes benötigen wir einen <a rel="nofollow" target="_blank" href="https://witsbits.com">Go Cloud Account</a>. Nach der erfolgreichen Registrierung laden wir uns das ISO Image (ca. 180 MB) herunter und entpacken es.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/wordpress_upload/2011/10/witsbits_01-e131918934969111.png" alt="" /></center></p>
<p>
<p>Nun erstellen wir uns aus dem ISO Image entweder eine bootbare CD/DVD oder einen USB-Stick. Anschließend starten wir den physikalischen Server mit dem ISO Image. Voraussetzung hierfür ist, dass der Server via eines DHCP Servers IP Adressen empfangen kann und das eine aktive Internetverbindung besteht. Der physikalische Host wird sich nun automatisch mit dem Go Cloud Management System verbinden. Nach dem Bootvorgang kann die CD/DVD oder der USB-Stick entfernt werden und dieselbe Prozedur kann mit dem nächsten physikalischen Server erfolgen.</p>
<p>Das zuvor heruntergeladene ISO Image ist mit einer persönlichen Account-ID gekennzeichnet, wodurch alle Server die mit dem ISO Image gebootet werden automatisch an dem Go Cloud Management System dieses Accounts registriert werden. Nachdem das Host System vollständig gebooted wurde, erscheint es auf der Management Konsole in der Weboberfläche. Der physikalische Server ist nun soweit vorbereitet, um virtuelle Maschinen zu starten.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/wordpress_upload/2011/10/witsbits_02-e131918933496011.png" alt="" /></center></p>
<p>
<h3>Verwaltung der physikalischen Server und virtuellen Maschinen</h3>
<p>Um einen physikalischen Server zu konfigurieren klicken wir in der Web Konsole zunächst auf &#8220;Physical Servers&#8221;. Hier sollte nun ein neuer Server mit einem Datum sowie einem Timestamp zu sehen sein. Hier wählen wir nun &#8220;New Server&#8221; und anschließend &#8220;Initiate Disks&#8221;. Das kann einen Moment dauern. Das darauf folgende Pop-Up bestätigen wir. Go Cloud sucht nun die größte Festplatte, entfernt von dieser alle Partitionen und erstellt eine Große. Wir müssen nun ein paar Mal aktualisieren (F5) bis der &#8220;Update Repo (Repository)&#8221; Button aktiv ist. Nachdem die Festplatte initialisiert ist, sollte auch die Queue leer sein. Wir klicken anschließen den &#8220;Update Repo (Repository)&#8221; Button.</p>
<p>Die Public Images von Go Cloud werden nun heruntergeladen und extrahiert. Abhängig von der Internetverbindung kann dieses bis zu 15 Minten dauern. Nach Beendigung wird dieser Job aus der Queue verschwinden.</p>
<p>Um eine erste virtuelle Maschine (VM) auf dem physikalischen Host zu erstellen, geben wir der VM als erstes einen Namen und hinterlegen für das Image ein Passwort. Als nächstes wählen wir ein Image bzw. Gast Betriebssystem und entscheiden uns für die Anzahl an CPUs sowie die Größe des zuzuweisenden Arbeitsspeichers. Mit dem klick auf den Button &#8220;Power On&#8221; wird ein neues VM Image erstellt, welches unten angezeigt wird. Der Status des Image sollte grün (OK) sein sowie die VM eine zugewiesene IP Adresse haben.</p>
<p>Per Remote Desktop, dem Administrator Passwort und dem Image Passwort der erstellten VM kann die VM nun gestartet werden. Für die Anmeldung benötigen wir hier das Passwort des VM Image und nicht das Passwort für die Anmeldung an Go Gloud.</p>
<hr />
<p>
<p>
<strong>Quelle</strong>: <a rel="nofollow" target="_blank" href="https://witsbits.com/go_cloud/ui/witsbits_documentation.pdf">Witsbits</a></p>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/tutorials/howto-einrichtung-von-witsbits-private-cloud-management-as-a-service-6067/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Enterprise Cloud Topologien</title>
		<link>http://clouduser.de/tutorials/ubuntu-enterprise-cloud-topologien-5930</link>
		<comments>http://clouduser.de/tutorials/ubuntu-enterprise-cloud-topologien-5930#comments</comments>
		<pubDate>Thu, 06 Jan 2011 10:18:19 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Topologien]]></category>
		<category><![CDATA[Ubuntu Enterprise Cloud]]></category>
		<category><![CDATA[UEC]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=5930</guid>
		<description><![CDATA[Eine Ubuntu Enterprise Cloud kann aus zwei, bzw. bis zu hunderten oder sogar tausenden physikalischen bestehen. Es ist daher wichtig, die möglichen Topologien zu verstehen, die auf Basis der vorhandenen physikalischen Maschinen aufzubauen sind. 1 physikalisches System (Nicht für den produktiven Einsatz empfohlen) Dies ist die einfachste mögliche Konfiguration. Dabei werden der CLC/Walrus/CC/SC und NC [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Ubuntu Enterprise Cloud kann aus zwei, bzw. bis zu hunderten oder sogar tausenden physikalischen bestehen. Es ist daher wichtig, die möglichen Topologien zu verstehen, die auf Basis der vorhandenen physikalischen Maschinen aufzubauen sind.</p>
<h2>1 physikalisches System (Nicht für den produktiven Einsatz empfohlen)</h2>
<p>Dies ist die einfachste mögliche Konfiguration. Dabei werden der CLC/Walrus/CC/SC und NC alle gemeinsam auf einer einzigen Maschine betrieben. Diese Konfiguration unterscheidet sich nicht von allen anderen möglichen. Der einzige Unterschied besteht darin, dass der Netzwerkverkehr hierbei nicht durch das lokale Netzwerk übertragen wird.</p>
<ul>1. Maschine A: CLC/Walrus/CC/SC/NC</ul>
<p>Beispiel Konfiguration (für ein bestehendes LAN)</p>
<p>Netzwerk Konfiguration:</p>
<ul>
<li>Netzwerk: 192.168.1.0/24</li>
<li>DHCP und DNS Server: 192.168.1.2</li>
<li>UEC Server: 192.168.1.4</li>
<li>/etc/network/interfaces auf dem UEC Server</li>
</ul>
<pre lang="text">iface eth0 inet manual

auto br0
iface br0 inet static
    address 192.168.1.4
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.2
    # dns-* options are implemented by the resolvconf package, if installed
    # these are google's dns servers
    dns-nameservers 8.8.8.8 8.8.4.4
    # this setting could be "local" if you all your local hosts
    #  were named something like a.localdomain b.localdomain c.localdomain etc
    dns-search localdomain
    bridge_ports eth0
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_stp off</pre>
<ul>
<li>/etc/eucalyptus/eucalyptus.conf &#8211; wichtige Einträge:</li>
</ul>
<pre lang="text">VNET_PUBINTERFACE="br0" # must match the br definition above
VNET_PRIVINTERFACE="br0" # must match the br definition above
VNET_MODE="MANAGED-NOVLAN"
VNET_SUBNET="172.19.0.0" # ips from this range are bound to $VNET_PRIVINTERFACE:priv
VNET_NETMASK="255.255.0.0"
VNET_DNS="192.168.1.2" # what DNS server nodes are given
# v - should be ips on the LAN, not in use anywhere, and excluded from the DHCP server
VNET_PUBLICIPS="192.168.1.100-192.168.1.110"</pre>
<p>Sollten das Netzwerk nach der Konfiguration nicht starten helfen die folgenden Befehle beim Korrigieren.</p>
<pre lang="text">sudo stop eucalyptus CLEAN=1
sudo /etc/init.d/eucalyptus-nc stop
# fix the config file here
sudo start eucalyptus CLEAN=1
sudo /etc/init.d/eucalyptus-nc start</pre>
<p>Der Parameter CLEAN sorgt dafür, dass sich das Netzwerk nicht bei jedem Neustart resetet. Es sollte darauf geachtet werden, dass kein System auf die ETH0 Schnittstelle gebunden ist. Um sicherzugehen, dass man mit einer sauberen Konfiguration arbeiten kann, ist ein Neustart des gesamten Systems. Wurde die PRIV Schnittstelle falsch konfiguriert, werden die Nodes ihre DHCP-Antworten von dem LAN-DHCP-Server anstelle des privaten CC-DHCP-Server erhalten.</p>
<h2>Mindestens 2 physikalische Systeme</h2>
<p>Bei dieser Konfiguration werden alle Verwaltungskomponenten für den Benutzer wie CLC und Walrus, sowie die Verwaltungskomponenten für das Backend wie der CC und SC auf einer gemeinsamen Maschine installiert. Der NC für das Hosting der virtuellen Maschinen erhält eine eigene physikalische Maschine.</p>
<ul>
1. Maschine A: CLC/Walrus/CC/SC<br />
2. Maschine B: NC<br />
3. (weitere NCs&#8230;)
</ul>
<h2>Mindestens 3 physikalische Systeme</h2>
<p>Bei dieser Konfiguration werden die Verwaltungskomponenten für den Benutzer wie CLC und Walrus auf eine physikalische Maschine, sowie die Verwaltungskomponenten für das Backend wie der CC und SC auf einer weiteren zweiten Maschine installiert. Der NC für das Hosting der virtuellen Maschinen wird auf eine dritte physikalische Maschine installiert.</p>
<ul>
1. Maschine A: CLC/Walrus<br />
2. Maschine B: CC/SC<br />
3. Maschine C: NC<br />
4. (weitere NCs&#8230;)
</ul>
<h2>Mindestens 4 physikalische Systeme</h2>
<p>Bei dieser Konfiguration erhalten der CLC und Walrus jeweils eine eigene physikalische Maschine. Auf die dritte Maschine werden der CC und SC installiert. Für den NC wird eine vierte physikalische Maschine eingesetzt.</p>
<ul>
1. Maschine A: CLC<br />
2. Maschine B: Walrus<br />
3. Maschine C: CC/SC<br />
4. Maschine D: NC<br />
5. (weitere NCs&#8230;)
</ul>
<h2>Mindestens 5 physikalische Systeme</h2>
<p>Für diese Konfiguration werden der CLC und der Walrus auf einer gemeinsamen Maschine konfiguriert. Auf eine dritte Maschine werden der CC1 sowie der SC1 installiert. Für den NC1 kommt eine eigene Maschine zum Einsatz. Um die Performance der Cloud zu erhöhen und die Last besser zu verteilen, werden auf einer vierten Maschine ein CC2 und ein SC2 konfiguriert. Auf eine fünfte Maschine wird ein NC2 installiert, der anschließend seine Ressourcen von dem CC2 und SC2 erhält.</p>
<ul>
1. Maschine A: CLC/Walrus<br />
2. Maschine B: CC1/SC1<br />
3. Maschine C: NC1<br />
4. Maschine D: CC2/SC2<br />
5. Maschine E: NC2<br />
6. (weitere CCs/SCs/NCs&#8230;)
</ul>
<p>
<p>
Quelle: <a rel="nofollow" target="_blank" href="https://help.ubuntu.com/community/UEC/Topologies">UECTopologies</a></p>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/tutorials/ubuntu-enterprise-cloud-topologien-5930/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Einrichten der openQRM Cloud für das Deployment von physikalischen Windows Systemen auf CentOS 5.5</title>
		<link>http://clouduser.de/tutorials/einrichten-der-openqrm-cloud-fur-das-deployment-von-physikalischen-windows-systemen-auf-centos-5-5-5480</link>
		<comments>http://clouduser.de/tutorials/einrichten-der-openqrm-cloud-fur-das-deployment-von-physikalischen-windows-systemen-auf-centos-5-5-5480#comments</comments>
		<pubDate>Tue, 21 Dec 2010 10:25:43 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[OpenQRM]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=5480</guid>
		<description><![CDATA[Dieses Tutorial zeigt Schritt für Schritt, wie eine openQRM Cloud auf CentOS 5.5 so eingerichtet wird, dass damit anschließend physikalische Windows Systeme deployed werden können. Für dieses Tutorial werden dazu zwei physikalische Systeme benötigt. 1. Los geht es mit einer neuen CentOS 5.5 Installation Während der Installation des Systems nehmen wir eine manuelle Partitionierung vor [...]]]></description>
			<content:encoded><![CDATA[<p>Dieses Tutorial zeigt Schritt für Schritt, wie eine openQRM Cloud auf CentOS 5.5 so eingerichtet wird, dass damit anschließend physikalische Windows Systeme deployed werden können. Für dieses Tutorial werden dazu zwei physikalische Systeme benötigt.</p>
<h3>1. Los geht es mit einer neuen CentOS 5.5 Installation</h3>
<p>Während der Installation des Systems nehmen wir eine manuelle Partitionierung vor und erstellen 3 Partitionen:</p>
<ul>
1. primary ext3 mounted at / (the rootfs)<br />
2. primary swap<br />
3. primary “lvm” (wird zum Speichern des Server-Image benötigt)
</ul>
<p>An dieser Stelle ist es wichtig zu beachten, ein benutzerspezifisches Partitionsschema zu wählen und eine dedizierte Partition zu erstellen, auf der später die Server-Images gespeichert werden. (/dev/hda3). Bei der Paketauswahl selektieren wird zudem das “Gnome Desktop Environment”. Weitere Software wird nicht benötigt.</p>
<p><strong>Wichtig: SELinux und die Firewall müssen deaktiviert werden!</strong></p>
<p>Wenn die Installation abgeschlossen ist, starten wir das System neu und melden uns an.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/01.png" /></center>
</p>
</p>
<p>Die folgende Konsolenausgabe zeigt die exakte CentOS Version. Alle Konsolenbefehle in diesem Tutorial werden des Weiteren mit &#8220;root&#8221; ausgeführt.</p>
<pre lang="text">[root@cloud ~]# lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: Final
[root@cloud ~]#</pre>
<h3>2. Vorbereiten des Netzwerks</h3>
<p>Nun bearbeiten wir die /etc/sysconfig/network-scripts/ifcfg-eth0 und tragen eine statische, private IP-Adresse ein. (In diesem Beispiel: 192.168.88.6)</p>
<pre lang="text">[root@cloud network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:02:b3:a0:d3:12
ONBOOT=yes
DHCP_HOSTNAME=cloud
IPADDR=192.168.88.6
NETMASK=255.255.255.0
GATEWAY=192.168.88.1
TYPE=Ethernet
[root@cloud network-scripts]#</pre>
<p>Um die Änderungen zu übernehmen, starten wir das Netzwerk neu.</p>
<pre lang="text">[root@cloud network-scripts]# /etc/init.d/network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
[ OK ]
[root@cloud network-scripts]#</pre>
<p>Nun hinterlegen wir die statische IP-Adresse (in unserem Fall “192.168.88.6″) und den Hostname (in unserem Fall “cloud”) in der /etc/hosts. Der Hostname darf hierbei nicht in der ersten Zeile zusammen mit 127.0.0.1 stehen!</p>
<pre lang="text">[root@cloud ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.88.6 cloud
::1 localhost6.localdomain6 localhost6
[root@cloud ~]#</pre>
<h3>3. Vorbereiten des Speicherplatz für die Server-Images</h3>
<p>Nun bereiten wir die dedizierte Partition so vor, dass sie zusammen mit lvm genutzt werden kann. Anschließend erstellen wir eine Logical Volume Group “vol”.</p>
<pre lang="text">[root@cloud ~]# pvcreate /dev/hda3
Physical volume "/dev/hda3" successfully created
[root@cloud ~]# vgcreate vol /dev/hda3
Volume group "vol" successfully created
[root@cloud ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vol 1 0 0 wz--n- 186.22G 186.22G
[root@cloud ~]#</pre>
<h3>4. Installation des Enterprise iSCSI Target</h3>
<p>Seitdem CentOS das &#8220;ietd&#8221; (Enterprise iSCSI Target) nicht mehr als Standard RPM Paket unterstützt, müssen wir dieses nun aus den Sourcen erstellen.</p>
<pre lang="text">[root@cloud ~]# yum -y install kernel-devel openssl-devel gcc rpm-build
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.... <snip>
Complete!
[root@cloud ~]#</pre>
<p>Wir erstellen ein ietd Verzeichnis und laden und entpacken die letzte iscsi-target-[version].tar.gz Version von <a rel="nofollow" target="_blank" href="iscsi-target-[version].tar.gz">http://iscsitarget.sourceforge.net</a></p>
<pre lang="text">[root@cloud ~]# mkdir ietd
[root@cloud ~]# cd ietd/
[root@cloud ietd]# wget http://sourceforge.net/projects/iscsitarget/files/iscsitarget/1.4.20.1/iscsitarget-1.4.20.1.tar.gz/
.... <snip>
2002-06-10 20:41:12 (245 KB/s) - `iscsitarget-1.4.20.1.tar.gz' saved [137487/137487]
[root@cloud ietd]# tar -xzf iscsitarget-1.4.20.1.tar.gz
[root@cloud ietd]# cd iscsitarget-1.4.20.1</pre>
<p>Kompilieren:</p>
<pre lang="text">[root@cloud iscsitarget-1.4.20.1]# make
Applying Patch compat-2.6.32.patch
patching file kernel/conn.c
Applying Patch compat-2.6.31.patch
.... <snip>
CC [M] /root/ietd/iscsitarget-1.4.20.1/kernel/seq_list.o
LD [M] /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.o
Building modules, stage 2.
MODPOST
CC /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.mod.o
LD [M] /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.3.1.el5-i686'</pre>
<p>Installieren:</p>
<pre lang="text">[root@cloud iscsitarget-1.4.20.1]# make install
`usr/ietd' -> `/usr/sbin/ietd'
`usr/ietadm' -> `/usr/sbin/ietadm'
`etc/initd/initd.redhat' -> `/etc/init.d/iscsi-target'
install: creating directory `/etc/iet'
`etc/ietd.conf' -> `/etc/iet/ietd.conf'
`etc/initiators.allow' -> `/etc/iet/initiators.allow'
`etc/targets.allow' -> `/etc/iet/targets.allow'
`doc/manpages/ietadm.8' -> `/usr/share/man/man8/ietadm.8'
`doc/manpages/ietd.8' -> `/usr/share/man/man8/ietd.8'
`doc/manpages/ietd.conf.5' -> `/usr/share/man/man5/ietd.conf.5'
install: creating directory `/usr/share/doc/iscsitarget'
`ChangeLog' -> `/usr/share/doc/iscsitarget/ChangeLog'
`COPYING' -> `/usr/share/doc/iscsitarget/COPYING'
`RELEASE_NOTES' -> `/usr/share/doc/iscsitarget/RELEASE_NOTES'
`README' -> `/usr/share/doc/iscsitarget/README'
`README.vmware' -> `/usr/share/doc/iscsitarget/README.vmware'
`README.initiators' -> `/usr/share/doc/iscsitarget/README.initiators'
`kernel/iscsi_trgt.ko' -> `/lib/modules/2.6.18-194.3.1.el5/extra/iscsi/iscsi_trgt.ko'
Running depmod
[root@cloud iscsitarget-1.4.20.1]#</pre>
<p>Verlinken den Ablageort der ietd.conf Konfigurationsdatei.</p>
<pre lang="text">[root@cloud ~]# mv /etc/iet/ietd.conf /etc/iet/ietd.conf.org
[root@cloud ~]# > /etc/ietd.conf
[root@cloud ~]# ln -s /etc/ietd.conf /etc/iet/ietd.conf
[root@cloud ~]#</pre>
<p>Und starten das iSCSI-Target:</p>
<pre lang="text">[root@cloud ~]# /etc/init.d/iscsi-target start
Starting iSCSI Target: [ OK ]
[root@cloud ~]#</pre>
<h3>5. Vorbereiten der Datenbank</h3>
<p>Als Datenbank für den openQRM Server nutzen wir das Package “mysql-server”.</p>
<pre lang="text">[root@cloud ~]# yum -y install mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.... <snip>
Complete!
[root@cloud ~]#</pre>
<p>Nach der Installation starten wir den mysqld service.</p>
<pre lang="text">[root@cloud ~]# /etc/init.d/mysqld start
Initializing MySQL database: Installing MySQL system tables...
100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables...
100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h cloud password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &#038;
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]
[root@cloud ~]#</pre>
<p>Nun prüfen wir, dass wir uns mit der Datenbank verbinden können.</p>
<pre lang="text">[root@cloud ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> quit
Bye
[root@cloud ~]#</pre>
<p>Und fügen mysqld zu den init Startskripten mittels chkconfig hinzu.</p>
<pre lang="text">[root@cloud bin]# chkconfig --add mysqld
[root@cloud bin]# chkconfig mysqld on
[root@cloud bin]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@cloud bin]#</pre>
<h3>6. Installation von openQRM</h3>
<p>openQRM wird in diesem Tutorial aus den Sourcen erstellt. Diese sind in dem Subversion Repository des openQRM Projects verfügbar. Für die Installation sind hier lediglich ein Subversion Client und “make” notwendig. Diese sollten also installiert werden.</p>
<pre lang="text">[root@cloud ~]# yum -y install subversion
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.... <snip>
Complete!
[root@cloud ~]#</pre>
<p>Nun müssen die openQRM Sourcen aus dem SVN Repository ausgecheckt werden.</p>
<pre lang="text">[root@cloud ~]# svn co https://openqrm.svn.sourceforge.net/svnroot/openqrm openqrm
.... <snip>
A openqrm/trunk/src/rpm/README
A openqrm/trunk/src/rpm/openqrm-entire.spec
A openqrm/branches
A openqrm/tags
Checked out revision 1996.
[root@cloud ~]#</pre>
<p>Wir wechseln in das src/ Verzeichnis.</p>
<pre lang="text">[root@cloud ~]# cd openqrm/trunk/src/
[root@cloud src]#</pre>
<p>Anschließend führen wir “make” aus. Dafür wird eine funktionsfähige Internetverbindung benötigt. Sollte dieses nicht der Fall sein, können die Sourcen auch von <a rel="nofollow" target="_blank" href="http://sourceforge.net/projects/openqrm/files/openQRM-4.6/source/openqrm-thirdparty-cache.tgz/download">http://sourceforge.net/projects/openqrm/files/openQRM-4.6/source/openqrm-thirdparty-cache.tgz/download</a> heruntergeladen werden. Diese müssen danach in das Home-Verzeichnis entpackt werden.</p>
<pre lang="text">[root@cloud src]# make
.... <snip>
[root@cloud src]#</pre>
<p>Alle Ergebnisse der Kompilierung werden vom openQRM-Build System automatisch gecached. Um sicherzustellen, dass alle Komponenten richtig erstellt wurden, kann “make” einfach erneut ausgeführt werden.</p>
<pre lang="text">[root@cloud src]# make
Checking requirements for the compilation phase
openqrm-server requires: make, gcc, portmap, rsync, zlib-devel, wget, tar, bzip2, unzip, patch
found make installed
found gcc installed
found portmap installed
found rsync installed
found zlib-devel installed
found wget installed
found tar installed
found bzip2 installed
found unzip installed
found patch installed
openqrm-plugin-aoe-storage requires:
openqrm-plugin-aws requires:
openqrm-plugin-citrix requires:
openqrm-plugin-cloud requires:
openqrm-plugin-collectd requires:
openqrm-plugin-dhcpd requires:
openqrm-plugin-dns requires:
openqrm-plugin-equallogic-storage requires:
openqrm-plugin-highavailability requires:
openqrm-plugin-image-shelf requires:
openqrm-plugin-iscsi-storage requires:
openqrm-plugin-kvm requires:
openqrm-plugin-kvm-storage requires:
openqrm-plugin-linux-vserver requires:
openqrm-plugin-linuxcoe requires:
openqrm-plugin-local-server requires:
openqrm-plugin-local-storage requires:
openqrm-plugin-lvm-storage requires:
openqrm-plugin-nagios2 requires:
openqrm-plugin-nagios3 requires:
openqrm-plugin-netapp-storage requires:
openqrm-plugin-nfs-storage requires:
openqrm-plugin-puppet requires:
openqrm-plugin-sanboot-storage requires:
openqrm-plugin-solx86 requires:
openqrm-plugin-sshterm requires:
openqrm-plugin-tftpd requires:
openqrm-plugin-tmpfs-storage requires:
openqrm-plugin-vbox requires:
openqrm-plugin-vmware-esx requires:
openqrm-plugin-vmware-server requires:
openqrm-plugin-vmware-server2 requires:
openqrm-plugin-windows requires:
openqrm-plugin-xen requires:
openqrm-plugin-xen-storage requires:
openqrm-plugin-zabbix requires:
openqrm-plugin-zfs-storage requires:
Checking for required components to compile openQRM finished successfully
if [ -d ./thirdparty ]; then mkdir -p ../buildtmp; cp -aR ./thirdparty/* ../buildtmp/; fi
-> found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded
-> found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded
-> found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded
-> found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded
Creating the default initrd-template
-> found component busybox (busybox-1.14.2.tar.bz2) already downloaded
-> Found busybox-1.14.2/_install/bin/busybox already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
-> found component pciutils (pciutils-3.1.4.tar.gz) already downloaded
-> Found pciutils-3.1.4/pcimodules already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
-> found component dropbear (dropbear-0.52.tar.gz) already downloaded
-> Found dropbear-0.52/dropbear already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
Adding /sbin/portmap to default initrd-template
Adding /sbin/rpc.statd to default initrd-template
Adding /bin/bash to default initrd-template
Adding /usr/bin/rsync to default initrd-template
Adding /usr/bin/wget to default initrd-template
Adding /sbin/modprobe to default initrd-template
Adding /sbin/depmod to default initrd-template
Adding /sbin/insmod to default initrd-template
Adding /sbin/lsmod to default initrd-template
Adding /sbin/mke2fs to default initrd-template
Adding /sbin/sfdisk to default initrd-template
Adding /sbin/udevd to default initrd-template
Adding /lib/udev/vol_id to default initrd-template
-> found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded
-> found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded
-> found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded
-> found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded
-> found component adodb (adodb498.tgz) already downloaded
-> found component jquery (jquery-1.3.2.tgz) already downloaded
-> found component js-interface (interface_1.2.zip) already downloaded
-> found component openqrm-client.centos.i386 (openqrm-client.4.6.1.centos.i386.tgz) already downloaded
-> found component openqrm-client.centos.x86_64 (openqrm-client.4.6.1.centos.x86_64.tgz) already downloaded
-> found component openqrm-client.debian.i386 (openqrm-client.4.6.1.debian.i386.tgz) already downloaded
-> found component openqrm-client.debian.x86_64 (openqrm-client.4.6.1.debian.x86_64.tgz) already downloaded
-> found component openqrm-client.ubuntu.i386 (openqrm-client.4.6.1.ubuntu.i386.tgz) already downloaded
-> found component openqrm-client.ubuntu.x86_64 (openqrm-client.4.6.1.ubuntu.x86_64.tgz) already downloaded
-> found component openqrm-initrd-template.centos.i386 (openqrm-initrd-template.4.6.1.centos.i386.tgz) already downloaded
-> found component openqrm-initrd-template.centos.x86_64 (openqrm-initrd-template.4.6.1.centos.x86_64.tgz) already download
-> found component openqrm-initrd-template.debian.i386 (openqrm-initrd-template.4.6.1.debian.i386.tgz) already downloaded
-> found component openqrm-initrd-template.debian.x86_64 (openqrm-initrd-template.4.6.1.debian.x86_64.tgz) already download
-> found component openqrm-initrd-template.ubuntu.i386 (openqrm-initrd-template.4.6.1.ubuntu.i386.tgz) already downloaded
-> found component openqrm-initrd-template.ubuntu.x86_64 (openqrm-initrd-template.4.6.1.ubuntu.x86_64.tgz) already download
[root@cloud src]#</pre>
<p>Nun führen wir “make install” aus.</p>
<pre lang="text">[root@cloud src]# make install
include/
include/openqrm-plugin-local-storage-functions
bin/
.... <snip>
Creating the openqrm-client boot-service package
[root@cloud src]#</pre>
<p>Am Ende initialisieren und starten wir openQRM mittels “sudo make start”.</p>
<pre lang="text">[root@cloud src]# make start
Checking the requirements for RedHat based systems ...
openqrm-server requires: httpd, php, php-mysql, php-soap, mysql, syslinux, screen, procmail, openssl
-> found httpd installed
NOTICE: Trying to automatically install php ...
Loaded plugins: fastestmirror
.... <snip>
Checking for required components finished successfully
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.88.6 for Server
[ OK ]
First startup detected. Running initialization.
Looking for syslinux/pxelinux.0...found: /usr/lib/syslinux/pxelinux.0
Creating custom apache config.../etc/httpd/conf.d/openqrm-httpd.conf
Checking /usr/share/openqrm/etc/openqrm-server.conf for OP[ OK ]B_PROTOCOL=https..Reloading httpd:
Adding password for user openqrm
Initializing dropbear...
Will output 1024 bit rsa secret key to '/usr/share/openqrm/etc/dropbear/dropbear_rsa_host_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgmOa49UMeOPqid06cR96yfRD/SQ98J1REpLKyyJ518iFFQyGKb9j2quZD+8FfKYt6rgFgS6
kGw95qJf6lqYc/rIH5ezcl4bVCn0Zo9pQkTyF496+iAp6AbPOX9KfBivu+5KWc7sfxOiDWGErPhzTGSkvjxwDAu2PkXAvTjUHMhhXxLk= root@cloud
Fingerprint: md5 de:cc:34:cb:2b:e5:b1:3d:50:dd:cc:f0:b5:ca:e9:e5
Adding public key to /root/.ssh/authorized_keys...
Starting the openQRM-server ver. 4.6.
Initialization complete. Please configure your openQRM Server at: http://192.168.88.6/openqrm/
-> User: openqrm -> Password: openqrm
[root@cloud src]#</pre>
<p>“make start” führt zusätzlich eine Check-Routine aus, die überprüft, dass alle Abhängigkeiten für die Einwandfreie Nutzung von openQRM vorhanden sind. Ggf. nicht vorhandene Pakete werden automatisch installiert.</p>
<p>Während des ersten Starts wird der openQRM Server initialisiert. Nachdem openQRM vollständig installiert wurde, kann nun die Konfiguration mittels der Weboberfläche vorgenommen werden.</p>
<h3>7. Konfiguration von openQRM</h3>
<p>Wir melden uns am openQRM Server per http://ip-adresse/openqrm an. Der Benutzer und das Passwort sind jeweils “openqrm”. Nach der Konfiguration sollten diese Daten geändert werden.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/02.png" /></center>
</p>
</p>
<p>Als erstes wählen wir als Netzwerkkarte die Bridge Schnittstelle für das openQRM Management.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/03.png" /></center>
</p>
</p>
<p>Als Datenbank für das openQRM Backend wählen wir “myslq”.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/04.png" /></center>
</p>
</p>
<p>Anschließend konfigurieren wir die Verbindungsinformationen für die Datenbank.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/06.png" /></center>
</p>
</p>
<p>openQRM ist nun vollständig konfiguriert.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/07.png" /></center>
</p>
</p>
<p>Wir werden automatisch zum Datacenter Dashboard weitergeleitet.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/08.png" /></center>
</p>
</p>
<h3>8. Erstellen eines Windows Image</h3>
<p>Mit dem Plugin-Manager müssen wir als nächstes die folgenden Plugins aktivieren und starten:</p>
<ul>
<li>dhcpd</li>
<li>tftpd</li>
<li>sanboot-storage</li>
<li>windows</li>
<li>cloud</li>
</ul>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/09.png" /></center>
</p>
</p>
<p>Anschließend wechseln wir nach Base >> Components >> Create >> Storage. Dort erstellen wir einen neuen Speicher vom Typ “Sanboot-Storage (iSCSI)” und wählen den openQRM Server als Ressource.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/10.png" /></center>
</p>
</p>
<p>Wir geben dem Storage Server einen Namen und speichern diesen.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/11.png" /></center>
</p>
</p>
<p>Die Liste der verfügbaren Speicher sind nun wie folgt aus.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/12.png" /></center>
</p>
</p>
<p>Wir klicken auf den “Mgmt” Button des neu erstellten “sanboot” Storage Server.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/13.png" /></center>
</p>
</p>
<p>Hier wählen wir die Volume Group “vol”.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/14.png" /></center>
</p>
</p>
<p>Nun erstellen wir ein neues Volume mit dem Namen “windowsxp″. Die Größe muss etwas größer sein als die der lokalen Festplatte des Systems, das verwendet wird, um das Image zu erstellen.</p>
<p>In unserem Tutorial verwenden wir eine 40 GB große lokale Festplatte, um ein Windows System zu installieren und zu einem LUN auf ein iSCSI-Target zu übertragen. Das Volume das wir erstellen hat eine Größe von 41GB und ist damit ein wenig Größer als die eigentliche physikalische Festplatte.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/15.png" /></center>
</p>
</p>
<p>Mittels der Konsole würden wir wie folgt vorgehen:</p>
<pre lang="text">[root@cloud ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
windowsxp vol -wi-ao 40.04G
[root@cloud ~]# cat /etc/ietd.conf
Target windowsxp:windowsxp
Lun 0 Path=/dev/mapper/vol-windowsxp,Type=fileio
[root@cloud ~]#</pre>
<p><strong>Installation von Windows auf der lokalen Festplatte des zweiten Systems</strong></p>
<p>In diesem Tutorial verwenden wir Windows XP Professional und nutzen exakt die GPXE Anweisungen von <a rel="nofollow" target="_blank" href="http://etherboot.org/wiki/sanboot/winxp">http://etherboot.org/wiki/sanboot/winxp</a>. Wir nutzen dazu eine frische Windows Installation und nehmen keine Partitionierung der Festplatte vor.</p>
<p><strong>Achtung:</strong></p>
<p>Es wird &#8220;Install local + Transfer to iSCSI Lun&#8221; verwendet, da Windows XP es nicht unterstützt, direkt auf einem iSCSI-Target installiert zu werden. Neuere Windows Version wie bspw. Windows 7 können dagegen direkt auf einem iSCSI-Target installiert werden, siehe dazu <a rel="nofollow" target="_blank" href="http://etherboot.org/wiki/sanboot/iscsi_install">http://etherboot.org/wiki/sanboot/iscsi_install</a></p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/16.png" /></center>
</p>
</p>
<p>Nachdem Windows installiert wurde, fügen wir die “iSCSI Boot” Unterstützung hinzu. Dazu gehen wir auf die Webseite <a rel="nofollow" target="_blank" href="http://etherboot.org/wiki/sanboot/winnt_iscsi">http://etherboot.org/wiki/sanboot/winnt_iscsi</a> und laden dort die für Windows passende &#8220;Initiator 2.x boot-buildxxx-arch/lang.exe&#8221; herunter. In unserem Fall i386/X86 EN.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/17.png" /></center>
</p>
</p>
<p>Wir speichern die Datei auf unserem Desktop.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/18.png" /></center>
</p>
</p>
<p>Wir führen die Datei aus und folgen den Anweisungen.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/19.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/20.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/21.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/22.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/23.png" /></center>
</p>
</p>
<p>Nun laden wir den Windows SAN Boot Configuration Driver von <a rel="nofollow" target="_blank" href="http://etherboot.org/wiki/sanboot/winnt_sanbootconf">http://etherboot.org/wiki/sanboot/winnt_sanbootconf</a> herunter.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/24.png" /></center>
</p>
</p>
<p>Die ZIp-Datei beinhaltet den SAN Boot Treiber. Wir entpacken den Inhalt auf unseren Desktop.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/25.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/26.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/27.png" /></center>
</p>
</p>
<p>Nun starten wir den sanbootconf Installer und folgen den Anweisungen.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/28.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/29.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/30.png" /></center>
</p>
</p>
<p>Damit ist die Installation abgeschlossen.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/31.png" /></center>
</p>
</p>
<p><strong>Übertragen des Festplatteninhalts mittels nc</strong></p>
<p>Um den Inhalt der lokalen Festplatte des Windows Systems auf das iSCSI LUN auf dem “Sanboot” Storage Server zu übertragen, nutzen wir &#8220;nc&#8221; und &#8220;dd&#8221;. Weitere Informationen hierzu sind unter <a rel="nofollow" target="_blank" href="http://solutions.unixsherpa.com/2009/08/10/remote-mirroring-using-nc-and-dd">http://solutions.unixsherpa.com/2009/08/10/remote-mirroring-using-nc-and-dd</a> zu finden.</p>
<p>Nach der Windows Installation starten wir das System neu und konfigurieren den Systemstart im BIOS so, dass das System vom Netzwerk aus (pxe-boot) gestartet werden kann. Anschließend wird das System nun innerhalb von openQRM als neue &#8220;idle&#8221; Ressource vom Typ “Physical System” gestartet.</p>
<p>Wenn sich das System im Status &#8220;idle&#8221; befindet müssen wir die folgenden Schritte vornehmen, um den Festplatteninhalt des physikalischen Windows Systems auf das iSCSI LUN zu übertragen:</p>
<p><strong>1. Starten eines nc Listener auf dem logischen Windows Volume</strong></p>
<pre lang="text">[root@cloud ~]# ls /dev/mapper/vol-windowsxp
/dev/mapper/vol-windowsxp
[root@cloud ~]# nc -l 12345 | dd of=/dev/mapper/vol-windowsxp
# this command won't return but listen on port 12345 to submit data
# which it reads bitwise from the network port to /dev/mapper/vol-windowsxp</pre>
<p><strong>2. Mittels des “openqrm login” Befehl anmelden</strong><br />
Here the syntax of the “openqrm login” comand:</p>
<pre lang="text">/usr/share/openqrm/bin/openqrm login -i [ip-address-of-the-idle-resource-withe-the-windows-installed-on-local-disk]</pre>
<pre lang="text">[root@cloud ~]# cd /usr/share/openqrm/bin/
[root@cloud bin]# ./openqrm login -i 192.168.88.251
Login to resource 192.168.88.251 ...
Host '192.168.88.251' key accepted unconditionally.
(fingerprint md5 ff:5f:e7:60:ae:14:74:4a:39:15:8c:a6:62:98:73:0b)
bash-3.2#</pre>
<p>Wir müssen hierbei beachten, dass die Shell in diesem Fall über keine PATH Umgebung verfügt. Die Befehle müssen daher unter der Angabe des vollständigen Pfads ausgeführt werden.</p>
<p>Der folgende Befehl dient dazu, die lokale Festplatte der Windows Installation zu identifizieren.</p>
<pre lang="text">bash-3.2# cat /proc/partitions
major minor #blocks name
8 0 39082680 sda
8 1 39070048 sda1
bash-3.2# /sbin/fdisk -l /dev/sda
Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 4864 39070048+ 7 HPFS/NTFS
bash-3.2#</pre>
<p><strong>3. dd und nc gemeinsam nutzen</strong></p>
<p>Um den Festplatteninhalt remote auf das logische Volume zu übertragen, nutzen wir die Kombination von dd und nc.</p>
<pre lang="text">bash-3.2#
bash-3.2# dd if=/dev/sda | nc 192.168.88.6 12345</pre>
<p>Abhängig von der Größe der Festplatte und der Geschwindigkeit des Netzwerks, kann dieser Vorgang ein Weile dauern.</p>
<p>Auf dem openQRM Server kann der Befehl &#8220;kill -USR1 [pid-of-dd-process]&#8221; genutzt werden, um zu sehen, wie viele Bytes dd bereits übertragen hat.</p>
<pre lang="text">..
78165360+0 records in
78165360+0 records out
40020664320 bytes (40 GB) copied, 6322.11 seconds, 6.3 MB/s
[root@cloud ~]#</pre>
<p>Nun führen für &#8220;sync&#8221; aus, um sicherzustellen, dass alle Bits auf das logische Volume übertragen wurden.</p>
<pre lang="text">[root@cloud ~]# sync
[root@cloud ~]#</pre>
<h3>9. Vorbereiten des Windows Image</h3>
<p>Wir schalten die Ressource die sich im Zustand &#8220;idle&#8221; befindet herunter (die Windows Installation auf der lokalen Festplatte), entfernen die Festplatte und starten sie über das Netzwerk neu.</p>
<p><strong>Es sollte darauf geachtet werden, das die Bootreihenfolge auf &#8220;Network Boot only&#8221; steht.</strong></p>
<p>Wenn das System neu gestartet ist und sich im Status &#8220;idle&#8221; befindet, erstellen wir erneut in logisches &#8220;Image&#8221; in openQRM.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/32.png" /></center>
</p>
</p>
<p>Wir wechseln dazu nach Base >> Components >> Create >> Image und wählen den “Sanboot” Storage Server.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/33.png" /></center>
</p>
</p>
<p>Anschließend geben wir dem Image einen Namen und wählen das “windowsxp″ Volume als das Root-Device.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/34.png" /></center>
</p>
</p>
<p>Die Liste der verfügbaren Images sind nun wie folgt aus.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/35.png" /></center>
</p>
</p>
<p>Nun erstellen wir eine &#8220;Appliance&#8221;. Dazu wechseln wir zu Base >> Appliance >> Create und wählen die Ressource &#8220;idle&#8221;.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/36.png" /></center>
</p>
</p>
<p>Wir nennen die &#8220;Appliance&#8221; windowsxp, wählen den “default” kernel und das “windowsxp” Image und speichern die Appliance.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/37.png" /></center>
</p>
</p>
<p>Wir starten die &#8220;Appliance&#8221;.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/38.png" /></center>
</p>
</p>
<p>Das folgende Video auf YouTube zeigt den Systemstart des Windows Systems von dem iSCSI Storage Server.</p>
<p><object width="500" height="400"><param name="movie" value="http://www.youtube.com/v/IwnyUgS--w4?fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/IwnyUgS--w4?fs=1" type="application/x-shockwave-flash" width="500" height="400" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Das Windows Image ist damit nun deployed und funktionsfähig. Nun müssen wir das Image so konfigurieren, damit es mittels openQRM verwaltet werden kann.</p>
<p>Dazu erstellen wir auf dem Windows Image im ersten Schritt einen Windows Benutzer mit dem Namen &#8220;root&#8221;.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/39.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/40.png" /></center>
</p>
</p>
<p>Als nächstes muss der <strong>openQRM Client</strong> auf dem Windows Image installiert werden. Dazu öffnen wir einen Web-Browser und melden uns an den openQRM Server an.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/41.png" /></center>
</p>
</p>
<p>Anschließend gehen wir zu Plugins >> Deployment >> Windows >> About</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/42.png" /></center>
</p>
</p>
<p>Hier laden wir den Windows openQRM-Client herunter.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/43.png" /></center>
</p>
</p>
<p>Wir starten die openQRM-Client Installationsroutine und folgen den Anweisungen.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/44.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/45.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/46.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/47.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/48.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/49.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/50.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/51.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/52.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/53.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/54.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/55.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/56.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/57.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/58.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/59.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/60.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/61.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/62.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/63.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/64.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/65.png" /></center>
</p>
</p>
<p>Now please run “gpedit.msc” and add the permission to “remote shutdown” to user “root”.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/66.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/67.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/68.png" /></center>
</p>
</p>
<p><strong>Wichtig</strong>: Sollte die Windows Firewall aktiviert sein, muss der TCP Port 22 geöffnet werden.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/69.png" /></center>
</p>
</p>
<h3>10. openQRM Cloud Konfiguration</h3>
<p>Nun wechseln wir nach Plugins >> Cloud >> Configuration >> Main Config und konfigurieren die folgenden Punkte:</p>
<ul>
<li>cloud_admin_email > eine valide E-Mail Adresse</li>
<li>auto_provision → true</li>
<li>external_portal_url → (optional) externe URL zu einem Cloud Portal</li>
<li>request_physical_systems → false</li>
<li>auto_give_ccus → 100</li>
<li>show_disk_resize → (optional) true</li>
<li>show_private_image → true</li>
<li>cloud_currency → (optional) auf US oder Euro setzen</li>
<li>cloud_1000_ccus → Wie viele 1000 CCUs wie viel US/Euro entsprechen</li>
</ul>
<p>Für alle weiteren Konfigurationspunkte können die Standardwerte genommen werden. Speichern nicht vergessen!</p>
<p>Der folgende Screenshot zeigt die Hauptseite zur Konfiguration der Cloud.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/70.png" /></center>
</p>
</p>
<p>Als nächstes müssen die Cloud Produkte mittels des &#8220;Cloud-Selector&#8221; konfiguriert werden.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/71.png" /></center>
</p>
</p>
<p>Dazu gehen wir nach Plugins >> Cloud >> Configuration >> Products >> Kernel und erstellen ein neues &#8220;Windows&#8221; Kernel Produkt.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/72.png" /></center>
</p>
</p>
<p>Das sieht dann wie im folgenden Screenshot aus.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/73.png" /></center>
</p>
</p>
<p>Nun erstellen wir ein &#8220;Memory&#8221; Produkt. Dieses muss den exakt verfügbaren Speicher aufweisen, das auf dem zweiten physikalischen System verfügbar ist. (Das System, welches das Windows Image deployed.) In diesem Tutorial verwenden wir ein System mit 3008 MB physikalischen Arbeitsspeicher. Dieser muss entsprechend angepasst werden.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/74.png" /></center>
</p>
</p>
<p>Das sieht dann wie im folgenden Screenshot aus.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/75.png" /></center>
</p>
</p>
<p>Nun erstellen wir ein “Physical System”.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/76.png" /></center>
</p>
</p>
<p>Das sieht dann wie im folgenden Screenshot aus.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/77.png" /></center>
</p>
</p>
<p>Der nächste Schritt besteht darin, der Cloud mitzuteilen, welche Images den Cloud Benutzern angezeigt werden sollen. Dazu wechseln wir nach Plugins >> Cloud >> Configuration >> Private Images und wählen in den Checkboxen &#8220;All&#8221; für das &#8220;windowsxp &#8221; Image.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/78.png" /></center>
</p>
</p>
<p>Nun erstellen wir einen oder mehrere Cloud Benutzer. Hierfür gehen wir nach Plugins >> Cloud >> User und fügen einen neuen Benutzer inkl. einer gültigen E-Mail Adresse hinzu. Als Cloud Administrator kann man sich mit jedem beliebigen Cloud Benutzer anmelden, indem man auf den Namen des Cloud Benutzers klickt.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/79.png" /></center>
</p>
</p>
<p>Die Liste der Cloud Benutzer sieht im Anschluss wie folgt aus.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/80.png" /></center>
</p>
</p>
<p>Das openQRM Portal sieht nach einem erfolgreichen Login dann wie folgt aus.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/81.png" /></center>
</p>
</p>
<p>Wir klicken auf den 2ten Tab mit dem Namen &#8220;Visual Cloud Designer&#8221;.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/82.png" /></center>
</p>
</p>
<p>Der Virtual Cloud Designer zeigt alle verfügbaren Komponenten innerhalb der Cloud an. Mittels Drag and Drop kann nun eine eigene Cloud Appliance konstruiert werden.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/83.png" /></center>
</p>
</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/84.png" /></center>
</p>
</p>
<p>Anschließend sollten die Kosten (stündlich, täglich, moantlich) für die Appliance betrachtet werden.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/85.png" /></center>
</p>
</p>
<p>Mit einem einzigen Klick kann die Appliance der Cloud hinzugefügt werden.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/86.png" /></center>
</p>
</p>
<p>Für das Cloud Deployment erstellt openQRM automatisch ein LVM Snapshot für das ursprüngliche Windows Image. Das bedeutet, dass es sich bei der (remote) Festplatte des Windows Image eigentlich um ein LVM Snapshot handelt. Im Storage Manager ist das Cloud Volume daher mit einem &#8220;s&#8221; (Snapshot) gekennzeichnet.</p>
<p>
<p>
<center><img src="http://img.clouduser.de/openqrm/windows_system/87.png" /></center>
</p>
</p>
<p>Auf der Konsole verwendet man dazu den folgenden Befehl:</p>
<pre lang="text">[root@cloud ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
2.cloud_1_1_ vol swi-ao 19.53G windowsxp 0.06
windowsxp vol owi-ao 40.04G
[root@cloud ~]#</pre>
<p><strong>Lizenzen</strong>:<br />
Wichtig! Für das Deployment jedes einzelnen Windows Image ist eine entsprechende und gültige Windows Lizenz erforderlich.</p>
<h3>11. Die nächsten Schritte</h3>
<ul>
<li>Verwenden von Sanboot-Storage inkl. AOE Deployment</li>
<li>Separierung des Storage, Hypvervisors und openQRM auf dedizierte Systeme</li>
<li>openQRM Server als Hochverfügbarkeitslösung</li>
<li>Hinzufügen weiterer virtualisierter Hosts unterschiedlichen Typs</li>
<li>Hinzufügen von physikalischen Systemen</li>
<li>Hinzufügen von weiteren Storage Systemen</li>
<li>Aktivieren des automatischen Monitorings</li>
<li>IP- und Netzwerkmanagement</li>
<li>Cloud-Billing</li>
<li>Cloud Integration / SOAP WebService</li>
</ul>
<p><strong>Quelle</strong></p>
<ul>
<li><a rel="nofollow" target="_blank" href="http://www.openqrm-enterprise.com/news/details/article/howto-setup-openqrm-cloud-deploying-physical-windows-systems-on-centos-55.html">Howto: Setup openQRM Cloud deploying physical Windows Systems on CentOS 5.5</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/tutorials/einrichten-der-openqrm-cloud-fur-das-deployment-von-physikalischen-windows-systemen-auf-centos-5-5-5480/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erste Schritte mit der domainFACTORY “JiffyBox”</title>
		<link>http://clouduser.de/produkte/erste-schritte-mit-der-domainfactory-jiffybox-5906</link>
		<comments>http://clouduser.de/produkte/erste-schritte-mit-der-domainfactory-jiffybox-5906#comments</comments>
		<pubDate>Mon, 25 Oct 2010 09:21:15 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Produkte]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[domainFACTORY]]></category>
		<category><![CDATA[IaaS]]></category>
		<category><![CDATA[Infrastructure as a Service]]></category>
		<category><![CDATA[JiffyBox]]></category>
		<category><![CDATA[Root Server]]></category>
		<category><![CDATA[Virtual Server]]></category>
		<category><![CDATA[Virtualisierung]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[vServer]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=5906</guid>
		<description><![CDATA[Nach der Vorstellung und weiteren Hintergrundinformationen zur domainFACTORY “JiffyBox”, gibt dieses Tutorial einen Einblick in das Innere. Dazu habe ich von der domainFACTORY GmbH einen kostenlosen Testzugang erhalten, für den ich mich auf diesem Wege bedanken möchte! Erstellen einer JiffyBox Zunächst melden wir uns dazu unter https://admin.jiffybox.de mit einem gültigen Benutzernamen und Passwort an, die [...]]]></description>
			<content:encoded><![CDATA[<p>Nach der <a rel="nofollow" target="_blank" href="http://clouduser.de/2010/10/18/die-domainfactory-jiffybox/">Vorstellung</a> und weiteren <a href="http://clouduser.de/2010/10/20/hintergrunde-zur-domainfactory-jiffybox/">Hintergrundinformationen</a> zur domainFACTORY “<a href="https://www.jiffybox.de">JiffyBox</a>”, gibt dieses Tutorial einen Einblick in das Innere. Dazu habe ich von der <a rel="nofollow" target="_blank" href="http://www.df.eu">domainFACTORY GmbH</a> einen kostenlosen Testzugang erhalten, für den ich mich auf diesem Wege bedanken möchte!</p>
<h3>Erstellen einer JiffyBox</h3>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/01.jpg" alt="" /></center></p>
<p>Zunächst melden wir uns dazu unter <a rel="nofollow" target="_blank" href="https://admin.jiffybox.de">https://admin.jiffybox.de</a> mit einem gültigen Benutzernamen und Passwort an, die wir unter <a rel="nofollow" target="_blank" href="https://www.jiffybox.de">https://www.jiffybox.de</a> beantragen können.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/02.jpg" alt="" /></center></p>
<p>Nach einer erfolgreichen Anmeldung werden wir im Control Panel begrüßt, wo wir im ersten Schritt mittels &#8220;Jetzt Trial-Server bestellen&#8221; einen kostenlosen Test der JiffyBox vornehmen können oder uns über &#8220;Neue JiffyBox erstellen&#8221; eine neue JiffyBox erzeugen. Wir wählen hier den zweiten Schritt.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/03.jpg" alt="" /></center></p>
<p>Wir geben der neuen JiffyBox einen Namen, wählen einen Tarif, hier &#8220;CloudLevel 1 &#8211; mit 1 GB Arbeitsspeicher und 50 GB Festplatte für 0,02 € / Stunde&#8221; und eine Linux Distribution, hier &#8220;Ubuntu 10.04 LTS&#8221;. Würden wir bereits über eine JiffyBox verfügen, hätten wir als Distribution ebenfalls ein Backup als Quelle angeben können.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/04.jpg" alt="" /></center></p>
<p>Unter dem Punkt &#8220;Erweitert&#8221; können wir der JiffyBox ein selbst gewähltes Root Passwort zuweisen. Anschließend wählen wir &#8220;Erstellen&#8221;.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/05.jpg" alt="" /></center></p>
<p>Die JiffyBox wird nun automatisch im Hintergrund erzeugt. Statusinformationen zeigen dabei den aktuellen Vorgang!</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/06.jpg" alt="" /></center></p>
<p>Zurück im &#8220;Control Panel&#8221; sehen wir die erzeugte JiffyBox und können nun mittels &#8220;Konfigurieren&#8221; weitere Einstellungen vornehmen, die JiffyBox &#8220;Starten&#8221;, &#8220;Einfrieren&#8221; oder wieder vollständig &#8220;Löschen&#8221;.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/07.jpg" alt="" /></center></p>
<p>Hinter dem Menüpunkt &#8220;Voreinstellungen&#8221; verbirgt sich das Schlüsselmanagement, wo wir mehrere SSH-Public-Keys eintragen können.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/08.jpg" alt="" /></center></p>
<p>Über den Punkt &#8220;Alle Meldungen&#8221; gelangen wir in den Statusbereich. Hier erhalten wir detailliert alle Informationen zu allen Vorgängen innerhalb unseres Accounts.</p>
<h3>Weitere Informationen</h3>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/09.jpg" alt="" /></center></p>
<p>Über den Menüpunkt &#8220;Account&#8221; gelangen wir direkt zu den Stammdaten.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/10.jpg" alt="" /></center></p>
<p>Weiterhin können wir über &#8220;Kundenservice&#8221; direkt elektronischen Kontakt zu dem domainFACTORY Support aufnehmen und erhalten einen historischen Überblick über alle bisherigen Anfragen.</p>
<p>Wir können zusätzlich über den Menüpunkt &#8220;Passwörter&#8221;, unsere Passwörter für das JiffyBox Control Panel und dem Telefon Support eigenständig ändern. Zudem erhalten wir einen Überblick über alle bisher gestellten Rechnungen durch domainFACTORY über den Punkt &#8220;Rechnungen&#8221;.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/11.jpg" alt="" /></center></p>
<p>Der Menüpunkt &#8220;Verbräuche&#8221; gibt einen genauen Überblick zu den bisher entstandenen Kosten zu allen JiffyBoxen und dem verbrauchten Traffic.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/12.jpg" alt="" /></center></p>
<p>Weiterhin erhalten wir einen detaillierten Überblick über die Nutzung jeder einzelnen, in unserem Account vorhandenen, JiffyBox.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/13.jpg" alt="" /></center></p>
<p>Sowie vom derzeit verbrauchten Traffic.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/14.jpg" alt="" /></center></p>
<p>Ein weiteres interessantes Feature ist die Möglichkeit zur Begrenzung der Kosten. Hier kann ein Betrag (in EUR) als Obergrenze eingetragen werden und die Folgeaktion, die stattfinden soll, wenn der Betrag erreicht wird.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/15.jpg" alt="" /></center></p>
<p>Um die JiffyBox über Skripte zu steuern, haben wir über den Menüpunkt &#8220;API-Zugriff&#8221; die Möglichkeit, einen API-Token zu erzeugen. Weitere Informationen für die Nutzung der API sind in der PDF-Datei &#8220;<a rel="nofollow" target="_blank" href="https://www.jiffybox.de/doc/jiffybox-api-dokumentation.pdf">JiffyBox-API</a>&#8221; zu finden.</p>
<h3>Arbeiten mit der JiffyBox</h3>
<p>Zurück im Control Panel wollen wir nun ein Blick hinter die Konfigurationsmöglichkeiten einer JiffyBox werfen.  Wie wir sehen werden, stehen uns dazu viele Möglichkeiten zur Verfügung. Wir wählen dazu unter &#8220;Ihre JiffyBoxen&#8221; die Aktion &#8220;Konfigurieren&#8221;.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/16.jpg" alt="" /></center></p>
<p>Wir erhalten zunächst einen Überblick zu allen notwendigen Informationen, wie der aktuellen IP-Adresse und dem aktuellen Hostnamen, dem genutzten Tarif, dem verfügbaren Arbeitsspeicher und der Festplattengröße, sowie der für diese JiffyBox verwendeten Linux Distribution.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/17.jpg" alt="" /></center></p>
<p>Über &#8220;Profile und Festplatten&#8221; können wir weitere Konfigurationen am System, der Festplattengröße und deren Zuordnung vornehmen.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/18.jpg" alt="" /></center></p>
<p>Hinter &#8220;Netzwerk&#8221; verbergen sich weitere Informationen zu den IP und DNS Informationen. Hier haben wir die Möglichkeit den &#8220;Reverse-DNS&#8221; Namen zu ändern und eine weitere IP-Adresse zu bestellen.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/19.jpg" alt="" /></center></p>
<p>Von jeder JiffyBox werden automatisch tägliche Backups erstellt. Dennoch haben wir die Option über den Menüpunkt &#8220;Backups&#8221; ein manuelles Backup zu starten, bzw. eigene Backup Pläne zu erstellen.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/20.jpg" alt="" /></center></p>
<p>Über &#8220;Konsole und Recovery&#8221; steht uns der Zugriff mittels einer Web-Konsole und per SSH-Konsole zur Verfügung. Weiterhin kann ein Recovery-System aktiviert werden, um die JiffyBox im Notfallmodus zu starten.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/21.jpg" alt="" /></center></p>
<p>Um die JiffyBox nun zu nutzen, wählen wir im Control Panel unter &#8220;Ihre JiffyBoxen&#8221; lediglich &#8220;Starten&#8221;.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/22.jpg" alt="" /></center></p>
<p>Mittels eines SSH-Clients, hier Putty, verbinden wir uns mit der JiffyBox. Die dazu benötigte IP-Adresse bzw. den DNS-Namen erhalten wir unter dem Menüpunkt &#8220;Netzwerk&#8221; in dem Konfigurationsbereich der JiffyBox.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/23.jpg" alt="" /></center></p>
<p>Anschließend melden wir uns mit dem Benutzer &#8220;root&#8221; und dem von uns bei dem Erstellen der JiffyBox unter &#8220;Erweitert&#8221; gewählten Passwort an.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/24.jpg" alt="" /></center></p>
<p>Damit sind wir mit unserer ersten eigenen JiffyBox verbunden.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/25.jpg" alt="" /></center></p>
<p>Um die JiffyBox wieder zu beenden, wählen wir im Control Panel für die entsprechende JiffyBox &#8220;Stoppen&#8221;.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/26.jpg" alt="" /></center></p>
<p>Und dann &#8220;Herunterfahren&#8221;.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/27.jpg" alt="" /></center></p>
<p>Die JiffyBox wird anschließend automatisch heruntergefahren. Eine Statusmeldung informiert uns über den erfolgreichen Vorgang.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/28.jpg" alt="" /></center></p>
<p>Die JiffyBox kann anschließend wieder angepasst, gestartet, eingefriert oder gelöscht werden.</p>
<p><center><img src="http://img.clouduser.de/df/jiffy_howto/29.jpg" alt="" /></center></p>
<p>Die Verbrauchsanzeige informiert uns darüber, dass für eine Gesamtdauer von 1:33:36 Stunden bisher 0,03 EUR entstanden sind.</p>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/produkte/erste-schritte-mit-der-domainfactory-jiffybox-5906/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Einrichtung einer openQRM Cloud mit KVM auf Ubuntu Lucid Lynx</title>
		<link>http://clouduser.de/tutorials/einrichtung-einer-openqrm-cloud-mit-kvm-auf-ubuntu-lucid-lynx-5033</link>
		<comments>http://clouduser.de/tutorials/einrichtung-einer-openqrm-cloud-mit-kvm-auf-ubuntu-lucid-lynx-5033#comments</comments>
		<pubDate>Wed, 04 Aug 2010 09:30:33 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Einrichtung einer openQRM Cloud mit KVM auf Ubuntu Lucid Lynx]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[OpenQRM]]></category>
		<category><![CDATA[openQRM Cloud]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=5033</guid>
		<description><![CDATA[Dieses Tutorial dient als Schritt für Schritt Anleitung zur Einrichtung einer openQRM Cloud auf einem Ubuntu 10.04 Lucid Lynx und der KVM Virtualisierungstechnologie. Benötigt wird dafür ein physikalisches System, auf welchem VT (Virtualization Technology) aktiviert ist. 1. Los geht es mit einer neuen Ubuntu Lucid Linux Installation Während der Installation des Systems nehmen wir eine [...]]]></description>
			<content:encoded><![CDATA[<p>Dieses Tutorial dient als Schritt für Schritt Anleitung zur Einrichtung einer openQRM Cloud auf einem Ubuntu 10.04 Lucid Lynx und der KVM Virtualisierungstechnologie. Benötigt wird dafür ein physikalisches System, auf welchem VT (Virtualization Technology) aktiviert ist.</p>
<h2>1. Los geht es mit einer neuen Ubuntu Lucid Linux Installation</h2>
<p>Während der Installation des Systems nehmen wir eine manuelle Partitionierung vor und erstellen 3 Partitionen:</p>
<ul>
<li>1 &#8211; primary ext4 mounted at / (the rootfs)</li>
<li>2 &#8211; primary swap</li>
<li>3 &#8211; primary &#8220;nicht verwenden&#8221; (wird zum Speichern des Server-Image benötigt)</li>
</ul>
<p>An dieser Stelle ist es wichtig zu beachten, ein benutzerspezifisches Partitionsschema zu wählen und eine dedizierte Partition zu erstellen, auf der später die Server-Images gespeichert werden. Diese Partition wird dann als &#8220;do not use&#8221; markiert.</p>
<p>Wenn die Installation abgeschlossen ist, starten wir das System neu und melden uns an. Wurde zu beginn die Ubuntu-Server Version installiert muss zusätzlich das &#8220;ubuntu-desktop&#8221; package installiert werden.</p>
<pre lang="text">matt@cloud:~$ sudo apt-get install ubuntu-desktop</pre>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/01.png" alt="" /></center></p>
<h2>2. Vorbereiten des Netzwerks</h2>
<p>Zunächst installieren wir die &#8220;bridge-utils&#8221;.</p>
<pre lang="text">matt@cloud:~$ sudo apt-get install bridge-utils
Reading package lists... Done
Building dependency tree
...
Setting up bridge-utils (1.4-5ubuntu2) ...
matt@cloud:~$</pre>
<p>Anschließend editieren wir &#8220;/etc/network/interfaces&#8221; und richten eine Bridge mit einer statischen, privaten IP-Adresse ein.</p>
<pre lang="text">matt@cloud:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
Waiting for br0 to get ready (MAXWAIT is 2 seconds).
ssh stop/waiting
ssh start/running, process 2864
matt@cloud:~$</pre>
<p>Wir führen den Befehl &#8220;brctl show&#8221; aus und überprüfen damit die Netzwerkkonfiguration.</p>
<pre lang="text">matt@cloud:~$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.002215be747a no eth0
matt@cloud:~$</pre>
<p>Nun hinterlegen wir die statische IP-Adresse (in unserem Fall &#8220;192.168.88.3&#8243;) und den Hostname (in unserem Fall &#8220;cloud&#8221;) in der /etc/hosts. Der Hostname darf hierbei nicht in der ersten Zeile zusammen mit 127.0.0.1 stehen!</p>
<pre lang="text">matt@cloud:~$ cat /etc/hosts
127.0.0.1 localhost
192.168.88.3 cloud.openqrm cloud
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
matt@cloud:~$</pre>
<h2>3. Vorbereiten des Speicherplatz für die Server-Images</h2>
<p>Wir installieren lvm2, nfs-kernel-server, iscsi-target und vblade.</p>
<pre lang="text">matt@cloud:~$ sudo apt-get install lvm2 nfs-kernel-server iscsitarget vblade
Reading package lists... Done
Building dependency tree
...
ldconfig deferred processing now taking place
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-21-server
matt@cloud:~$</pre>
<p>Nun bereiten wir die dedizierte Partition aus Schritt 1 so vor, dass sie zusammen mit lvm genutzt werden kann. Anschließend erstellen wir eine Logical Volume Group &#8220;vol&#8221;.</p>
<pre lang="text">matt@cloud:~$ sudo pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
matt@cloud:~$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 lvm2 -- 186.23g 186.23g
matt@cloud:~$ sudo vgcreate vol /dev/sda3
Volume group "vol" successfully created
matt@cloud:~$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
vol 1 0 0 wz--n- 186.22g 186.22g
matt@cloud:~$</pre>
<p>Wir editieren /etc/default/iscsitarget und konfigurieren &#8220;iscsitarget&#8221; so, dass es während des Bootvorgangs startet.</p>
<pre lang="text">matt@cloud:~$ cat /etc/default/iscsitarget
ISCSITARGET_ENABLE=true
matt@cloud:~$</pre>
<p>Nun starten wir &#8220;iscsitarget&#8221; und die &#8220;nfs-kernel-server&#8221; Services.</p>
<pre lang="text">matt@cloud:~$ sudo /etc/init.d/iscsitarget start
* Starting iSCSI enterprise target service
matt@cloud:~$</pre>
<pre lang="text">matt@cloud:~$ sudo /etc/init.d/nfs-kernel-server start
* Exporting directories for NFS kernel daemon...
* Starting NFS kernel daemon
matt@cloud:~$</pre>
<h2>4. Vorbereiten der Datenbank</h2>
<p>Als Datenbank für den openQRM Server nutzen wir das Package &#8220;mysql-server&#8221;.</p>
<pre lang="text">matt@cloud:~$ sudo apt-get install -y mysql-server
Reading package lists... Done
Building dependency tree
...
Setting up mysql-server (5.1.41-3ubuntu12) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
matt@cloud:~$</pre>
<p>Aus Gründen der Einfachheit wird in diesem Beispiel das MySQL Passwort leer gelassen.</p>
<h2>5. Vorbereiten von KVM</h2>
<p>Dafür installieren wir das &#8220;kvm&#8221; Package.</p>
<pre lang="text">matt@cloud:~$ sudo apt-get install -y kvm
Reading package lists... Done
Building dependency tree
.....
Setting up qemu-kvm (0.12.3+noroms-0ubuntu9) ...
qemu-kvm start/running
Setting up kvm (1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
matt@cloud:~$</pre>
<h2>6. Installation von openQRM</h2>
<p>openQRM wird in diesem Tutorial aus den Sourcen erstellt. Diese sind in dem Subversion Repository des openQRM Projects verfügbar. Für die Installation sind hier lediglich ein Subversion Client und &#8220;make&#8221; notwendig. Diese sollten also installiert werden.</p>
<pre lang="text">matt@cloud:~$ sudo apt-get install -y subversion make
Reading package lists... Done
Building dependency tree
...
Setting up subversion (1.6.6dfsg-2ubuntu1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
matt@cloud:~$</pre>
<p>Nun müssen die openQRM Sourcen aus dem SVN Repository ausgecheckt werden.</p>
<pre lang="text">matt@cloud:~$ svn co https://openqrm.svn.sourceforge.net/svnroot/openqrm openqrm
....
matt@cloud:~$</pre>
<p>Wir wechseln in das src/ Verzeichnis.</p>
<pre lang="text">matt@cloud:~$ cd openqrm/trunk/src/
matt@cloud:~/openqrm/trunk/src$</pre>
<p>Anschließend führen wir &#8220;make&#8221; aus. Dafür wird eine funktionsfähige Internetverbindung benötigt. Sollte dieses nicht der Fall sein, können die Sourcen auch von <a rel="nofollow" target="_blank" href="http://sourceforge.net/projects/openqrm/files/openQRM-4.6/source/openqrm-thirdparty-cache.tgz/download">http://sourceforge.net/projects/openqrm/files/openQRM-4.6/source/openqrm-thirdparty-cache.tgz/download</a> heruntergeladen werden. Diese müssen danach in das Home-Verzeichnis entpackt werden.</p>
<pre lang="text">matt@cloud:~/openqrm/trunk/src$ make
....</pre>
<p>Alle Ergebnisse der Kompilierung werden vom openQRM-Build System automatisch gecached. Um sicherzustellen, dass alle Komponenten richtig erstellt wurden, kann &#8220;make&#8221; einfach erneut ausgeführt werden.</p>
<pre lang="text">matt@cloud:~/openqrm/trunk/src$ make
Checking requirements for the compilation phase
openqrm-server requires: make, gcc, portmap, rsync, zlib1g-dev, wget, tar, bzip2, unzip, wget, netbase, patch
found make installed
found gcc installed
found portmap installed
found rsync installed
found zlib1g-dev installed
found wget installed
found tar installed
found bzip2 installed
found unzip installed
found wget installed
found netbase installed
found patch installed
openqrm-plugin-aoe-storage requires:
openqrm-plugin-aws requires:
openqrm-plugin-citrix requires:
openqrm-plugin-cloud requires:
openqrm-plugin-collectd requires:
openqrm-plugin-dhcpd requires:
openqrm-plugin-dns requires:
openqrm-plugin-equallogic-storage requires:
openqrm-plugin-highavailability requires:
openqrm-plugin-image-shelf requires:
openqrm-plugin-iscsi-storage requires:
openqrm-plugin-kvm requires:
openqrm-plugin-kvm-storage requires:
openqrm-plugin-linux-vserver requires:
openqrm-plugin-linuxcoe requires:
openqrm-plugin-local-server requires:
openqrm-plugin-local-storage requires:
openqrm-plugin-lvm-storage requires:
openqrm-plugin-nagios2 requires:
openqrm-plugin-nagios3 requires:
openqrm-plugin-netapp-storage requires:
openqrm-plugin-nfs-storage requires:
openqrm-plugin-puppet requires:
openqrm-plugin-sanboot-storage requires:
openqrm-plugin-solx86 requires:
openqrm-plugin-sshterm requires:
openqrm-plugin-tftpd requires:
openqrm-plugin-tmpfs-storage requires:
openqrm-plugin-vbox requires:
openqrm-plugin-vmware-esx requires:
openqrm-plugin-vmware-server requires:
openqrm-plugin-vmware-server2 requires:
openqrm-plugin-windows requires:
openqrm-plugin-xen requires:
openqrm-plugin-xen-storage requires:
openqrm-plugin-zabbix requires:
openqrm-plugin-zfs-storage requires:
Checking for required components to compile openQRM finished successfully
if [ -d ./thirdparty ]; then mkdir -p ../buildtmp; cp -aR ./thirdparty/* ../buildtmp/; fi
-&gt; found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded
-&gt; found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded
-&gt; found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded
-&gt; found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded
Creating the default initrd-template
-&gt; found component busybox (busybox-1.14.2.tar.bz2) already downloaded
-&gt; Found busybox-1.14.2/_install/bin/busybox already in the build-cache
-&gt; Skipping compilation, taking the ready built component from the cache
-&gt; found component pciutils (pciutils-3.1.4.tar.gz) already downloaded
-&gt; Found pciutils-3.1.4/pcimodules already in the build-cache
-&gt; Skipping compilation, taking the ready built component from the cache
-&gt; found component dropbear (dropbear-0.52.tar.gz) already downloaded
-&gt; Found dropbear-0.52/dropbear already in the build-cache
-&gt; Skipping compilation, taking the ready built component from the cache
/lib64/ld-2.11.1.so /lib64/ld-linux-x86-64.so.2
Adding /sbin/portmap to default initrd-template
Adding /sbin/rpc.statd to default initrd-template
Adding /bin/bash to default initrd-template
Adding /usr/bin/rsync to default initrd-template
Adding /usr/bin/wget to default initrd-template
Adding /sbin/modprobe to default initrd-template
Adding /sbin/depmod to default initrd-template
Adding /sbin/insmod to default initrd-template
Adding /sbin/lsmod to default initrd-template
Adding /sbin/mke2fs to default initrd-template
Adding /sbin/sfdisk to default initrd-template
Adding /sbin/udevd to default initrd-template
Adding /sbin/blkid to default initrd-template
/lib64/libnss_files-2.11.1.so /lib64/libnss_files.so.2
-&gt; found component jquery (jquery-1.3.2.tgz) already downloaded
-&gt; found component js-interface (interface_1.2.zip) already downloaded
-&gt; found component openqrm-client.centos.i386 (openqrm-client.4.6.1.centos.i386.tgz) already downloaded
-&gt; found component openqrm-client.centos.x86_64 (openqrm-client.4.6.1.centos.x86_64.tgz) already downloaded
-&gt; found component openqrm-client.debian.i386 (openqrm-client.4.6.1.debian.i386.tgz) already downloaded
-&gt; found component openqrm-client.debian.x86_64 (openqrm-client.4.6.1.debian.x86_64.tgz) already downloaded
-&gt; found component openqrm-client.ubuntu.i386 (openqrm-client.4.6.1.ubuntu.i386.tgz) already downloaded
-&gt; found component openqrm-client.ubuntu.x86_64 (openqrm-client.4.6.1.ubuntu.x86_64.tgz) already downloaded
-&gt; found component openqrm-initrd-template.centos.i386 (openqrm-initrd-template.4.6.1.centos.i386.tgz) already downloaded
-&gt; found component openqrm-initrd-template.centos.x86_64 (openqrm-initrd-template.4.6.1.centos.x86_64.tgz) already download
-&gt; found component openqrm-initrd-template.debian.i386 (openqrm-initrd-template.4.6.1.debian.i386.tgz) already downloaded
-&gt; found component openqrm-initrd-template.debian.x86_64 (openqrm-initrd-template.4.6.1.debian.x86_64.tgz) already download
-&gt; found component openqrm-initrd-template.ubuntu.i386 (openqrm-initrd-template.4.6.1.ubuntu.i386.tgz) already downloaded
-&gt; found component openqrm-initrd-template.ubuntu.x86_64 (openqrm-initrd-template.4.6.1.ubuntu.x86_64.tgz) already download
-&gt; found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded
-&gt; found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded
-&gt; found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded
-&gt; found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded
matt@cloud:~/openqrm/trunk/src$</pre>
<p>Nun führen wir &#8220;sudo make install&#8221; aus.</p>
<pre lang="text">matt@cloud:~/openqrm/trunk/src$ sudo make install
Creating the openqrm-client boot-service package
include/
include/openqrm-plugin-kvm-functions
.... further install output
sbin/
sbin/openqrm-kvm-storage-monitord
matt@cloud:~/openqrm/trunk/src$</pre>
<p>Am Ende initialisieren und starten wir openQRM mittels &#8220;sudo make start&#8221;.</p>
<pre lang="text">matt@cloud:~/openqrm/trunk/src$ sudo make start
.... runtime dependency check, automatic install additional requirements
...
openqrm-plugin-xen requires: , screen
-&gt; found screen installed
openqrm-plugin-xen-storage requires: , screen
-&gt; found screen installed
openqrm-plugin-zabbix requires:
openqrm-plugin-zfs-storage requires: , open-iscsi
-&gt; found open-iscsi installed
Checking for required components finished successfully
First startup detected. Running initialization.

Adding system startup for /etc/init.d/openqrm ...
/etc/rc0.d/K24openqrm -&gt; ../init.d/openqrm
/etc/rc1.d/K24openqrm -&gt; ../init.d/openqrm
/etc/rc6.d/K24openqrm -&gt; ../init.d/openqrm
/etc/rc2.d/S98openqrm -&gt; ../init.d/openqrm
/etc/rc3.d/S98openqrm -&gt; ../init.d/openqrm
/etc/rc4.d/S98openqrm -&gt; ../init.d/openqrm
/etc/rc5.d/S98openqrm -&gt; ../init.d/openqrm
Looking for syslinux/pxelinux.0...found: /usr/lib/syslinux/pxelinux.0
Creating custom apache config.../etc/apache2/conf.d/openqrm-httpd.conf
Checking /usr/share/openqrm/etc/openqrm-server.conf for OPENQRM_WEB_PROTOCOL=https.. * Reloading web server config apache2
Adding password for user openqrm
Initializing dropbear...
Will output 1024 bit rsa secret key to '/usr/share/openqrm/etc/dropbear/dropbear_rsa_host_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxroot@cloud
Fingerprint: md5 28:46:66:b4:b7:59:b6:28:70:ec:2b:6f:16:4a:dd:70
Adding public key to /root/.ssh/authorized_keys...
Starting the openQRM-server ver. 4.6.
Initialization complete. Please configure your openQRM Server at: http://[server-ip-address]/openqrm/
-&gt; User: openqrm -&gt; Password: openqrm
matt@cloud:~/openqrm/trunk/src$</pre>
<p>&#8220;make start&#8221; führt zusätzlich eine Check-Routine aus, die überprüft, dass alle Abhängigkeiten für die Einwandfreie Nutzung von openQRM vorhanden sind. Ggf. nicht vorhandene Pakete werden automatisch installiert.</p>
<p>Während des ersten Starts wird der openQRM Server initialisiert. Nachdem openQRM vollständig installiert wurde, kann nun die Konfiguration mittels der Weboberfläche vorgenommen werden.</p>
<h2>7. Konfiguration von openQRM</h2>
<p>Wir melden uns am openQRM Server per <a rel="nofollow" target="_blank" href="http://localhost/openqrm">http://localhost/openqrm</a> an. Der Benutzer und das Passwort sind jeweils &#8220;openqrm&#8221;. Nach der Konfiguration sollten diese Daten geändert werden.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/02.png" alt="" /></center>Als erstes wählen wir als Netzwerkkarte die Bridge Schnittstelle für das openQRM Management.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/03.png" alt="" /></center>Als Datenbank für das openQRM Backend wählen wir &#8220;myslq&#8221;.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/04.png" alt="" /></center>Anschließend konfigurieren wir die Verbindungsinformationen für die Datenbank.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/05.png" alt="" /></center>openQRM ist nun vollständig konfiguriert.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/06.png" alt="" /></center>Wir werden automatisch zum Datacenter Dashboard weitergeleitet.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/07.png" alt="" /></center></p>
<h2>8. Vorbereiten der Server-Images</h2>
<p>Als Nächstes müssen wir die folgenden Plugins aktivieren und starten:</p>
<ul>
<li>cloud</li>
<li>dhcpd</li>
<li>image-shelf</li>
<li>kvm</li>
<li>lvm-storage</li>
<li>tftpd</li>
</ul>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/08.png" alt="" /></center>Anschließend wechseln wir nach Base &gt;&gt; Components &gt;&gt; Create &gt;&gt; Storage. Dort erstellen wir einen neuen Speicher vom Typ &#8220;Lvm Storage Server (NFS)&#8221; und wählen den openQRM Server als Ressource.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/09.png" alt="" /></center>Wir geben dem Storage Server einen Namen und speichern diesen.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/10.png" alt="" /></center>Die Liste der verfügbaren Speicher sind nun wie folgt aus.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/11.png" alt="" /></center>Wir klicken auf den &#8220;Mgmt&#8221; Button des neu erstellten &#8220;lvm-nfs&#8221; Storage Server.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/12.png" alt="" /></center>Hier wählen wir die Volume Group &#8220;vol&#8221;.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/13.png" alt="" /></center>Nun erstellen wir ein neues Volume mit dem Namen &#8220;ubuntu64&#8243; und einer Größe von 5000 MB.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/14.png" alt="" /></center>Im Anschluss erstellen wir ein weiteres Volume mit dem Namen &#8220;debian64&#8243; und einer Größe von 5000 MB.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/15.png" alt="" /></center>Nun wechseln wir nach Base &gt;&gt; Components &gt;&gt; Create &gt;&gt; Image und erstellen Images aus den eben erstellten Volumes. Im ersten Schritt wählen wir den Storage Server auf dem die Images physikalisch gespeichert sind.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/16.png" alt="" /></center>Anschließend geben wir dem Image einen Namen (in diesem Beispiel &#8220;ubuntu64&#8243;) und wählen das &#8220;ubuntu64&#8243; Volume als das Root-Device.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/17.png" alt="" /></center>Dieses wiederholen wir für ein weiteres Image und geben diesem den Namen &#8220;debian64&#8243; und wählen das &#8220;debian64&#8243; Volume als das Root-Device.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/18.png" alt="" /></center>Die Liste der verfügbaren Images sind nun wie folgt aus.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/19.png" alt="" /></center>Auf der Konsole erhalten wir folgende Ausgabe:</p>
<pre lang="text">matt@cloud:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 38543848 3470824 33115088 10% /
none 1523376 324 1523052 1% /dev
none 1528204 200 1528004 1% /dev/shm
none 1528204 164 1528040 1% /var/run
none 1528204 0 1528204 0% /var/lock
none 1528204 0 1528204 0% /lib/init/rw
none 38543848 3470824 33115088 10% /var/lib/ureadahead/debugfs
/dev/mapper/vol-ubuntu64
5039616 141212 4642404 3% /vol/ubuntu64
/dev/mapper/vol-debian64
5039616 141212 4642404 3% /vol/debian64
matt@cloud:~$ sudo exportfs
/vol/ubuntu64 192.168.88.3
/vol/debian64 192.168.88.3
matt@cloud:~$ ls /vol/ubuntu64/
lost+found
matt@cloud:~$ ls /vol/debian64/
lost+found
matt@cloud:~$</pre>
<p>Mittels des &#8220;image-shelf&#8221; Plugin werden die weiterhin noch leeren Images mit dem Root Dateisystem befüllt.</p>
<p>Dazu gehen wir nach Plugins &gt;&gt; Deployment &gt;&gt; Image-Shelf &gt;&gt; Import und wählen das &#8220;openqrm-enterprise&#8221; Image-Shelf.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/20.png" alt="" /></center>Hier erhalten wir nun eine liste von verfügbaren Server Templates. Wir wählen das &#8220;Ubuntu x86_64&#8243; und klicken auf &#8220;get&#8221;.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/21.png" alt="" /></center>Nun wählen wir das Image zu dem die Server Templates hinzugefügt werden sollen. Wir nehmen das &#8220;ubuntu64&#8243; Image, dass wir vorhin erstellt haben und klicken &#8220;put&#8221;.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/22.png" alt="" /></center>Image-Shelf verarbeitet nun die Anfrage im Hintergrund. Dabei werden die ausgewählten Server Templates heruntergeladen und auf dem Storage Server entpackt. Der gesamte Vorgang nimmt ein wenig Zeit in Anspruch.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/23.png" alt="" /></center>Derselbe Vorgang muss für das &#8220;debian64&#8243; Image ebenfalls vorgenommen werden.</p>
<p>Nachdem Image-Shelf die Verarbeitung abgeschlossen hat, erhalten wir folgende Konsolenausgabe:</p>
<pre lang="text">matt@cloud:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 38543848 3552184 33033728 10% /
none 1523376 324 1523052 1% /dev
none 1528204 200 1528004 1% /dev/shm
none 1528204 164 1528040 1% /var/run
none 1528204 0 1528204 0% /var/lock
none 1528204 0 1528204 0% /lib/init/rw
none 38543848 3552184 33033728 10% /var/lib/ureadahead/debugfs
/dev/mapper/vol-ubuntu64
5039616 1144532 3639084 24% /vol/ubuntu64
/dev/mapper/vol-debian64
5039616 1084104 3699512 23% /vol/debian64
matt@cloud:~$ sudo exportfs
/vol/ubuntu64 192.168.88.3
/vol/debian64 192.168.88.3
matt@cloud:~$ ls /vol/ubuntu64/
bin cdrom etc initrd.img lib64 media opt root selinux sys usr vmlinuz
boot dev home lib lost+found mnt proc sbin srv tmp var
matt@cloud:~$ ls /vol/debian64/
bin cdrom emul home lib lib64 media opt root selinux sys usr vmlinuz
boot dev etc initrd.img lib32 lost+found mnt proc sbin srv tmp var
matt@cloud:~$</pre>
<p>Beide Images sind nun mit einem validen Root Dateisystem befüllt. Die Konfiguration der openQRM Cloud kann nun fortgeführt werden.</p>
<h2>9. Erstellen eines KVM Host</h2>
<p>Nun müssen wir openQRM die virtualisierten Hosts mitteilen. Dazu gehen wir nach Base &gt;&gt; Appliances &gt;&gt; Create und wählen &#8220;openQRM Server&#8221; als &#8220;resource&#8221;.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/24.png" alt="" /></center>Wir geben der neuen Appliance einen Namen (in diesem Beispiel &#8220;kvm-host&#8221;), setzen den &#8220;resource-type&#8221; auf &#8220;KVM Host&#8221; und speichern.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/25.png" alt="" /></center>Die Liste der Appliances sieht nach dem Erstellen der &#8220;kvm-host&#8221; Appliance wie folgt aus.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/26.png" alt="" /></center></p>
<h2>10. Konfiguration der openQRM Cloud</h2>
<p>Nun wechseln wir nach Plugins &gt;&gt; Cloud &gt;&gt; Configuration &gt;&gt; Main Config und konfigurieren die folgenden Punkte:</p>
<ul>
<li>cloud_admin_email &gt; eine valide E-Mail Adresse</li>
<li>auto_provision → true</li>
<li>external_portal_url → (optional) externe URL zu einem Cloud Portal</li>
<li>request_physical_systems → false</li>
<li>auto_give_ccus → 100</li>
<li>show_disk_resize → (optional) true</li>
<li>show_private_image → true</li>
<li>cloud_currency → (optional) auf US oder Euro setzen</li>
<li>cloud_1000_ccus → Wie viele 1000 CCUs wie viel US/Euro entsprechen</li>
</ul>
<p>Für alle weiteren Konfigurationspunkte können die Standardwerte genommen werden. Speichern nicht vergessen!</p>
<p>Der folgende Screenshot zeigt die Hauptseite zur Konfiguration der Cloud.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/27.png" alt="" /></center>Als nächstes müssen die Cloud Produkte mittels des &#8220;Cloud-Selector&#8221; konfiguriert werden.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/28.png" alt="" /></center>Dazu gehen wir nach Plugins &gt;&gt; Cloud &gt;&gt; Configuration &gt;&gt; Products &gt;&gt; Kernel und erstellen ein neues &#8220;Ubuntu64&#8243; Kernel Produkt.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/29.png" alt="" /></center>Diesen Schritt wiederholen wir, um ein &#8220;Debian64&#8243; Kernel Produkt zu erstellen.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/30.png" alt="" /></center>Im Anschluss erstellen wir ein &#8220;KVM VM&#8221; Virtualisierung Produkt.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/31.png" alt="" /></center>Das sieht dann wie im folgenden Screenshot aus.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/32.png" alt="" /></center>Der nächste Schritt besteht darin, der Cloud mitzuteilen, welche Images den Cloud Benutzern angezeigt werden sollen. Dazu wechseln wir nach Plugins &gt;&gt; Cloud &gt;&gt; Configuration &gt;&gt; Private Images und wählen in den Checkboxen &#8220;All&#8221; für das &#8220;ubuntu64&#8243; und &#8220;debian64&#8243; Image.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/33.png" alt="" /></center>Nun erstellen wir einen oder mehrere Cloud Benutzer. Hierfür gehen wir nach Plugins &gt;&gt; Cloud &gt;&gt; User und fügen einen neuen Benutzer inkl. einer gültigen E-Mail Adresse hinzu.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/34.png" alt="" /></center>Die Liste der Cloud Benutzer sieht im Anschluss wie folgt aus.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/35.png" alt="" /></center>Als Cloud Administrator kann man sich mit jedem beliebigen Cloud Benutzer anmelden, indem man auf den Namen des Cloud Benutzers klickt.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/36.png" alt="" /></center>Das openQRM Portal sieht nach einem erfolgreichen Login dann wie folgt aus.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/37.png" alt="" /></center>Wir klicken auf den 2ten Tab mit dem Namen &#8220;Visual Cloud Designer&#8221;.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/38.png" alt="" /></center>Der Virtual Cloud Designer zeigt alle verfügbaren Komponenten innerhalb der Cloud an. Mittels Drag and Drop kann nun eine eigene Cloud Appliance konstruiert werden.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/39.png" alt="" /></center>Anschließend sollten die Kosten (stündlich, täglich, moantlich) für die Appliance betrachtet werden.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/40.png" alt="" /></center>Mit einem einzigen Klick kann die Appliance der Cloud hinzugefügt werden.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/41.png" alt="" /></center></p>
<h2>11. Nutzen der openQRM Cloud</h2>
<p>Um Zugriff auf die &#8220;KVM VM&#8221; Konsole zu erhalten, muss das &#8220;xtightvncviewer&#8221; Package installiert werden.</p>
<pre lang="text">matt@cloud:~$ sudo apt-get install xtightvncviewer
Reading package lists... Done
...
Setting up xtightvncviewer (1.3.9-6) ...
update-alternatives: using /usr/bin/xtightvncviewer to provide /usr/bin/vncviewer (vncviewer) in auto mode.
matt@cloud:~$</pre>
<p>Um sich per VNC an der ersten Cloud Appliance (KVM VM) anzumelden nutzen wir den folgenden Befehl.</p>
<pre lang="text">matt@cloud:~$ vncviewer localhost:1</pre>
<p>Der folgende Screenshot zeigt den Bootvorgang der Cloud Appliance in einer KVM VM.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/42.png" alt="" /></center>Die openQRM Cloud schickt dem Cloud Benutzer automatisch eine E-Mail, in der die IP-Adresse und alle Anmeldeinformationen enthalten sind.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/43.png" alt="" /></center>Wir können uns nun anmelden und mit der Cloud Appliance arbeiten.</p>
<p><center><img src="http://img.clouduser.de/openqrm/howto_install/44.png" alt="" /></center></p>
<h2>12. Die nächsten Schritte</h2>
<ul>
<li>Separierung des Storage, Hypvervisors und openQRM auf dedizierte Systeme</li>
<li>openQRM Server als Hochverfügbarkeitslösung</li>
<li>Hinzufügen weiterer virtualisierter Hosts unterschiedlichen Typs (XEN, VMwAre, etc.)</li>
<li>Hinzufügen von physikalischen Systemen</li>
<li>Hinzufügen von weiteren Storage Systemen</li>
<li>Aktivieren des automatischen Monitorings</li>
<li>IP- und Netzwerkmanagement</li>
<li>Cloud-Billing</li>
<li>Cloud Integration / SOAP WebService</li>
</ul>
<h2>Quelle</h2>
<ul>
<li><a rel="nofollow" target="_blank" href="http://www.openqrm-enterprise.com/news/details/article/howto-setup-your-own-openqrm-cloud-with-kvm-on-ubuntu-lucid-lynx.html">HowTo: Setup your own openQRM Cloud with KVM on Ubuntu Lucid Lynx</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/tutorials/einrichtung-einer-openqrm-cloud-mit-kvm-auf-ubuntu-lucid-lynx-5033/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenNebula: Der Aufbau einer Public Cloud</title>
		<link>http://clouduser.de/management/opennebula-der-aufbau-einer-public-cloud-5501</link>
		<comments>http://clouduser.de/management/opennebula-der-aufbau-einer-public-cloud-5501#comments</comments>
		<pubDate>Tue, 27 Jul 2010 09:16:54 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Der Aufbau einer Public Cloud]]></category>
		<category><![CDATA[OpenNebula]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=5501</guid>
		<description><![CDATA[Was ist eine Public Cloud? Eine Public Cloud ist die Erweiterung einer Private Cloud, die eine RESTful Cloud Schnittstelle bereitstellt. Cloud Schnittstellen können sowohl zu einer Private als auch zu einer Hybrid Cloud hinzugefügt werden, um z.B. Partnern oder extern Benutzer den Zugriff auf die eigene Infrastruktur zu ermöglichen, oder um eigene Überkapazitäten zu verkaufen. [...]]]></description>
			<content:encoded><![CDATA[<h3>Was ist eine Public Cloud?</h3>
<p>Eine Public <img src="http://img.clouduser.de/opennebula/publiccloud.png" WIDTH=300 HEIGHT=151 align="right" /> Cloud ist die Erweiterung einer Private Cloud, die eine RESTful Cloud Schnittstelle bereitstellt. Cloud Schnittstellen können sowohl zu einer Private als auch zu einer Hybrid Cloud hinzugefügt werden, um z.B. Partnern oder extern Benutzer den Zugriff auf die eigene Infrastruktur zu ermöglichen, oder um eigene Überkapazitäten zu verkaufen. Somit ist eine lokale Cloud Lösung das natürliche Back-End für eine Public Cloud.</p>
<h3>Die Sicht des Benutzers</h3>
<p>Die folgenden Schittstellen stellen eine einfache Möglichkeit für das Remote Management von Cloud Ressourcen dar.</p>
<ul>
<li>EC2 Query subset</li>
<li>RESERVOIR Cloud Interface und OGF OCCI</li>
</ul>
<p>Benutzer haben die Möglichkeit, Befehle zu verwenden, welche die Funktionalität der Amazon EC2 Services abbilden. Mit drei einfachen Befehlen kann ein bereits vorinstalliertes Betriebssystem (als vorhandene .img Datei) in der Cloud gestartet werden.</p>
<p>Zunächst muss das Image hochgeladen werden:</p>
<pre lang="text">$ ./econe-upload /images/gentoo.img
Success: ImageId 872ce740-5904-012c-08e0-0017f231be96</pre>
<p>Nachdem das Image in das OpenNebula Repository hochgeladen wurde, muss dieses für die Nutzung in der Cloud registriert werden:</p>
<pre lang="text">$ ./econe-register 872ce740-5904-012c-08e0-0017f231be96
Success: ImageId 872ce740-5904-012c-08e0-0017f231be96</pre>
<p>Anschließend kann das registrierte Image in der Cloud gestartet und ausgeführt werden:</p>
<pre lang="text">$ ./econe-run-instances -H 872ce740-5904-012c-08e0-0017f231be96
Owner       ImageId                                InstanceId InstanceType
------------------------------------------------------------------------------
helen       872ce740-5904-012c-08e0-0017f231be96   15         m1.small</pre>
<p>Weiterhin kann die ausgeführte Instanz überwacht werden:</p>
<pre lang="text">$ ./econe-describe-instances  -H
Owner       Id    ImageId                               State         IP              Type
------------------------------------------------------------------------------------------------------------
helen       15    872ce740-5904-012c-08e0-0017f231be96  pending       147.96.80.33    m1.small  </pre>
<h3>Wie das System funktioniert</h3>
<p>Es müssen keine Änderung an der Funktionsweise von OpenNebula vorgenommen werden, um Cloud Schnittstellen bereitzustellen. Benutzer können sich mit der Infrastruktur verbinden, indem sie eine Private oder Public Cloud Schnittstelle verwenden.</p>
<h3>Quelle</h3>
<ul>
<li><a rel="nofollow" target="_blank" href="http://www.opennebula.org/documentation:rel1.4:introc">Building a Public Cloud</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/management/opennebula-der-aufbau-einer-public-cloud-5501/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtuelle Maschinen für Amazon EC2 mit dem VMBuilder erstellen</title>
		<link>http://clouduser.de/tutorials/virtuelle-maschinen-fur-amazon-ec2-mit-dem-vmbuilder-erstellen-4820</link>
		<comments>http://clouduser.de/tutorials/virtuelle-maschinen-fur-amazon-ec2-mit-dem-vmbuilder-erstellen-4820#comments</comments>
		<pubDate>Wed, 21 Jul 2010 09:28:01 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Amazon EC2]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[EC2 VMBuilder]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Infrastructure as a Service]]></category>
		<category><![CDATA[Private Cloud]]></category>
		<category><![CDATA[Public Cloud]]></category>
		<category><![CDATA[Python VMBuilder]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Virtuelle Maschinen]]></category>
		<category><![CDATA[VMBuilder]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=4820</guid>
		<description><![CDATA[Dieses Tutorial beschreibt wie ein offizielles Amazon EC2 Image mit dem VMBuilder deployed wird. Installation Installation auf Karmic Koala (9.10) und späteren Versionen Für alle Ubuntu Versionen ab Karmic Koala (9.10) sind fertige Pakete vorhanden. apt-get install python-vm-builder-ec2 Installation auf früheren Versionen Für frühere Versionen müssen die notwendigen Tools installiert werden, um den VMBuilder zu [...]]]></description>
			<content:encoded><![CDATA[<p>Dieses Tutorial beschreibt wie ein offizielles Amazon EC2 Image mit dem VMBuilder deployed wird.</p>
<h2>Installation</p>
<hr />
</h2>
<h3>Installation auf Karmic Koala (9.10) und späteren Versionen</h3>
<p>Für alle Ubuntu Versionen ab Karmic Koala (9.10) sind fertige Pakete vorhanden.<span id="more-4820"></span></p>
<pre lang="XML">apt-get install python-vm-builder-ec2</pre>
<h3>Installation auf früheren Versionen</h3>
<p>Für frühere Versionen müssen die notwendigen Tools installiert werden, um den VMBuilder zu erstellen und diesen zu nutzen.</p>
<pre lang="XML">sudo apt-get install bzr cdbs python-all-dev python-epydoc \
  kvm debootstrap parted kpartx ubuntu-keyring             \
  dpkg-dev python-boto python-cheetah ec2-ami-tools        \
  devscripts build-essential</pre>
<p>Laden der EC2-Änderungen die an dem VMBuilder ggf. vorgenommen wurden.</p>
<pre lang="XML">sbzr branch lp:~zulcss/vmbuilder/vmbuilder-intrepid-ec2</pre>
<p>Laden der EC2 Skripte die für die Konfiguration während des ersten Starts und der ersten Benutzeranmeldung für das Image benötigt werden.</p>
<pre lang="XML">bzr branch lp:~zulcss/ec2-scripts/trunk zulcss-ec2-scripts</pre>
<p>Erstellen des VMBuilder Package.</p>
<pre lang="XML">(cd vmbuilder-chuck; debuild -uc -us)</pre>
<p>Installation der Debs.</p>
<pre lang="text">sudo dpkg -i                \
  python-vm-builder_*.deb   \
  python-vm-builder-ec2*.deb</pre>
<h2>Erstellen einer virtuellen Maschine</p>
<hr />
</h2>
<p>Mit dem folgenden Befehl wird automatisch ein Image erstellt, ge-bundled und hochgeladen.</p>
<pre lang="text">sudo vmbuilder xen ubuntu --suite={hardy,intrepid,karmic} --ec2 \
  --ec2-cert=<ablageort des EC2 Zertifikat>                  \
  --ec2-key=<ablageort des EC2 Key>                    \
  --ec2-access-key=<aws Access Key>                     \
  --ec2-secret-key=<aws Secret Key>                     \
  --ec2-user=<aws Nummer>                             \
  --ec2-bucket=<ec2 Bucket Name>                        \
  --ec2-prefix=<image prefix>                                \
  --ec2-version="Beschreibung des EC2 Image"              \
  --firstboot=/usr/share/doc/python-vm-builder-ec2/examples/ec2-firstboot.sh            \
  --part=/usr/share/doc/python-vm-builder-ec2/examples/ec2-< arch >-part-file.txt         \
  --debug</pre>
<p>Beim Einsatz eines früheren Ubuntu Release müssen die Skripte unter <strong>/usr/share/doc/python-vm-builder-ec2/examples</strong> mit den Skripten von <strong>zulcss-ec2-scripts</strong> (siehe oben) ersetzt werden.</p>
<h2>Quelle</h2>
<ul>
<li><a rel="nofollow" target="_blank" href="https://wiki.ubuntu.com/EC2Vmbuilder">EC2Vmbuilder</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/tutorials/virtuelle-maschinen-fur-amazon-ec2-mit-dem-vmbuilder-erstellen-4820/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon S3 in Verbindung mit einer eigenen Subdomain nutzen</title>
		<link>http://clouduser.de/tutorials/amazon-s3-in-verbindung-mit-einer-eigenen-subdomain-nutzen-5836</link>
		<comments>http://clouduser.de/tutorials/amazon-s3-in-verbindung-mit-einer-eigenen-subdomain-nutzen-5836#comments</comments>
		<pubDate>Mon, 19 Jul 2010 09:18:21 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Amazon S3 Domain]]></category>
		<category><![CDATA[Amazon S3 Subdomain]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=5836</guid>
		<description><![CDATA[Dieses Tutorial beschreibt, wie man den Amazon S3 Webservice zusammen mit einer eigenen (Sub)-Domain nutzen kann. Also im Prinzip durch das verwenden einer eigenen Subdomain die Nutzung von Amazon S3 verschleiert. Immer wenn eine Datei zu Amazon S3 hochgeladen wird, bekommen wir eine URL, um Zugriff auf diese zu erhalten. Dabei werden zwei unterschiedliche Schreibweisen [...]]]></description>
			<content:encoded><![CDATA[<p>Dieses Tutorial beschreibt, wie man den Amazon S3 Webservice zusammen mit einer eigenen (Sub)-Domain nutzen kann. Also im Prinzip durch das verwenden einer eigenen Subdomain die Nutzung von Amazon S3 verschleiert.</p>
<p>Immer wenn eine Datei zu Amazon S3 hochgeladen wird, bekommen wir eine URL, um Zugriff auf diese zu erhalten. Dabei werden zwei unterschiedliche Schreibweisen verwendet, die wie folgt aussehen:</p>
<ul>
<li><strong>http://s3.amazonaws.com/bucket_name/dateiname.ext</strong></li>
</ul>
<p>und</p>
<ul>
<li><strong>http://bucket_name.s3.amazonaws.com/dateiname.ext</strong></li>
</ul>
<p>Wie man erkennt, wird der Name des Buckets im ersten Beispiel als Teil des Dateipfads genutzt, im zweiten Beispiel als Teil des Domain Namen. Diese beiden URLs sind identisch und verweisen auf dieselbe Datei.</p>
<p>Um nun eine Subdomain so zu konfigurieren, dass diese auf Amazon S3 verweist, muss zunächst ein Bucket mit <strong>exakt</strong> dem Namen der Subdomain erstellt werden. Wollen wir z.B. eine Subdomain mit dem Namen <strong>http://Meine-S3-Dateien.clouduser.de</strong> auf Amazon S3 verweisen lassen, erstellen wir einen Bucket mit <strong>exakt</strong> dem Namen <strong>Meine-S3-Dateien.clouduser.de</strong>.</p>
<p>Also nochmal zusammengefasst:</p>
<ul>
<li>Name der Subdomain: <strong>http://Meine-S3-Dateien.clouduser.de</strong></li>
<li>Name des Buckets: <strong>Meine-S3-Dateien.clouduser.de</strong></li>
</ul>
<p>Als nächstes muss bei unserem Web Hoster das DNS konfiguriert werden. Dazu legen wir einen neuen <strong>CNAME</strong> an, der auf Amazon S3 verweist.</p>
<p>Das sieht dann wie folgt aus:</p>
<ul>
<li>Subdomain: <strong>http://Meine-S3-Dateien.clouduser.de</strong></li>
<li>Zeigt auf: <strong>CNAME</strong></li>
<li>Wert: <strong>Meine-S3-Dateien.clouduser.de.s3.amazonaws.com</strong></li>
</ul>
<p>Die Art wie ein CNAME erstellt wird, ist von Anbieter zu Anbieter unterschiedlich.</p>
<p>Wenn die Konfiguration abgeschlossen wurde, kann auf alle Dateien unter <strong>http://Meine-S3-Dateien.clouduser.de</strong> mittels <strong>http://Meine-S3-Dateien.clouduser.de/dateiname.ext</strong> zugegriffen werden.</p>
<p>Es können natürlich beliebig viele Subdomains für Amazon S3 nach dem oben beschriebenen Schema angelegt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/tutorials/amazon-s3-in-verbindung-mit-einer-eigenen-subdomain-nutzen-5836/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Ubuntu VM-Builder</title>
		<link>http://clouduser.de/tutorials/der-ubuntu-vm-builder-5263</link>
		<comments>http://clouduser.de/tutorials/der-ubuntu-vm-builder-5263#comments</comments>
		<pubDate>Fri, 25 Jun 2010 08:46:32 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Der ubuntu-vm-builder in Verbindung mit libvirt]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[Ubuntu Enterprise Cloud]]></category>
		<category><![CDATA[Ubuntu VM-Builder]]></category>
		<category><![CDATA[ubuntu-vm-builder libvirt]]></category>
		<category><![CDATA[ubuntu-vm-builder und libvirt]]></category>
		<category><![CDATA[UEC]]></category>
		<category><![CDATA[Virtual Maschine Images Ubuntu]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=5263</guid>
		<description><![CDATA[Der Ubuntu VM-Builder kann dafür genutzt werden um eine benutzerdefinierte Virtuelle Maschinen zu erstellen. Es lassen sich damit schnell und automatisiert Testumgebungen aufsetzen. Softwareentwickler haben zudem die Möglichkeit, die Erstellung der Virtuellen Maschine in den Build Prozess ihrer Anwendung zu integrieren. Durch den Einsatz eines lokalen Mirror benötigt der gesamte Erstellungsprozess einer Virtuellen Maschine nur [...]]]></description>
			<content:encoded><![CDATA[<p>Der Ubuntu VM-Builder kann dafür genutzt werden um eine benutzerdefinierte Virtuelle Maschinen zu erstellen. Es lassen sich damit schnell und automatisiert Testumgebungen aufsetzen. Softwareentwickler haben zudem die Möglichkeit, die Erstellung der Virtuellen Maschine in den Build Prozess ihrer Anwendung zu integrieren.</p>
<p>Durch den Einsatz eines lokalen Mirror benötigt der gesamte Erstellungsprozess einer Virtuellen Maschine nur ca. 2 Minuten.</p>
<p>Zum Erstellen einer benutzerdefinierten Virtuellen Maschine gehen wir wie folgt vor:</p>
<p style="padding-left: 30px;"><code>sudo ubuntu-vm-builder kvm hardy --addpkg vim<br />
</code></p>
<p>Damit erstellen wir ein KVM Image und fügen diesem automatisch das VIM Package hinzu. Das Stanard-Image der virtuellen Maschine ist KVM. Weiterhin werden aber auch xen, vmw6, vbox und qemu Images als Optionen unterstützt.</p>
<blockquote><p>Achtung!!! Der VM-Builder lädt während des Vorgangs alle benötigten Daten und Abhängigkeiten, die für die Erstellung des Images notwendig sind, aus dem entsprechenden Ubuntu Repository.</p></blockquote>
<p>Der allgemeine Befehl lautet:</p>
<p style="padding-left: 30px;"><code>sudo ubuntu-vm-builder < hypervisor > < distro > --addpkg</code></p>
<p>Durch das Hinzufügen der Option &#8211;addpkg kann das Image mit einer beliebigen Anzahl von Applikationen erweitert werden.</p>
<p style="padding-left: 30px;"><code>sudo ubuntu-vm-builder kvm  hardy --addpkg vim --addpkg screen --mem 256<br />
</code></p>
<p>Durch die Option &#8211;mem 256 wird der Arbeitsspeicher der virtuellen Maschine vergrößert. Die Standardgröße beträgt 128MB</p>
<p>Im Anschluß der Erstellung des Images muss noch die Installation der weiteren hinzugefügten Packages bestätigt werden. Nach dem gesamten Vorgang existiert ein neues Verzeichnis mit dem Namen der Distribution, z.B. ubuntu-vm-hardy-i386 oder ubuntu-vm-hardy-amd64. Innerhalb des Verzeichnis befindet sich das virtuelle Maschinen Image &#8211; im Falle von KVM mit dem Namen root.qcow2, im Falle von Xen mit dem Namen root.iso und jeweils einem Shell Skript, um die virtuelle Maschine zu starten.</p>
<p>Weitere Informationen können der ubuntu-vm-builder man page entnommen werden.</p>
<p>
<p>
<strong>Der ubuntu-vm-builder in Verbindung mit libvirt</strong></p>
<p>Durch die Kombination des ubuntu-vm-builder und libvirt steht eine Umgebung zur Verfügung mit der ebenfalls virtuelle Maschinen erstellt und verwaltet werden können.</p>
<p>Mittels der Option &#8211;libvirt < uri > werden neu erstellte virtuelle Maschinen automatisch zu einer <a rel="nofollow" target="_blank" href="http://libvirt.org">libvirt</a> Domain hinzugefügt werden.</p>
<p style="padding-left: 30px;"><code>sudo ubuntu-vm-builder kvm hardy --addpkg vim --mem 256 --libvirt qemu:///system<br />
</code></p>
<p>Im Anschluß kann mittels virsh die virtuelle Maschine gestartet werden.</p>
<p style="padding-left: 30px;"><code>virsh -c qemu:///system start ubuntu<br />
</code></p>
<p>Dabei ist der Standardname einer virtuellen Maschine <em>ubuntu</em>. Dieser kann mit der Option &#8211;hostname geändert werden.</p>
<p>
<p>
<strong>Quelle</strong></p>
<ul>
<li><a rel="nofollow" target="_blank" href="https://help.ubuntu.com/8.04/serverguide/C/ubuntu-vm-builder.html">ubuntu-vm-builder</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/tutorials/der-ubuntu-vm-builder-5263/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenNebula: Die Verwaltung virtueller Netzwerke</title>
		<link>http://clouduser.de/tutorials/opennebula-die-verwaltung-virtueller-netzwerke-5482</link>
		<comments>http://clouduser.de/tutorials/opennebula-die-verwaltung-virtueller-netzwerke-5482#comments</comments>
		<pubDate>Wed, 23 Jun 2010 10:08:30 +0000</pubDate>
		<dc:creator>René Büst</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Die Verwaltung virtueller Netzwerke]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[OpenNebula]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://clouduser.org/?p=5482</guid>
		<description><![CDATA[Ein Cluster Node ist mit einem oder mehreren Netzwerken verbunden, mit denen die virtuellen Maschinen mittels der entsprechenden Brigdes kommunizieren. Für den Aufbau eines virtuellen Netzwerks wird lediglich der Name der Brigde benötigt, um mit den virtuellen Maschinen eine Verbindung herzustellen. Dieser Artikel beschreibt, wie virtuelle Netzwerke innerhalb von OpenNebula erstellt und genutzt werden können. [...]]]></description>
			<content:encoded><![CDATA[<p>Ein Cluster Node ist mit einem oder mehreren Netzwerken verbunden, mit denen die virtuellen Maschinen mittels der entsprechenden Brigdes kommunizieren. Für den Aufbau eines virtuellen Netzwerks wird lediglich der Name der Brigde benötigt, um mit den virtuellen Maschinen eine Verbindung herzustellen.</p>
<p><img style="margin-left: 5px; margin-top: 10px;" title="" src="http://img.clouduser.de/opennebula/network-02.png" alt="" align="right" /></p>
<p>Dieser Artikel beschreibt, wie virtuelle Netzwerke innerhalb von OpenNebula erstellt und genutzt werden können. Die folgenden Beispiele gehen dabei davon aus, dass die Cluster Nodes mit zwei physikalischen Netzwerken verbunden sind. Folgende Konstellation besteht:</p>
<ul>
<li>Ein privates Netzwerk mit der virtuellen Bridge vbr0.</li>
<li>Ein Netzwerk inkl. Internetverbindung mit der virtuellen Bridge vbr1.</li>
</ul>
<h2>Definition eines virtuellen Netzwerks</p>
<hr />
</h2>
<p>OpenNebula ermöglicht die Erstellung von virtuellen Netzwerken, indem diese auf die physikalischen aufgesetzt und mit ihnen verbunden werden. Alle virtuellen Netzwerke teilen sich einen Standardwert für die MAC-Präfix, welcher in der Datei oned.conf konfiguriert wird.</p>
<p>In OpenNebula existieren zwei Arten von virtuellen Netzwerken:</p>
<ul>
<li>Statische: Definiert einen festen Satz von IP/MAC-Adressen Paaren</li>
<li>Klassen: Definiert ein Class X Netzwerk (z.B. Class A)</li>
</ul>
<blockquote><p>Virtuelle Netzwerke die von dem Benutzer oneadmin erstellt wurden, können von jedem anderen Benutzer ebenfalls verwendet werden.</p></blockquote>
<h3>Statische virtuelle Netzwerke</h3>
<p>Ein statisches Netzwerk besteht aus einem Satz von IP-Adressen, die MAC Adressen zugeordnet sind. Dieses geschieht in einer gewöhnlichen Textdatei.</p>
<p>Für die Definition eines statischen Netzwerks werden die vier folgenden Informationen benötigt:</p>
<ul>
<li><strong>NAME</strong>: Name des virtuellen Netzwerks</li>
<li><strong>TYPE</strong>: In diesem Fall &#8211; Fixed</li>
<li><strong>BRIDGE</strong>: Name der physikalischen Bridge des physikalischen Hosts, mit der die virtuelle Maschine eine Netzwerkverbindung aufbauen wird.</li>
<li><strong>LEASES</strong>: Definition der IP-/MAC Paare. Sollte eine IP-Adresse definiert sein, aber keine Verknüpfung mit einer MAC-Adresse bestehen, wird OpenNebula das Paar automatisch mit der Regel <strong>MAC = MAC_PREFFIX:IP</strong> generieren. Zum Beispiel erhalten wir mit der IP-Adresse 10.0.0.1 und dem MAC_PEFFIX die MAC 00:16:0a:00:00:01.</li>
</ul>
<p>Um ein statisches virtuelles Netzwerk mit dem Namen &#8220;Public&#8221; und den öffentlichen IP Adressen für die virtuellen Maschinen zu erstellen reicht der Inhalt der folgenden Datei.</p>
<pre lang="text">NAME = "Public"
TYPE = FIXED

#Auf Grund der Internetverbindung muss das Netzwerk an "virdr1" gebunden werden.
BRIDGE = vbr1

LEASES = [IP=130.10.0.1, MAC=50:20:20:20:20:20]
LEASES = [IP=130.10.0.2, MAC=50:20:20:20:20:21]
LEASES = [IP=130.10.0.3]
LEASES = [IP=130.10.0.4]
</pre>
<h3>Klassifiziertes virtuelles Netzwerk</h3>
<p>Diese Art von virtuellen Netzwerk benötigt u.a. einen festgelegten IP-Adressblock und weitere folgende Informationen:</p>
<ul>
<li><strong>NAME</strong>: Name des virtuellen Netzwerks.</li>
<li><strong>TYPE</strong>: In diesem Fall &#8211; Ranged.</li>
<li><strong>BRIDGE</strong>: Name der physikalischen Bridge.</li>
<li><strong>NETWORK_ADDRESS</strong>: IP-Adressblock</li>
<li><strong>NETWORK_SIZE</strong>: Anzahl der Hosts die sich in diesem Netzwerk befinden dürfen. Das kann über eine Zahl oder über die Netzwerk Klasse A, B oder C definiert werden.</li>
</ul>
<p>Das folgende Beispiel zeigt die Definition eines solchen Netzwerktyps.</p>
<pre lang="text">NAME = "Red LAN"
TYPE = RANGED

# Hier nutzen wir das physikalische private Netzwerk des Cluster
BRIDGE = vbr0

NETWORK_SIZE    = C
NETWORK_ADDRESS = 192.168.0.0
</pre>
<p>Die Standardwerte für die NETWORK_SIZE können der <em>oned.conf</em> entnommen werden.</p>
<h2>Hinzufügen und Löschen virtueller Netzwerke</p>
<hr />
</h2>
<p>Sobald ein Template für ein virtuelles Netzwerk definiert wurde, kann der <strong>onevnet</strong> Befehl genutzt werden um dieses zu erstellen.</p>
<p>Um die beiden oben genannten Netzwerke zu erstellen fügen wir die jeweiligen Definitionen in die zwei unterschiedliche Dateien mit den Namen public.net und red.net und führen folgenden Befehl aus.</p>
<pre lang="text">$ onevnet -v create public.net
$ onevnet -v create red.net
</pre>
<p>Mittels onevnet kann innerhalb von OpenNebula ebenfalls nach verfügbaren virtuellen Netzwerken gesucht werden.</p>
<pre lang="text">$ onevnet list
 NID USER     NAME              TYPE BRIDGE #LEASES
   2 oneadmin Public           Fixed   vbr1       0
   3 oneadmin Red LAN         Ranged   vbr0       0
</pre>
<p>Dabei steht USER für den Eigentümer des Netzwerks und #LEASES für die Anzahl von IP-MAC Adressen die einer virtuellen Maschine aus diesem Netzwerk zugwiesen sind.</p>
<p>Um eine virtuelles Netzwerk zu entfernen wird der Befehl onevnet delete verwendet. Um die oben genannten Netzwerke zu löschen verwenden wir:</p>
<pre lang="text">$onevnet delete 2
$onevnet delete 'Red LAN'
</pre>
<blockquote><p>Mittels <strong>onevnet show</strong> können die vergebenen IP-Adressen innerhalb eines Netzwerks angezeigt werden.</p></blockquote>
<h2>Leasing</p>
<hr />
</h2>
<p>Das Leasing einer virtuellen Maschine aus einem virtuellen Netzwerk wird vorgenommen, indem der Name des virtuellen Netzwerks für das Attribute NIC angegeben wird.</p>
<p>Um ein virtuelle Maschine mit zwei Netzwerkschnittstellen zu definieren, bei der eine Schnittstelle mit Red LAN und die andere mit Public verbunden ist muss das Template um folgenden Eintrag erweitert werden.</p>
<pre lang="text">NIC=[NETWORK="Public"]
NIC=[NETWORK="Red LAN"]
</pre>
<p>Es kann ebenfalls eine bestimmte Adresse angefragt werden, indem zusätzlich die IP oder MAC-Adresse dem Attribute hinzugefügt wird.</p>
<pre lang="text">NIC=[NETWORK="Red LAN", IP=192.168.0.3]
</pre>
<p>Ist die virtuelle Maschine übertragen wurde, schaut OpenNebula in den virtuellen Netzwerken Public und Red LAN nach verfügbaren IP-Adressen. Mit dem Befehl <strong>onevm show</strong> können anschließend Informationen über die virtuelle Maschine und das Netzwerk ausgegeben werden.</p>
<pre lang="text">$ onevm show 12
VIRTUAL MACHINE 12 INFORMATION
ID             : 12
NAME           : server
STATE          : PENDING
LCM_STATE      : LCM_INIT
START TIME     : 07/15 15:30:53
END TIME       : -
DEPLOY ID:     : -

VIRTUAL MACHINE TEMPLATE
NAME=server
NIC=[
  BRIDGE=vbr1,
  IP=130.10.0.1,
  MAC=50:20:20:20:20:20,
  NETWORK=Public,
  VNID=5 ]
NIC=[
  BRIDGE=eth0,
  IP=192.168.0.1,
  MAC=00:03:c0:a8:00:01,
  NETWORK=Red LAN,
  VNID=4 ]
VMID=12
</pre>
<p>Nun kann mit dem Befehl <strong>onevnet list</strong> die Leasing Informationen und weitere Details zu den virtuellen Netzwerken angezeigt werden.</p>
<pre lang="text">$ onevnet list
 NID USER     NAME              TYPE BRIDGE #LEASES
   2 onedmin  Red LAN         Ranged   vbr0       1
   3 oneamdin Public           Fixed   vbr1       1
</pre>
<blockquote><p>Achtung!!! Nicht in jedem Netzwerk ist das Leasing aktiviert.</p></blockquote>
<pre lang="text">$ onevnet show 4
VIRTUAL NETWORK 4 INFORMATION
ID:       : 4
UID:      : 0

VIRTUAL NETWORK TEMPLATE
BRIDGE=eth0
NAME=Red LAN
NETWORK_ADDRESS=192.168.0.0
NETWORK_SIZE=C
TYPE=RANGED

LEASES INFORMATION
LEASE=[ IP=192.168.0.1, MAC=00:03:c0:a8:00:01, USED=1, VID=12 ]
</pre>
<blockquote><p>Die IP 192.168.0.1 wird von der virtuellen Maschine 12 verwendet.</p></blockquote>
<h2>Leasing innerhalb der virtuellen Maschine</p>
<hr />
</h2>
<p>Ein Hypervisor kann eine bestimmte MAC Adresse mit einer virtuellen Netzwerschnittstelle verknüpfen. Virtuelle Maschinen hingegen müssen eine erhalten. Es existiert eine Reihe von Möglichkeiten dieses mit OpenNebula zu realisieren.</p>
<ul>
<li>Die IP-Adresse von der MAC Adresse mittels der Standardmethode erhalten.</li>
<li>Mithilfe des CONTEXT Attribut.</li>
</ul>
<h3>Eine virtuelle Maschine konfigurieren um das Leasing zu nutzen</h3>
<p>Mit OpenNebula kann die IP-Adresse aus der MAC-Adresse mittels der MAC_PREFFIX:IP Regel angeleitet werden. Um dieses zu erreichen, existiert für Debian basierte Systeme ein Skript und kann ebenfalls für andere Distributionen genutzt werden, siehe dazu <a rel="nofollow" target="_blank" href="dev.opennebula.org">dev.opennebula.org</a>.</p>
<p>Um die virtuelle Maschine dafür zu konfigurieren sind folgende Schritte notwendig.</p>
<ul>
<li>Kopieren des Skript <strong>$ONE_LOCATION/share/scripts/vmcontext.sh</strong> in das Verzeichnis <strong>/etc/init.d</strong>.</li>
<li>Ausführen des Skripts während des Bootvorgangs bevor ein Netzwerkdienst gestartet wird &#8211; z.B. Runlevel 2.</li>
</ul>
<pre lang="text">$ ln /etc/init.d/vmcontext.sh /etc/rc2.d/S01vmcontext.sh
</pre>
<p>Während des Bootvorgangs führt die virtuelle Maschine das Skript aus, scanned alle verfügbaren Netzwerkschnittstellen und identifiziert deren MAC-Adressen. Weiterhin wird die MAC mit der IP-Adresse verknüpft und eine Schnittstelle unter <strong>/etc/network/interfaces</strong> erstellt, um sicherzustellen dass die IP Adresse der entsprechende Schnittstelle richtig zugewiesen wird.</p>
<h2>Quelle</h2>
<ul>
<li><a rel="nofollow" target="_blank" href="http://www.opennebula.org/documentation:rel1.4:vgg">Managing Virtual Networks 1.4</a></li</ul>
]]></content:encoded>
			<wfw:commentRss>http://clouduser.de/tutorials/opennebula-die-verwaltung-virtueller-netzwerke-5482/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.clouduser.org @ 2012-02-10 22:30:45 -->
