Beispiel: Fedora Abbild

Dieses Beispiel zeigt Ihnen, wie Sie ein Fedora-Image installieren und konzentrieren sich hauptsächlich auf Fedora 25. Da der Installationsvorgang von Fedora sich in Versionen unterscheiden könnte, können sich die Installationsschritte unterscheiden, wenn Sie eine andere Version von Fedora verwenden.

Laden Sie eine Fedora-Installation-ISO herunter

  1. Besuchen Sie die `Fedora Download-Website <https://getfedora.org/> `_.

  2. Navigieren Sie zur `Download Fedora Server Seite <https://getfedora.org/en/server/download/> `_ für ein Fedora Server ISO-Image.

  3. Wählen Sie das ISO-Image, das Sie herunterladen möchten.

    Zum Beispiel ist das Netinstall Image` eine gute Wahl, denn es ist ein kleineres Abbild, das während der Installation fehlende Pakete aus dem Internet herunterlädt.

Starten Sie den Installationsvorgang

Starten Sie den Installationsvorgang entweder mit :command:*virt-manager` oder virt-install wie oben beschrieben. Wenn Sie virt-install verwenden, vergessen Sie nicht, Ihren VNC-Client mit der virtuellen Maschine zu verbinden.

Annehmen, dass:

  • Der Name Ihres virtuellen Maschinenbildes ist fedora; Sie benötigen diesen Namen, wenn Sie :command: virsh Befehle verwenden, um den Zustand des Abbildes zu manipulieren.

  • Sie haben das netinstall ISO-Image im /tmp-Verzeichnis gespeichert.

Wenn Sie den Befehl virt-install verwenden, sollten die Befehle so aussehen:

# qemu-img create -f qcow2 /tmp/fedora.qcow2 10G
# virt-install --virt-type kvm --name fedora --ram 1024 \
  --disk /tmp/fedora.qcow2,format=qcow2 \
  --network network=default \
  --graphics vnc,listen=0.0.0.0 --noautoconsole \
  --os-type=linux --os-variant=fedora23 \
  --location=/tmp/Fedora-Server-netinst-x86_64-25-1.3.iso

Schritt durch die Installation

Nachdem das Installationsprogramm gestartet wurde, wählen Sie Ihre bevorzugte Sprache und klicken Sie auf Continue, um zur Installationsübersicht zu gelangen. Akzeptieren Sie die Vorgaben.

Überprüfen Sie den Ethernet-Status

Stellen Sie sicher, dass die Ethernet-Einstellung ON ist. Darüber hinaus stellen Sie sicher, dass IPv4 Einstellungsmethode Automatik (DHCP) ``die Standardeinstellung ist.

Hostname

Mit dem Installateur können Sie einen Hostnamen auswählen. Die Voreinstellung (localhost.localdomain) ist in Ordnung. Sie installieren das cloud-init Paket später, das den Hostnamen beim Booten setzt, wenn eine neue Instanz mit diesem Abbild bereitgestellt wird.

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), was gut funktioniert. Alternativ möchten Sie vielleicht eine einzelne ext4-Partition erstellen, die auf `` /`` montiert ist, was auch gut funktioniert.

Wenn Sie unsicher sind, verwenden Sie das Standard-Partitionsschema für das Installationsprogramm. Während kein Schema inhärent besser ist als ein anderes, mit der Partition, die Sie am Ende der Liste dynamisch wachsen lassen möchten, wird es möglich sein, ohne eine andere Trennungsgrenze zu überschreiten.

Software zum Installieren auswählen

Schritt durch die Installation, mit den Standard-Optionen. Die einfachste Sache dies zu tun ist, die Minimal Install Installation zu wählen, die einen SSH Server installiert.

Legen Sie das Root-Passwort fest

Achten Sie während der Installation darauf, das Root-Passwort festzulegen, wenn Sie dazu aufgefordert werden.

Trennen Sie die CD-ROM und starten Sie neu

Warten Sie, bis die Installation abgeschlossen ist.

Zum Auswerfen eines Datenträgers mit dem Befehl :comand: virsh erfordert libvirt, dass Sie eine leere Disk an derselben Stelle anhängen, auf der die CD-ROM zuvor angeschlossen war, was möglicherweise` hda` ist. Sie können das entsprechende Ziel mit dem Befehl :command:‘virsh dumpxml vm-image‘ bestätigen.

# virsh dumpxml fedora
<domain type='kvm' id='30'>
  <name>fedora</name>
...
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/tmp/Fedora-Server-netinst-x86_64-25-1.3.iso'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
...
</domain>

Führen Sie die folgenden Befehle vom Host aus, um den Datenträger auszuwerfen und mit virsh als root neu zu starten. Wenn Sie virt-manager verwenden, funktionieren die folgenden Befehle, aber Sie können auch die GUI verwenden, um sie abzubrechen und neu zu starten, indem Sie manuell stoppen und starten.

# virsh attach-disk --type cdrom --mode readonly fedora "" hda
# virsh reboot fedora

Installiere den ACPI-Dienst

Um den Hypervisor zum Neustarten oder Herunterfahren einer Instanz zu aktivieren, müssen Sie den acpid Service auf dem Gast-System installieren und ausführen.

Melden Sie sich als root an den Fedora-Gast an und führen Sie die folgenden Befehle aus, um den ACPI-Dienst zu installieren und zu konfigurieren, dass er startet, wenn das System bootet:

# dnf install acpid
# systemctl enable acpid

Konfigurieren Cloud-init, um Metadaten abzurufen

Eine Instanz muss mit dem Metadatendienst interagieren, um beim Start mehrere Aufgaben auszuführen. Zum Beispiel muss die Instanz den ssh-public key erhalten und das Benutzerdaten-Skript ausführen. Um sicherzustellen, dass die Instanz diese Aufgaben ausführt, verwenden Sie das cloud-init-Paket.

Das cloud-init-Paket holt automatisch den öffentlichen Schlüssel vom Metadatenserver und platziert den Schlüssel in ein Konto. Installieren Sie cloud-init innerhalb des Fedora-Gastes, indem Sie:

# yum install cloud-init

Das Konto variiert je nach Distribution. Auf Fedora-basierten virtuellen Maschinen heißt das Konto fedora.

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
    (...)

Installieren von Cloud-utils-growpart, um Partitionen zu vergrössern

Damit die Root-Partition richtig vergrössert werden kann, installieren Sie das cloud-utils-growpart-Paket, das die richtigen Tools enthält, damit der Datenträger die Größe von cloud-init ändern kann.

# dnf install cloud-utils-growpart

Deaktivieren der Zeroconf-Route

Damit die Instanz auf den Metadatendienst zugreifen kann, müssen Sie die Standard-Zeroconf-Route deaktivieren:

# echo "NOZEROCONF=yes" >> /etc/sysconfig/network

Konfigurieren der Konsole

Für den Befehl nova console-log müssen Sie möglicherweise die folgenden Schritte ausführen, um ordnungsgemäß auf Fedora zu arbeiten:

  1. Bearbeiten Sie die /etc/default/grub Datei und konfigurieren Sie die GRUB_CMDLINE_LINUX Option. Löschen Sie die rhgb quiet und fügen Sie die console = tty0 console = ttyS0,115200n8 Option hinzu. Beispielsweise:

    ...
    GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap console=tty0 console=ttyS0,115200n8"
    
  2. Führen Sie den folgenden Befehl aus, um die Änderungen zu speichern:

    # grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-4.10.10-200.fc25.x86_64
    Found initrd image: /boot/initramfs-4.10.10-200.fc25.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-c613978614c7426ea3e550527f63710c
    Found initrd image: /boot/initramfs-0-rescue-c613978614c7426ea3e550527f63710c.img
    done
    

Schalten Sie die Instanz aus

Von der Instanz aus als root laufen lassen:

# poweroff

Aufräumen (MAC-Adressdaten entfernen)

Das Betriebssystem speichert die MAC-Adresse der virtuellen Ethernet-Karte an Orten wie /etc/sysconfig/network-scripts/ifcfg-eth0 während des Instanzprozesseses. 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 fedora

Undefinieren Sie die libvirt Domain

Jetzt können Sie das Abbild auf den Image-Service hochladen, Sie müssen dieses virtuelle Abbild nicht mehr von libvirt verwaltet haben. Verwenden Sie den Befehl: virsh undefine vm-image, um libvirt zu informieren:

# virsh undefine fedora

Abbild ist komplett

Die zugrunde liegende Abbilddatei, die Sie mit dem Befehl :command: qemu-img create erstellt haben, ist bereit, hochgeladen zu werden. Zum Beispiel können Sie das Abbild /tmp/fedora.qcow2 auf den Abbilddienst laden, indem Sie den Befehl :command: openstack image create verwenden. Weitere Informationen finden Sie in der Befehlsliste python-openstackclient.