Iniciando o libvirt enquanto o kickstart instala o RHEL7

1

Eu tenho uma tarefa muito problemática e um ponto me deixa louco. Vou fazer é simples: Objetivo: Instalar o CentOS7 com o kickstart. No final da instalação como post script, ele deve iniciar o libvirtd e criar uma máquina virtual com o comando virt-install.

No meu arquivo de kickstart eu tenho:

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"

No entanto, minha experiência é: Eu não sei se ele começa libvirt, ele definitivamente permite porque após a reinicialização, o libvirt está em execução, mas o sistema operacional não está instalado via virt-install. No arquivo ks-post.log, eu tenho:

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

Suponho que não consegui iniciar o libvirtd corretamente com o

/usr/sbin/libvirtd -d &

comando sou eu?

    
por Bert 06.12.2016 / 17:14

2 respostas

0

Em vez de:

/usr/sbin/libvirtd -d &

Tente:

systemctl start libvirtd

Você pode usar journalctl para ver os logs do systemd.

Além disso, gostaria de saber sobre seu argumento --location .

    
por 06.12.2016 / 17:55
0

Eu sei que estou atrasado, mas para todos que desejarem fazer algo semelhante no futuro, sugiro que você faça um serviço systemd que apenas executa um script de shell normal contendo seus comandos. Uma diferença fundamental entre executar comandos no ambiente chroot no Kickstart e no SO inicial normal é que o kernel das máquinas de destino não é carregado em execução (não sei exatamente), mas como os serviços não estão em execução (incluindo todos os daemons) não poderá iniciar nenhum serviço ' service ' ou ' systemctl ' no ambiente chrooted do kickstart. Enfrentei um problema parecido, e simplesmente fiz um arquivo systemd para o meu ambiente centos7 que após a reinicialização inicial do sistema, inicia um servidor apache na porta 8080 e copia e cola alguns arquivos customizados, e após a execução apaga o arquivo systemd original que o mesmo script de shell não é chamado após a primeira reinicialização.

NOTA: para esta técnica funcionar, você terá que copiar e colar os arquivos systemd e (se necessário) alguns outros arquivos da mídia de instalação (iso) no sistema de arquivos de destino. Se você não deseja fazer isso, do que no ambiente chroot do seu próprio kickstart, você pode simplesmente tê-lo curl ou wget (download) do arquivo systemd na pasta systemd que está hospedada no mesmo servidor ou em outro servidor. .

    
por 14.03.2018 / 18:55