Я пытаюсь установить полностью виртуализированную гостевую систему (Fedora 14 x86_64) на KVM (RHEL 6), используя только командную строку (как гипервизор, так и гостевой). Проходит без ошибок и без ощутимого результата. Я хотел бы знать, как выполнить установку только в текстовом режиме.
Итак, вот что я сделал:
# 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 ^]
ÿ
Что теперь? Как я понял после нескольких дней поиска в Google, я должен увидеть вывод гостя из текстовой установки, но ничего не происходит. virt-viewer не может подключиться к нему, любезно предлагая мне изучить все варианты, добавив --help (что я и сделал). Если я переподключусь к virsh, то увижу следующее:
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 ^]
Это показывает, что виртуальная машина работает
# virsh list
Id Name State
----------------------------------
8 FE running
Журнал Qemu:
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
Вывод /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>
Мне явно не хватает чего-то, чего нет у многих других, но что это? Спасибо заранее!
Я скопировал --extra-args='console=ttyS0'
где-то из интернета последнее время работает!
Видеть: http://anaconda-installer.readthedocs.io/en/latest/boot-options.html
У меня была аналогичная проблема при попытке выполнить текстовую установку CentOS. Все сводится к добавлению аргументов ядра для указания консоли последовательного вывода. console=ttyS0
чтобы вы могли подключиться к нему, когда --graphics none
или --nographics
используется. Из virt-install
руководство:
- графика нет
Графическая консоль для гостя выделена не будет. Для полностью виртуализированных гостей (Xen FV или QEmu / KVM) потребуется настроить текстовую консоль на первый последовательный порт в гостевой системе (это можно сделать с помощью параметра --extra-args). Xen PV настроит это автоматически. Для подключения к последовательному устройству можно использовать команду virsh console NAME.
Мне удалось решить это двумя способами:
--cdrom
вариант--location
вариант с --extra-args
1. Изменение изображения
Чтобы изменить параметры ядра на установочном диске iso:
isolinux/isolinux.cfg
файл на изображении, откройте его, найдите первую строку с initrd=
на нем и добавить console=ttyS0
к нему и ко всем другим строкам, имеющим указанный параметр.Используйте измененное изображение с virt-install
как обычно, например:
$ sudo virt-install --name centos-vm --ram 1024 --disk path=/home/user/domains/centos-vm --cdrom /home/user/images/centos-modified.iso --os-type linux --nographics --accelerate
Готово.
2. Использование общего ресурса NFS
Смонтируйте образ:
$ sudo mount -o loop,unhide -t iso9660 -r /home/user/images/CentOS.iso /home/user/mnt/cdrom
Запустите службу NFS, если она не запущена: service nfs start
Добавьте следующую строку в /etc/exports
сделать доступным для клиентов:
/home/user/mnt/cdrom *(ro,insecure,all_squash)
Обновите системную таблицу экспорта:
$ exportfs -r
Используйте долю с virt-install
убедившись, что --extra-args
, например:
$ sudo virt-install --name centos-vm --ram 1024 --disk path=/home/user/domains/centos-vm --location /home/user/mnt/cdrom --os-type linux --nographics --accelerate --extra-args="console=ttyS0"
Во время установки CentOS вы получите запрос о местонахождении установочных файлов. Вы должны ввести адрес своей машины и полный путь к общему ресурсу.
Готово.
--nographics
используется, и у вас нет консоли, настроенной в гостевой системе, кроме консоли tty0. Если вам нужна графическая консоль, особенно доступная удаленно, вам нужно включить vga и vnc или qxl и spice. это пример: http://www.linux-kvm.com/content/tip-how-run-headless-guest-machine-using-vnc-kvm
http://www.linux-kvm.com/content/running-kvm-nographics-no-console-output или http://ubuntuforums.org/showpost.php?p=9610421&postcount=7 тоже решение.
Вам необходимо запустить установщик Fedora в текстовом режиме. Попробуйте добавить «текст» к дополнительным аргументам. В качестве альтернативы вы можете попробовать добавить «vnc», который позволит вам подключиться к установщику через VNC после его запуска.
Я уже некоторое время занимаюсь инсталляциями, используя cobbler и koan. В cobbler я установил параметры ядра, например, в моем профиле Centos60-x86_64:
Kernel Options: serial console=ttyS0,115200
Kernel Options (Post Install): console=ttyS0,115200
После загрузки вы можете использовать console = tty0 console = ttS0,115200, чтобы консоль отображалась на двух устройствах; это не работает для установки. Если вы отредактируете параметры grub в / etc / grub и повторно создадите grub.conf, настройки последовательной консоли сохранятся после обновления ядра. Добавьте «текст» в командную строку ядра, чтобы программа установки не запускала графический интерфейс.
Когда мои гостевые экземпляры KVM запускаются, я затем подключаюсь к ним, когда я авторизован на хосте KVM, и подключаюсь к гостевой консоли следующим образом:
[root@vmhost ~]# virsh console guestvm
Затем я вижу это в своей оболочке:
Connected to domain guestvm
Escape character is ^]
CentOS Linux release 6.0 (Final)
Kernel 2.6.32-71.el6.x86_64 on an x86_64
guestvm login:
И последнее замечание: когда я говорю коану начать сборку одного из моих гостей KVM, я вызываю его с помощью переключателя --nogfx следующим образом:
koan --server 192.168.1.1 --virt --nogfx --system=guestvm
Я предполагаю, что вы видите неправильно настроенную консоль.
Может быть, попробуйте это или подобное:
Сначала я добавляю консольную строку в свою конфигурацию grub, например. для гостя Arch: kernel / vmlinuz26 root = / dev / vda2 ro console = ttyS0,115200 Затем я редактирую / etc / inittab, чтобы включить ttyS0 (тот же гость Arch): co: 23: respawn: / sbin / agetty -8 115200 ttyS0 Linux. И убедитесь, что у вас есть ttyS0 в вашем / etc / securetty.
Подробнее здесь: `http://www.linux-kvm.com/content/running-kvm-nographics-no-console-output
--редактировать--
Вы могли бы попробовать console=ttyS0,115200
и, возможно, проверьте другие возможные параметры консоли.