Beispiel: Ubuntu-Abbild

Dieses Beispiel installiert ein Ubuntu 18.04 (Bionic Beaver) Abbild. Um ein Abbild für eine andere Version von Ubuntu zu erstellen, folgen Sie diesen Schritten mit den angegebenen Unterschieden.

Laden Sie eine Ubuntu-Installations-ISO herunter

Weil das Ziel ist, das kleinstmögliche Basisabbild zu machen, verwendet dieses Beispiel das Netzwerkinstallations-ISO. Das Ubuntu 64-Bit 18.04 Netzwerkinstallations-ISO befindet sich auf der Ubuntu Download-Seite <http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/mini.iso> `_.

Starten Sie den Installationsvorgang

Starten Sie den Installationsprozess, indem Sie entweder virt-manager oder :command:` virt-install` wie im vorherigen Abschnitt beschrieben verwenden. Wenn Sie virt-install verwenden, vergessen Sie nicht, Ihren VNC-Client mit der virtuellen Maschine zu verbinden.

Nehmen wir an, dass der Name Ihres virtuellen Maschinenbildes ubuntu-18.04 ist, was Sie wissen müssen, wenn Sie virsh Befehle verwenden, um den Zustand des Abbildes zu manipulieren.

Wenn Sie virt-manager benutzt haben, sollten die Befehle so aussehen:

# wget -O /var/lib/libvirt/boot/bionic-mini.iso \
  http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/mini.iso
# chown libvirt-qemu:kvm /var/lib/libvirt/boot/bionic-mini.iso
# qemu-img create -f qcow2 /var/lib/libvirt/images/bionic.qcow2 10G
# chown libvirt-qemu:kvm /var/lib/libvirt/images/bionic.qcow2
# virt-install --virt-type kvm --name bionic --ram 1024 \
  --cdrom=/var/lib/libvirt/boot/bionic-mini.iso \
  --disk /var/lib/libvirt/images/bionic.qcow2,bus=virtio,size=10,format=qcow2 \
  --network network=default \
  --graphics vnc,listen=0.0.0.0 --noautoconsole \
  --os-type=linux --os-variant=ubuntu18.04

Schritt durch die Installation

Wählen Sie im ersten Installations-Boot-Menü die Option :guilabel: Install. Gehen Sie durch die Installationsaufforderungen, die Vorgaben sollten gut sein.

_images/ubuntu-install.png

Hostname

Der Installer kann Sie bitten, einen Hostnamen zu wählen. Die Voreinstellung (ubuntu) ist in Ordnung. Wir werden das cloud-init-Paket später installieren, das den Hostnamen beim Booten festlegt, wenn eine neue Instanz mit diesem Abbild bereitgestellt wird.

Wählen eines Mirrors

Der von dem Installer vorgeschlagene Standard-Mirror sollte gut sein.

Schritte durch die Installation

Gehen Sie durch die Installation, mit den Standard-Optionen. Wenn Sie nach einem Benutzernamen aufgefordert werden, ist die Voreinstellung (ubuntu) in Ordnung.

Partitionieren Sie die Festplatten

Es gibt verschiedene Optionen für die Partitionierung der Festplatten. Die Standardinstallation verwendet LVM-Partitionen und erstellt drei Partitionen (/boot, /, swap), und das wird gut funktionieren. Alternativ können Sie auch eine einzelne ext4-Partition erstellen, die auf „/“ montiert ist, sollte auch gut funktionieren.

Wenn Sie unsicher sind, empfehlen wir Ihnen, das Standard-Partitionsschema des Installationsprogramms zu verwenden, da es keinen eindeutigen Vorteil für ein Schema oder ein anderes gibt.

Automatische Updates

Der Ubuntu-Installer wird fragen, wie Sie Upgrades auf Ihrem System verwalten möchten. Diese Option hängt von Ihrem speziellen Anwendungsfall ab. Wenn Ihre virtuellen Maschineninstanzen mit dem Internet verbunden sind, empfehlen wir Ihnen, „Updates automatisch installieren“.

Softwareauswahl: OpenSSH Server

Wählen Sie :guilabel: OpenSSH Server, damit Sie SSH in die virtuelle Maschine laden können, wenn es in eine OpenStack Cloud startet.

_images/ubuntu-software-selection.png

GRUB boot loader installieren

Wählen Sie :guilabel: Yes, wenn Sie nach der Installation des GRUB-Bootloaders auf den Master-Boot-Record gefragt werden.

_images/ubuntu-grub.png

Weitere Informationen zum Konfigurieren von Grub finden Sie im Abschnitt „Stellen Sie sicher, dass das Abbild das Bootprotokoll zur Konsole schreibt“.

Melden Sie sich beim neu erstellten Abbild an

Wenn Sie zum ersten Mal nach der Installation booten, wird möglicherweise nach Authentifizierungswerkzeugen gefragt. Wählen Sie einfach :guilabel: Exit. Dann melden Sie sich als administrativer Benutzen mit dem von Ihnen angegebenen Passwort an.

Cloud-init installieren

Der Befehl: cloud-init beginnt bei Instanzstart und sucht nach einem Metadatenanbieter, um einen öffentlichen Schlüssel abzurufen. Der öffentliche Schlüssel wird im Standardbenutzerkonto für das Abbild platziert.

Installieren des cloud-init Paket:

# apt install cloud-init

Beim Aufbau von Ubuntu-Abbildern cloud-init muss explizit für die verwendete Metadatenquelle konfiguriert sein. Der OpenStack-Metadatenserver emuliert den EC2-Metadatenservice, der von Abbildern in Amazon EC2 verwendet wird.

Um die Metadatenquelle festzulegen, die vom Abbild verwendet werden soll, rufen Sie den dpkg-reconfigure gegen das cloud-init-Paket auf. Wenn Sie dazu aufgefordert werden, wählen Sie EC2 Datenquelle:

# dpkg-reconfigure cloud-init

Das Konto variiert je nach Verteilung. Auf Ubuntu-basierten virtuellen Maschinen heißt das Konto ubuntu. Bei Fedora-basierten virtuellen Maschinen heißt das Konto ec2-user.

Sie können den Namen des von cloud-init` verwendeten Kontos ändern, indem Sie die Datei ``/etc/cloud/cloud.cfg bearbeiten und eine Zeile mit einem anderen Benutzer hinzufügen. Um beispielsweise cloud-init zu konfigurieren, um den Schlüssel in ein Konto mit dem Namen admin zu setzen, verwenden Sie die folgende Syntax in der Konfigurationsdatei:

users:
  - name: admin
    (...)

Schalten Sie die Instanz aus

Aus dem Inneren der Instanz, als root:

# /sbin/shutdown -h now

Aufräumen (MAC-Adressdaten entfernen)

Das Betriebssystem zeichnet die MAC-Adresse der virtuellen Ethernet-Karte an Orten wie /etc/udev/rules.d/70-persistent-net.rules während des Installationsvorgangs auf. Jedoch wird jedes Mal, wenn das Abbild hochgefahren wird, die virtuelle Ethernet-Karte eine andere MAC-Adresse haben, so dass diese Informationen aus der Konfigurationsdatei gelöscht werden müssen.

Es gibt ein Dienstprogramm namens virt-sysprep, das verschiedene Aufräumaufgaben wie das Entfernen der MAC-Adressenreferenzen ausführt. Es wird ein virtuelles Maschinenabbild aufräumen:

# virt-sysprep -d bionic

Undefinieren Sie die libvirt Domain

Jetzt, da das Abbild bereit ist, in den Image-Service hochgeladen zu werden, müssen Sie dieses virtuelle Abbild nicht mehr von libvirt verwaltet haben. Verwenden Sie den virsh undefine vm-image, um libvirt zu informieren:

# virsh undefine bionic

Abbild ist komplett

Die zugrunde liegende Abbilddatei, die Sie mit dem Befehl qemu-img create erstellt haben, wie /var/lib/libvirt/images/bionic.qcow2, ist nun zum Hochladen in den Image-Service bereit, indem Sie den Befehl openstack image create Befehl verwenden. Weitere Informationen finden Sie im `Hand-Benutzerhandbuch <https://docs.openstack.org/glance/latest/user/index.html> `__.