Estou tentando instalar um convidado totalmente virtualizado (Fedora 14 x86_64) no KVM (RHEL 6), usando apenas a linha de comando (hipervisor e convidado). Vai sem erros e sem um resultado tangível. Gostaria de saber como fazer uma instalação somente de texto.
Então, aqui está o que eu fiz:
# 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 ^]
ÿ
O que agora? Pelo que entendi, depois de pesquisar no Google por alguns dias, eu deveria ver a saída do convidado da instalação de texto, mas nada acontece. o virt-viewer não pode se conectar a ele, sugerindo gentilmente que eu explore todas as opções adicionando --help (o que fiz). Se eu me reconectar com o virsh, vejo o seguinte:
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 ^]
Isso mostra que a VM está sendo executada
# virsh list
Id Name State
----------------------------------
8 FE running
Log do 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
Saída de /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>
Obviamente, estou sentindo falta de algo que muitos outros não, mas o que é? Thanx antecipadamente!
--network bridge:br0
, mudeicdrom
paralocation
eextra-args
para--extra-args='console=tty0 console=ttyS0,115200n8 serial'
e funcionou!--cdrom
, não funciona com argumentos extras, mas--location
(ou-l
) funciona. Mesmo caminho e tudo.Respostas:
Copiei em
--extra-args='console=ttyS0'
algum lugar da Internet da última vez, funciona!Consulte: http://anaconda-installer.readthedocs.io/en/latest/boot-options.html
fonte
--nographics
é usado e você não possui um console configurado no convidado, além do console tty0. Se você deseja um console gráfico, especialmente disponível remotamente, precisará ativar o vga e o vnc, ou o qxl e o spice. este é um exemplo: 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 ou http://ubuntuforums.org/showpost.php?p=9610421&postcount=7 também é uma solução.
fonte
Eu tive um problema semelhante ao tentar executar uma instalação somente de texto do CentOS. Tudo se resume a adicionar argumentos do kernel para especificar o console de saída serial,
console=ttyS0
para que você possa se conectar a ele quando--graphics none
ou--nographics
for usado. Dovirt-install
manual:Consegui resolvê-lo de duas maneiras:
--cdrom
opção--location
opção com--extra-args
1. Modificando a imagem
Para modificar os parâmetros do kernel no disco de instalação iso:
isolinux/isolinux.cfg
arquivo na imagem, abra-a, encontre a primeira linhainitrd=
nela e inclua-console=ttyS0
a e todas as outras linhas que possuem o parâmetro mencionado.Use a imagem modificada
virt-install
como de costume, por exemplo:Feito.
2. Usando um compartilhamento NFS
Monte a imagem:
Inicie o serviço NFS se não estiver em execução:
service nfs start
Adicione a seguinte linha
/etc/exports
para disponibilizá-la aos clientes:Atualize a tabela de exportação do sistema com:
Use o compartilhamento
virt-install
para garantir a inclusão--extra-args
, por exemplo:Durante a instalação do CentOS, você recebe uma solicitação perguntando sobre a localização dos arquivos de instalação. Você precisa digitar o endereço da sua máquina e o caminho completo para o compartilhamento.
Feito.
fonte
--location
like--location /tmp/centos6.iso
.Você precisa executar o instalador do Fedora no modo de texto. Tente adicionar 'texto' aos argumentos extras. Como alternativa, você pode tentar adicionar "vnc", o que permitirá que você se conecte ao instalador pelo VNC assim que for iniciado
fonte
Eu venho fazendo minhas instalações há um tempo agora usando sapateiro e koan. Dentro do sapateiro, defino minhas opções do kernel da seguinte maneira no meu perfil Centos60-x86_64:
Após a inicialização, você pode usar console = tty0 console = ttS0,115200 para obter o console para mostrar em dois dispositivos; isso não funciona para instalação. Se você editar as opções do grub em / etc / grub e gerar novamente o grub.conf, as configurações do console serial sobreviverão à atualização do kernel. Adicione "texto" à linha de comando do kernel para impedir que o instalador inicie uma GUI.
Quando minhas instâncias de convidado KVM são iniciadas, eu me conecto a elas enquanto estiver logado no host KVM e me conecto ao console de um convidado como este:
Eu vejo isso no meu shell:
Uma observação final, quando digo ao koan para começar a construir um dos meus convidados KVM, chamo-o com a opção --nogfx da seguinte maneira:
fonte
Eu acho que você está vendo um console mal configurado.
Talvez tente isso ou algo semelhante:
Mais informações aqui: ` http://www.linux-kvm.com/content/running-kvm-nographics-no-console-output
--editar--
Você pode tentar
console=ttyS0,115200
verificar outros parâmetros possíveis do console, talvez.fonte
--extra-args=
leva outras configurações do console diretamente.console=ttyS0,115200
e, presumivelmente, existem outros parâmetros para isso que você pode tentar. Eu ainda acho que você tem um console mal configurado de alguma descrição.