Eucalyptus: Erstellen eines Image aus einem ISO (Xen)

[ 0 ] Juni 2, 2010 |

Dieser Artikel beschreibt, wie mittels Xen und dem ISO Image eines Gast Betriebssystems das installiert werden soll, ein Root Dateiystem für Eucalyptus erstellt wird.

Voraussetzung

  • Hardware Virtualisierung Unterstützung auf dem System (Hardware-assisted virtualization)
  • Funktionsfähige Xen Umgebung (domU muss gestartet werden können)

Zunächst muss ein ISO Image einer Distribution (Gastbetriebssystem), das installiert werden soll, vorhanden sein. Anschließend wird eine virtuelle Festplatte (virtual disk) z.B. mit der Größe von 4GB erstellt.

dd if=/dev/zero of=new.img bs=1M count=4096

Nun muss eine Xen Konfigurationsdatei (xen.cfg) erzeugt werden, um das ISO Image zu booten. Diese könnte ähnlich der Folgenden aussehen.

name = "bootFromISO"
kernel = "/usr/lib/xen/boot/hvmloader"
memory = 1024
builder = "hvm"
device_model = "/usr/lib64/xen/bin/qemu-dm"
boot = "d"
disk = ['file:PATH_TO_ISO,hdc:cdrom,r',
'file:PATH_TO/new.img,sda,w']
vif = ['mac=00:01:01:00:00:03, bridge=xenbr0']
dhcp="on"
vnc = 1
vncdisplay = 7
pae = 1

Achtung!!! Es muss auf jedenfall das device_model und der kernel so angepasst werden, damit der Pfad in der jeweiligen Distribution passt.

Als nächstes wird Xen, also der domU gestartet.

xen create xen.cfg

Anschließend kann man sich mit dem VNC Viewer verbinden.

xvncviewer localhost:7

Nun kann die Distribution wie gewöhnlich installiert werden. Dabei sollte darauf geachtet werden, das kein lvm oder md benutzt wird und die Installation innerhalb einer einzigen Partition erfolgt. Zudem sollte man sich merken, in welcher Partition die Distribution installiert wurde.

Achtung!!! Einige Distributionen merken sich die Netzwerkschnittstelle anhand der MAC Adresse. Somit ist die Schnittstelle immer dieselbe. Innerhalb von Eucalyptus muss die Distribution dazu bewegt werden, dass sie die Netzwerkschnittstelle „vergisst“, damit jede Instanz die Schnittstelle als die primäre Schnittstelle erkennt.

Im Falle von Debian / Ubuntu kann das unter /etc/udev/rules.d/*net* erfolgen. Im Falle von CentOS unter /etc/network-scripts/ifcfg-eth0. Sollten die Anpassungen nicht erfolgen, wird die Instanz keinen Netzwerkzugriff erhalten.

Jetzt wird Xen (domU) wieder beendet.

Nun müssen wir den Startblock und die Blockgröße des Root-Dateisystems identifizieren. Das kann mittels parted erfolgen.

parted new.img

Parted muss nun so konfiguriert werden, dass es die Blockgröße als Einheit verwendet. Erst „U“ dann „b“ drücken. (Damit wird die Einheit auf Blocks umgestellt.)

(parted) U
Unit? [compact]? b

Mit „p“ kann die aktuelle Partitionstabelle ausgegeben werden.

Wir notieren uns den Startpunkt und die Größe der entsprechenden Partition. Für unser Beispiel nehmen wir an, dass sich der Startpunkt bei 32256 befindet und es sich bei der Größe um 10000000 handelt.

Nun extrahieren wir das Dateisystem.

dd if=new.img of=rootfs.img bs=1 skip=32256 count=10000000

Damit haben wir das Image ‚rootfs.img‘ erhalten, welches das Root Dateisystem beinhaltet. Es sollte nun noch sichergestellt sein, dass dieses kompatibel zu dem verwendeten Kernel und der initrd innerhalb der Cloud Umgebung ist.

Quelle

Tags: , , , , , , , , , , ,

Category: Tutorials

René Büst

About the Author ()

Rene Buest is Senior Analyst and Cloud Practice Lead at Crisp Research, covering cloud computing, IT infrastructure, open source and Internet of Things. Prior to that he was Principal Analyst at New Age Disruption and member of the worldwide Gigaom Research Analyst Network. Rene Buest is top cloud computing blogger in Germany and one of the worldwide top 50 bloggers in this area. In addition, he is one of the world’s top cloud computing influencers and belongs to the top 100 cloud computing experts on Twitter and Google+. Since the mid-90s he is focused on the strategic use of information technology in businesses and the IT impact on our society as well as disruptive technologies. Rene Buest is the author of numerous professional cloud computing and technology articles. He regularly writes for well-known IT publications like Computerwoche, CIO Magazin, LANline as well as Silicon.de and is cited in German and international media – including New York Times, Forbes Magazin, Handelsblatt, Frankfurter Allgemeine Zeitung, Wirtschaftswoche, Computerwoche, CIO, Manager Magazin and Harvard Business Manager. Furthermore Rene Buest is speaker and participant of experts rounds. He is founder of CloudUser.de and writes about cloud computing, IT infrastructure, technologies, management and strategies. He holds a diploma in computer engineering from the Hochschule Bremen (Dipl.-Informatiker (FH)) as well as a M.Sc. in IT-Management and Information Systems from the FHDW Paderborn.

Leave a Reply

You must be logged in to post a comment.