Starten Sie libvirt während des Kickstarts und installieren Sie RHEL7

426
Bert

Ich habe eine sehr problematische Aufgabe, und ein Punkt macht mich verrückt. Ich mach's einfach: Ziel: Installiere CentOS7 mit Kickstart. Am Ende der Installation als Post-Skript sollte libvirtd gestartet und eine virtuelle Maschine mit dem Befehl virt-install erstellt werden.

In meiner Kickstart-Datei habe ich:

dd if=/dev/zero of=/var/lib/libvirt/images/fw.qcow2 bs=1024 count=0 seek=10G /usr/sbin/libvirtd -d & systemctl enable libvirtd virt-install --name=firewall --disk path=/var/lib/libvirt/images/fw.qcow2 --ram=2048 --vcpus=2 --nographics --os-type=linux --os-variant=rhel7 --location /mnt/cdrom/CentOS-7-x86_64-Minimal-1511.iso --extra-args="console=tty0 console=ttyS0,115200 rd_NO_PLYMOUTH" 

Meine Erfahrung ist jedoch: Ich weiß nicht, ob es libvirt startet, es wird definitiv aktiviert, da libvirt nach dem Neustart ausgeführt wird, das Betriebssystem jedoch nicht über virt-install installiert wird. In der Datei ks-post.log habe ich:

ERROR Cannot recv data: Connection reset bypeer error: Dailed to connect to the hypervisor error: no calid connection error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory 

Ich gehe davon aus, dass ich libvirtd nicht richtig starten konnte

/ usr / sbin / libvirtd -d &

Befehl bin ich?

1

2 Antworten auf die Frage

0
axus

Anstatt:

/usr/sbin/libvirtd -d & 

Versuchen:

systemctl start libvirtd 

Sie können journalctldie systemd-Protokolle anzeigen.

Ich wundere mich auch über dein --locationArgument.

Schon probiert, aber dann bekomme ich das Laufen in chroot und ignoriere die Anfrage. Bert vor 7 Jahren 0
Ah, deshalb versuchst du es so zu beginnen. Ich habe einige Verweise auf "firstboot" als Option gesehen und http://askubuntu.com/questions/156771/run-a-script-only-at-the-very-first-boot axus vor 7 Jahren 0
Das Standortargument muss funktionieren. Wenn ich diesen Befehl ausführt, nachdem die Installation abgeschlossen ist, ist der virtuelle Gast betriebsbereit. Ich habe inzwischen bemerkt, dass die geschachtelte Virtualisierung auf meinem Computer nicht aktiviert war. Sobald ich kann, starte ich es mit "kvm-intel.nested = 1" in meinem Grub neu und sehe, ob es etwas anderes macht oder nicht. Bert vor 7 Jahren 0
Aber ich könnte nur ein Selfdestruct-Skript für den 1. Start erstellen. :-) Bert vor 7 Jahren 0
0
Parth Patel

Ich weiß, dass ich zu spät komme, aber für jeden, der in Zukunft etwas Ähnliches tun möchte, empfehle ich Ihnen, einen systemdDienst zu erstellen, der nur ein normales Shell-Skript ausführt, das Ihre Befehle enthält. Ein wesentlicher Unterschied zwischen der Ausführung von Befehlen in einer Chroot-Umgebung in Kickstart und einem normal hochgefahrenen Betriebssystem besteht darin, dass der Kernel der Zielcomputer nicht in die Ausführung geladen wird (ich weiß es nicht genau), aber da die Dienste nicht ausgeführt werden (einschließlich aller Daemons) kann kein ' service' oder ' startensystemctl'Dienste in der Kickstart-Chroot-Umgebung. Ich hatte ein ähnliches Problem und stellte einfach eine systemd-Datei für meine centos7-Umgebung her, die nach dem ersten Neustart des Systems einen Apache-Server an Port 8080 startet, einige benutzerdefinierte Dateien kopiert und nach der Ausführung die ursprüngliche systemd-Datei löscht dass das gleiche Shell-Skript nach dem ersten Neustart nicht aufgerufen wird.

HINWEIS: Damit diese Technik funktioniert, müssen Sie die systemdund ggf. einige andere Dateien vom Installationsmedium (Iso) in das Zieldateisystem kopieren. Wenn Sie das nicht tun wollen, als in der chroot - Umgebung Ihres Kickstart- selbst können Sie es einfach haben curloder wget(Download), um die systemd - Datei in den Ordner systemd, die auf demselben oder einem anderen Server gehostet werden.