Categories
Tutorials @de

Eucalyptus: Die Größe von Images ändern (Variante 2)

Dieser Artikel beschreibt das Ändern der Größe eines bereits vorhandenen Images.

Situation: Aktuell befindet sich ein Image mit dem Namen “old.img” in der Cloud und wird dort verwendet. Es wird aber ein 4 Gigabyte großes Image benötigt.

Zunächst wird Speicherplatz für das neue Image erstellt.

Categories
Tutorials @de

Eucalyptus: Die Größe von Images ändern (Variante 1)

Dieser Artikel beschreibt das Ändern der Größe eines bereits vorhandenen Images.

$ sudo fsck.ext3 -f IMAGE
$ sudo resize2fs IMAGE SIZE

Dabei handelt es sich bei “IMAGE” um den Namen der Image Datei und “SIZE” um die neue Größe der Datei. Hier muss darauf geachtet werden, dass ein G für GB – Gigabyte hinter der Größe steht.

Um z.B. die Größe des Image “ubuntu-9.04-i386.img” auf 8 Gigabyte zu ändern nutzen wir den Befehl:

$ sudo fsck.ext3 -f ubuntu-9.04-i386.img
$ sudo resize2fs ubuntu-9.04-i386.img 8G

Nun kann mit dem Befehl “euca-upload-image” das veränderte Image in die Eucalyptus Cloud hochgeladen und ausgeführt werden.

Sollte Eucalyptus so konfiguriert sein, dass die maximale Imagegröße 20 Gigabyte beträgt, sollte der Befehl “df -h” eine ähnliche Ausgabe erzeugen.

/dev/sda1 8G /
/dev/sda2 11G /mnt

Quelle

Categories
Tutorials @de

Eucalyptus: Ändern eines fertig zusammengestellten Image

Dieser Artikel beschreibt die Änderung, also das Hinzufügen von Daten oder Anwendungen zu einem lauffähigen Image.

Wir gehen davon aus, dass sich das zu manipulierende Image in “root.img” befindet. Images können grundsätzlich aus der Cloud (Walrus) mit dem Befehl “euca-download-bundle” heruntergeladen werden.

Zunächst erstellen wir einen Mountpunkt.

mkdir temp-mnt

Und weisen dem Image ein Loop Block Device zu. In diesem Fall gehen wir davon aus, dass “/dev/loop5” frei verfügbar ist.

losetup /dev/loop5 root.img

Nun können wir das Image mounten.

mount /dev/loop5 temp-mnt

Das Image befindet sich nun unter “temp-mnt”. Damit kann es behandelt werden wie jedes andere Gerät, was gemounted ist. Wir können somit nun alle möglichen Daten oder Anwendungen darauf kopieren. Dabei sollten wir aber darauf achten, nicht die Größe des Images zu überschreiten (Stichwort: “df”).

Um weitere Pakete in das Image zu installieren stehen mehrere Möglichkeiten zur Verfügung:

  • Mittels “chroot temp-mnt” zu Root werden und dann mit “apt-get” or “yum” oder “zypper” die gewünschten Pakete installieren.
  • Einen Paketmanager wie “dpkg” oder “rpm” mit der Option “–root” starten.

Nachdem die Änderungen an dem Image beendet wurden, entziehen wir diesem wieder das Loop Block Device.

umount /dev/loop5
losetup -d /dev/loop5

Damit hat das Image “root.img” seine Änderungen erhalten. Dieses muss noch noch in die Cloud hochgeladen und dort registriert werden.

Achtung!!! Es sollte kein neuer Kernel installiert oder Module entfernt werden. Dadurch würde das Image anschließend nicht mehr bootfähig sein.

Quelle