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¶
Besuchen Sie die `Fedora Download-Website <https://getfedora.org/> `_.
Navigieren Sie zur `Download Fedora Server Seite <https://getfedora.org/en/server/download/> `_ für ein Fedora Server ISO-Image.
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:
# dnf 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:
Bearbeiten Sie die
/etc/default/grub
Datei und konfigurieren Sie dieGRUB_CMDLINE_LINUX
Option. Löschen Sie dierhgb quiet
und fügen Sie dieconsole = 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"
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.