A rede não inicializa corretamente quando o pxebooting Linux Mint (live CD) usa o cifs, mas funciona com o nfs

9

Eu tenho um servidor TFTP / DHCP / NFS / SMB (servidor Ubuntu 12.04 LTS) em 192.168.26.1. Eu uso o pxelinux para exibir um menu contendo opções de inicialização e instalação para o Windows, um instalador de rede do Ubuntu e o CD live do Linux Mint 17 MATE. Começar a correr assim já era desagradável e estou ficando sem energia ...

Para o Linux Mint, forneci duas opções de netboot: NFS e CIFS. Consegui trabalhar totalmente com o NFS: o usuário pode selecioná-lo no menu de inicialização e, pouco tempo depois, acessa a área de trabalho do Live CD do Linux Mint. Mas com o CIFS, a rede não inicializa corretamente. Quando o Linux Mint é iniciado, a rede trava por 120 segundos. Em seguida, ele continua a inicializar na área de trabalho, mas net network-manager não é iniciado (e não é iniciado). Eu suspeitava que poderia ser um problema com o servidor DHCP não responder, no entanto, no log do servidor DHCP eu posso ver a solicitação de DHCP e resposta bem sucedida.

Uma vez na área de trabalho do Linux Mint, ifconfig informa um endereço IP atribuído pelo DHCP e o ping do servidor funciona.

Minha configuração do pxelinux é (tudo depois que APPEND está em uma linha, eu apenas a divido para legibilidade neste site):

NFS:

LABEL linuxmint17
    MENU LABEL Linux Mint 17
    KERNEL linux-mint-17/image/casper/vmlinuz
    APPEND 
        root=/dev/nfs boot=casper netboot=nfs
        nfsroot=192.168.26.1:/var/lib/tftpboot/linux-mint-17/image
        initrd=/linux-mint-17/image/casper/initrd.lz

CIFS:

LABEL linuxmint17smb
    MENU LABEL Linux Mint 17 (SMB)
    KERNEL linux-mint-17/image/casper/vmlinuz
    APPEND
        root=/dev/cifs boot=casper netboot=cifs
        nfsroot=//192.168.26.1/tftpshare/linux-mint-17/image
        ip=dhcp
        initrd=/linux-mint-17/image/casper/initrd.lz

Note que eu tive que inserir a opção ip=dhcp no menu CIFS. Se eu não fizer isso, o processo de inicialização trava por 120 segundos ao inicializar o Networking, mas não continua. Se eu adicionar essa linha, ela ainda trava, mas depois de 120 segundos ela continua a ser inicializada.

A configuração:

As máquinas virtuais cliente e servidor são conectadas apenas umas às outras (rede interna). Não há outras máquinas na rede.

O servidor tem todos os arquivos de inicialização do pxe em /var/lib/tftpboot/ . O Linux Mint ISO (não modificado) é montado em /var/lib/tftpboot/linux-mint-17/image . vmlinuz e initrd estão em /var/lib/tftpboot/linux-mint-17/image/casper . /var/lib/tftpboot/ é uma exportação do NFS. Existe um compartilhamento de samba chamado tftpshare que mapeia para /var/lib/tftpboot/ (somente leitura, permite acesso a todos).

smb.conf

[tftpshare]
   comment = TFTP Root
   path = /var/lib/tftpboot
   browsable = yes
   guest ok = yes
   read only = no
   create mask = 0644

dhcpd.conf

authoritative;
subnet 192.168.26.0 netmask 255.255.255.0 {
  range 192.168.26.10 192.168.26.40;
  next-server 192.168.26.1;
  filename "pxelinux.0";
}

Esta é uma lacuna estranha de 2 minutos no syslog da máquina cliente após uma inicialização bem-sucedida no ambiente de área de trabalho ao vivo:

Jun 14 13:13:18 mint kernel: [   23.388873] intel_rapl: domain core energy ctr 0:0 not working, skip
Jun 14 13:13:18 mint kernel: [   23.528409] intel_rapl: domain uncore energy ctr 0:0 not working, skip
Jun 14 13:13:18 mint kernel: [   23.528453] intel_rapl: no valid rapl domains found in package 0
Jun 14 13:13:20 mint ntpdate[1198]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jun 14 13:13:20 mint ntpdate[1198]: no servers can be used, exiting

(intervalo de 2 minutos sem entradas, aproximadamente no momento em que ocorre o atraso de inicialização de 120 segundos)

Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.ConsoleKit' (using servicehelper)
Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.PolicyKit1' (using servicehelper)
Jun 14 13:15:19 mint acpid: starting up with netlink and the input layer
Jun 14 13:15:19 mint acpid: 9 rules loaded
Jun 14 13:15:19 mint acpid: waiting for events: event logging is off

Isso é o que acontece em ambos os casos ao usar o CIFS:

Noservidor:

...Jun1413:12:52ubuntu-netbootin.tftpd[2722]:RRQfrom192.168.26.13filename/linux-mint-17/image/casper/initrd.lzJun1413:13:14ubuntu-netbootdhcpd:DHCPDISCOVERfrom08:00:27:1c:c5:43viaeth1Jun1413:13:14ubuntu-netbootdhcpd:DHCPOFFERon192.168.26.14to08:00:27:1c:c5:43viaeth1Jun1413:13:14ubuntu-netbootdhcpd:DHCPREQUESTfor192.168.26.14(192.168.26.1)from08:00:27:1c:c5:43viaeth1Jun1413:13:14ubuntu-netbootdhcpd:DHCPACKon192.168.26.14to08:00:27:1c:c5:43viaeth1

OIPatribuídoaoclientenocasodeumainicializaçãobem-sucedidanaáreadetrabalho,deacordocomifconfig,édefato...14.

Issoéoqueacontecesemoip=dhcp:

Issoéoqueacontececomoip=dhcp,imediatamenteantesdaexibiçãodaáreadetrabalho:

Sou grato por qualquer ideia. Se algum outro log (qual?) Ajudaria, eu posso fornecê-los.

    
por dialer 14.06.2014 / 13:31

1 resposta

3

Este problema foi resolvido por Serva (estou relacionado ao desenvolvimento da Serva)

O kernel completo e as linhas anexas mais o initrd.gz adicional necessário para o PXE inicializar versões atuais do Ubuntu / Mint com o CIFS podem ser encontradas aqui

Basicamente, o problema é um bug Casper (AFAIK nunca relatado / corrigido antes) que, no caso de um netmount CIFS, esquece de exportar um parâmetro do kernel que posteriormente afeta os scripts de configuração de rede que acabam recriando com atrasos e erros. etc / network / interfaces.

Se virmos a linha "anexar" do Ubuntu / Mint da Serva

append   = showmounts toram root=/dev/cifs initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro

descobrimos que a variável "initrd" incorporada é composta por 2 arquivos initrd "carregados consecutivamente" (initrd.lz e INITRD_N11.GZ)

initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ 

O primeiro (initrd.lz) é o que vem com o Ubuntu / Mint, enquanto o segundo (INITRD_N11.GZ) é um pequeno initrd customizado de 8K (originalmente desenvolvido pela Serva) incluindo os componentes corrigidos. Essa abordagem evita a necessidade de recriar o grande original initrd.lz (20 MB). O INITRD_N11.GZ pode ser baixado gratuitamente no site da Serva (por favor, não poste links diretos aqui)

Se continuarmos analisando a linha "append", vemos a necessidade de adicionar as opções de montagem do CIFS (o OP esquece essa etapa) que são transportadas neste caso pela variável enganosa "NFSOPTS"

NFSOPTS=-ouser=serva,pass=avres,ro

Neste exemplo, o compartilhamento SMB possui um user = serva com senha = avres e ele será montado como "Somente leitura", os parâmetros de usuário / passagem fora do curso devem ser editados de acordo.

Os caminhos TFTP e o localizador CIFS são os requeridos pela estrutura do repositório Serva; quando o servidor PXE não é o Serva, esses parâmetros devem ser editados de acordo.

Se vocês PXE inicializarem desta forma, as versões Ubuntu / Mint Live de um compartilhamento CIFS não terão atrasos relacionados à rede e a Internet / Rede funcionará imediatamente após a inicialização

Editar:

Bug já reportado para o Ubuntu Launchpad e confirmado

    
por 18.06.2014 / 17:52