Ich versuche, einen vollständig virtualisierten Gast (Fedora 14 x86_64) auf KVM (RHEL 6) zu installieren, und zwar nur über die Befehlszeile (sowohl Hypervisor als auch Gast). Es geht ohne Fehler und ohne greifbares Ergebnis. Ich möchte wissen, wie eine reine Textinstallation durchgeführt wird.
Also, hier ist was ich getan habe:
# virt-install \
--name=FE --ram=756 --vcpus=1 \
--file=/var/lib/libvirt/images/FE.img --network bridge:br0 \
--nographics --os-type=linux \
--extra-args='console=tty0' -v \
--cdrom=/media/usb/Fedora-14-x86_64-Live-Desktop.iso
Starting install...
Creating domain... | 0 B 00:00
Connected to domain FE
Escape character is ^]
ÿ
Was jetzt? Wie ich nach ein paar Tagen googeln verstehe, sollte ich die Ausgabe des Gastes aus der Textinstallation sehen, aber nichts passiert. virt-viewer kann keine Verbindung dazu herstellen. Ich empfehle daher, alle Optionen zu untersuchen, indem ich --help hinzufüge (was ich getan habe). Wenn ich mich wieder mit virsh verbinde, sehe ich Folgendes:
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
[root@v ~]
# virsh console FEConnected to domain FE
Escape character is ^]
Dies zeigt, dass die VM ausgeführt wird
# virsh list
Id Name State
----------------------------------
8 FE running
Qemu-Protokoll:
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin /usr/libexec/qemu-kvm -S -M rhel6.0.0 -enable-kvm -m 756 -smp 1,sockets=1,cores=1,threads=1 -name FE -uuid 6989d008-7c89-424c-d2d3-f41235c57a18 -nographic -nodefconfig -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/FE.monitor,server,nowait -mon chardev=monitor,mode=control -rtc base=utc -no-reboot -boot d -drive file=/var/lib/libvirt/images/FE.img,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/media/usb/Fedora-14-x86_64-Live-Desktop.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=20,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:0a:65:8d,bus=pci.0,addr=0x2 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
char device redirected to /dev/pts/1
Ausgabe von /etc/libvirt/qemu/FE.xml
# cat /etc/libvirt/qemu/FE.xml
<domain type='kvm'>
<name>FE</name>
<uuid>6989d008-7c89-424c-d2d3-f41235c57a18</uuid>
<memory>774144</memory>
<currentMemory>774144</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='rhel6.0.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/var/lib/libvirt/images/FE.img'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' unit='0'/>
</disk>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'>
<mac address='52:54:00:0a:65:8d'/>
<source bridge='br0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target port='0'/>
</console>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</memballoon>
</devices>
</domain>
Mir fehlt offensichtlich etwas, was viele andere nicht wissen, aber was ist es? Vielen Dank im Voraus!
quelle
--network bridge:br0
, ändertecdrom
zulocation
undextra-args
zu--extra-args='console=tty0 console=ttyS0,115200n8 serial'
und es funktionierte!--cdrom
funktioniert das nicht mit extra-args, aber--location
(oder-l
) doch. Gleicher Weg und alles.Antworten:
Ich habe das
--extra-args='console=ttyS0'
letzte Mal irgendwo aus dem Internet kopiert , es funktioniert!Siehe: http://anaconda-installer.readthedocs.io/en/latest/boot-options.html
quelle
--nographics
wird verwendet, und Sie haben außer der tty0-Konsole keine Konsole im Gast eingerichtet. Wenn Sie eine grafische Konsole benötigen, die insbesondere remote verfügbar ist, müssen Sie vga und vnc oder qxl und spice aktivieren. Dies ist ein Beispiel: http://www.linux-kvm.com/content/tip-how-run-headless-guest-machine-using-vnc-kvmhttp://www.linux-kvm.com/content/running-kvm-nographics-no-console-output oder http://ubuntuforums.org/showpost.php?p=9610421&postcount=7 ist ebenfalls eine Lösung.
quelle
Ich hatte ein ähnliches Problem beim Versuch, eine Nur-Text-Installation von CentOS durchzuführen. Alles läuft darauf hinaus, Kernel-Argumente für die Angabe der seriellen Ausgabekonsole hinzuzufügen
console=ttyS0
, damit Sie dann eine Verbindung herstellen können, wenn--graphics none
oder--nographics
verwendet wird. Ausvirt-install
dem Handbuch:Ich habe es auf zwei Arten gelöst:
--cdrom
Option verwenden--location
Option mit verwenden--extra-args
1. Ändern des Bildes
So ändern Sie die Kernelparameter auf der ISO-Installationsdiskette:
isolinux/isolinux.cfg
Datei auf dem Bild, öffnen Sie sie, suchen Sie die erste Zeile mitinitrd=
und hängen Sieconsole=ttyS0
sie und alle anderen Zeilen mit dem genannten Parameter an.Verwenden Sie das geänderte Bild
virt-install
wie gewohnt, zB:Getan.
2. Verwenden einer NFS-Freigabe
Montiere das Bild:
Starten Sie den NFS-Dienst, wenn er nicht ausgeführt wird:
service nfs start
Fügen Sie die folgende Zeile hinzu
/etc/exports
, um sie den Clients zur Verfügung zu stellen:Aktualisieren Sie die Exporttabelle des Systems mit:
Verwenden Sie die Freigabe
virt-install
, um sicherzugehen, dass Sie die einbeziehen--extra-args
, zB:Während der Installation von CentOS werden Sie nach dem Speicherort der Installationsdateien gefragt. Sie müssen die Adresse Ihres Computers und den vollständigen Pfad zur Freigabe eingeben.
Getan.
quelle
--location
like an--location /tmp/centos6.iso
.Sie müssen das Fedora-Installationsprogramm im Textmodus ausführen. Versuchen Sie, den zusätzlichen Argumenten 'Text' hinzuzufügen. Alternativ können Sie versuchen, "vnc" hinzuzufügen, damit Sie nach dem Start über VNC eine Verbindung zum Installationsprogramm herstellen können
quelle
Ich mache meine Installationen seit einiger Zeit mit Cobbler und Koan. In cobbler habe ich meine Kernel-Optionen unter meinem Centos60-x86_64-Profil so eingestellt:
Nach dem Booten können Sie console = tty0 console = ttS0,115200 verwenden, damit die Konsole auf zwei Geräten angezeigt wird. Dies funktioniert nicht für die Installation. Wenn Sie die Grub-Optionen unter / etc / grub bearbeiten und die Datei grub.conf neu generieren, überstehen die Einstellungen der seriellen Konsole ein Kernel-Upgrade. Fügen Sie der Kernel-Befehlszeile "Text" hinzu, um zu verhindern, dass das Installationsprogramm eine GUI startet.
Wenn meine KVM-Gastinstanzen gestartet werden, stelle ich eine Verbindung zu ihnen her, während ich am KVM-Host angemeldet bin, und verbinde mich folgendermaßen mit der Konsole eines Gasts:
Ich sehe das dann in meiner Shell:
Eine letzte Anmerkung, wenn ich Koan sage, dass er mit dem Aufbau eines meiner KVM-Gäste beginnen soll, nenne ich es mit dem Schalter --nogfx wie folgt:
quelle
Ich vermute, Sie sehen eine falsch konfigurierte Konsole.
Vielleicht versuchen Sie dies oder ähnliches:
Weitere Informationen finden Sie hier: http://www.linux-kvm.com/content/running-kvm-nographics-no-console-output
--bearbeiten--
Sie könnten versuchen
console=ttyS0,115200
, andere mögliche Konsolenparameter zu überprüfen.quelle
--extra-args=
andere Konsoleneinstellungen direkt übernommen.console=ttyS0,115200
und vermutlich gibt es noch andere Parameter dafür, die du ausprobieren kannst. Ich würde immer noch vermuten, dass Sie eine falsch konfigurierte Konsole mit einer Beschreibung haben.