Endereços IP estáticos com a instalação do kickstart do CentOS 7

0

O seguinte erro está sendo lançado quando um arquivo kickstart é usado para instalar uma máquina virtual convidada do CentOS 7 com rede IP estática:

[3.835698] dracut-cmdline[81]: parse-kickstart ERROR: 
    'network --bootproto=static --ip=12.34.567.8aa --netmask=255.255.255.248 --gateway=12.34.567.8bb --nameserver=xx.xx.xx.xx,xx.xx.yy.yy': 
    missing --device

Eu suspeito que o problema é que a rede de ponte com IP estático não foi configurada no host para substituir a configuração NAT padrão. Mas quais comandos específicos precisam ser digitados para definir esse erro?

arquivo Kickstart:

O arquivo de kickstart é:

#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512

# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --device=eno1 --onboot=on --activate
network  --bootproto=static --ip=12.34.567.8aa --netmask=255.255.255.248 --gateway=12.34.567.8bb --nameserver=xx.xx.xx.xx,xx.xx.yy.yy
network  --hostname=localhost.localdomain
# Root password
rootpw --iscrypted someLongHashedPassword
# System timezone
timezone someTimeZone --isUtc --nontp
user --name=someUserName --password=someLongHashedPassword --iscrypted --gecos="someUserName"
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information.  Erases all partitions from the sda drive.
clearpart --all --initlabel --drives=sda
# Disk partitioning information
part pv.204 --fstype="lvmpv" --ondisk=sda --size=1902212
part /boot/efi --fstype="efi" --ondisk=sda --size=200 --fsoptions="umask=0077,shortname=winnt"
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.204
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol /home  --fstype="xfs" --size=230400 --name=home --vgname=centos
logvol swap  --fstype="swap" --size=7808 --name=swap --vgname=centos

%packages
@base
@compat-libraries
@core
@debugging
@development
@network-file-system-client
@remote-system-management
@security-tools
@smart-card
@virtualization-hypervisor
@virtualization-platform
@virtualization-tools
@virtualization-client
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

virt-install Comando:

Para referência, o comando virt-install que aciona a instalação é:

virt-install \
   --name=public-centos7 \
   --disk path=/dev/mapper/centos-fifth,size=241 \
   --graphics none --vcpus=1 --memory=2048 \
   --location /tmp/CentOS-7-x86_64-Minimal-1611.iso \
   --network bridge=virbr0 --os-type=linux --os-variant=rhel7.0 \
   --initrd-inject=/tmp/vm.ks \
   --extra-args "ks=file:/tmp/vm.ks console=ttyS0"

Configuração atual: Além disso, brctl show na máquina host fornece:
[root@remote-host ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400c4a345       yes             virbr0-nic
                                                        vnet0

Adicionando --device=eno1

Por sugestão do @ thrig, mudei a linha ofensiva do arquivo de kickstart para se tornar:

# Network information
network  --onboot=on --activate
network  --bootproto=static --ip=12.34.567.8aa --netmask=255.255.255.248 --gateway=12.34.567.8bb --nameserver=xx.xx.xx.xx,xx.xx.yy.yy --device=eno1
network  --hostname=localhost.localdomain  

Isso parece ter resolvido o erro. Mas ainda não estou certo porque ainda estou resolvendo problemas de recebimento de dados.

    
por CodeMed 17.03.2017 / 18:05

1 resposta

1

A mensagem de erro indica " missing --device ", portanto, uma boa coisa para tentar é associar um dispositivo à linha de configuração da rede:

network  --bootproto=static --ip=... --device=eno1

Isso pode ser problemático se os nomes dos dispositivos estiverem surgindo com algum nome desconhecido, dependendo de sua posição PCI, embora existam outras opções para controlar isso (por exemplo, PXE inicializando coisas com ksdevice=eth0 net.ifnames=0 biosdevname=0 kernel arguments). Em particular, o redhat "Guia de Instalação" docs indica que o nome do dispositivo deve ser especificado:

Note that this is considered deprecated behavior; in most cases, you should always specify a --device= for every network command. The behavior of any subsequent network command in the same Kickstart file is unspecified if its --device= option is missing.

    
por 17.03.2017 / 21:43