O funcionamento em rede não é inicializado corretamente ao inicializar o Linux Mint (CD ao vivo) usando pxif, mas funciona com 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 do Windows, um instalador de rede Ubuntu e o CD ao vivo Linux Mint 17 MATE. Colocá-lo funcionando assim já era desagradável e estou ficando sem vapor ...

Para o Linux Mint, forneci 2 opções de inicialização de rede: NFS e CIFS. Eu trabalhei totalmente com o NFS: o usuário pode selecioná-lo no menu de inicialização e, pouco tempo depois, chega à área de trabalho do CD ao vivo do Linux Mint. Mas com o CIFS, a rede não é inicializada corretamente. Quando o Linux Mint é iniciado, a rede trava por 120 segundos. Depois, ele continua sendo inicializado na área de trabalho, mas a rede network-managernão é iniciada (e não é iniciada). Suspeitei que poderia haver um problema com o servidor DHCP não responder, no entanto, no log do servidor DHCP, posso ver a solicitação DHCP e a resposta bem-sucedida.

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

Minha configuração pxelinux é (tudo o que APPENDestá depois está em uma linha, eu apenas a divido para facilitar a leitura 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

Observe que eu tive que inserir a ip=dhcpopção no menu CIFS. Se eu não fizer isso, o processo de inicialização será interrompido por 120 segundos ao inicializar o Networking, mas não continuará. Se eu adicionar essa linha, ela ainda trava, mas após 120 segundos continua sendo inicializada.

A configuração:

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

O servidor possui todos os arquivos de inicialização do pxe /var/lib/tftpboot/. O ISO do Linux Mint (não modificado) está montado em /var/lib/tftpboot/linux-mint-17/image. vmlinuze initrdestão em /var/lib/tftpboot/linux-mint-17/image/casper. /var/lib/tftpboot/é uma exportação NFS. Há um compartilhamento de samba chamado tftpshareque mapeia /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";
}

Essa é uma lacuna estranha de 2 minutos na syslogmáquina cliente após uma inicialização bem-sucedida no ambiente da á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

(2 minutos de intervalo 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

É o que acontece nos dois casos ao usar o CIFS:

Trava

No servidor:

...
Jun 14 13:12:52 ubuntu-netboot in.tftpd[2722]: RRQ from 192.168.26.13 filename /linux-mint-17/image/casper/initrd.lz
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPDISCOVER from 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPOFFER on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPREQUEST for 192.168.26.14 (192.168.26.1) from 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPACK on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1

O IP atribuído ao cliente no caso de uma inicialização bem-sucedida na área de trabalho, de acordo com ifconfig, é realmente ...14.

É o que acontece sem o ip=dhcp:

nodhcp1 nodhcp2

É o que acontece com o ip=dhcp, imediatamente antes da área de trabalho mostrar:

sucesso

Sou grato por todas as idéias. Se outros logs (quais?) Ajudarem, posso fornecê-los.

discador
fonte
isto é como uma pergunta deve ser escrito :)
Warren
Você tentou tcpdump no servidor para ver se obtém alguma coisa do cliente?
Lacasitos
1
Dê uma olhada nos scripts de inicialização do casper. Eu acho que o problema está aí. Você regenerou seus initramfs? Presumo que você tenha BOOT = casper definido?
Matt
1
Matt, você pode ver claramente que o OP tem boot = casper definido. Regenerar initramfs para quê?
Pat
1
@warren Eu apenas tentei e funcionou. @ Sneetsher Eu me conecto eth0ao meu gateway se precisar de acesso à Internet.
discador

Respostas:

3

Esse problema foi resolvido pelo Serva (estou relacionado ao desenvolvimento do Serva)

O kernel completo e as linhas anexas, além do initrd.gz adicional necessário para inicializar o PXE com as versões atuais do Ubuntu / Mint ao vivo com CIFS, podem ser encontrados aqui

Basicamente, o problema é um bug do Casper (AFAIK nunca relatado / corrigido antes) que, no caso de uma montagem em rede CIFS, esquece de exportar um parâmetro do kernel que afeta posteriormente os scripts de configuração de rede que acabam recriando com atrasos e erros no arquivo / 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 personalizado de 8K (originalmente desenvolvido por Serva), incluindo os componentes corrigidos. Essa abordagem evita a necessidade de recriar o grande initrd.lz original (20 MB). INITRD_N11.GZ pode ser baixado gratuitamente no site da Serva (por favor, não publique links diretos aqui)

Se continuarmos analisando a linha "anexar", vemos a necessidade de adicionar as opções de montagem do CIFS (o OP esquece esta etapa) que são executadas nesse caso pela variável "NFSOPTS"

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

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

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

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

Editar:

Bug já reportado ao Ubuntu Launchpad e confirmado

Pat
fonte
Anexar o INITRD_N11.GZsite da Serva à medida que você mentiu o fez. Não incluí nenhum NFSOPTSporque meu servidor samba não usa autenticação.
discador
Boa; Apenas para mencionar quando você inicializa usando CIFS sem um NFSOPS específico na linha de comando, o Casper assume como padrão CIFSOPTS = "- maiser = root, password =", mas não especifica "ro" que poderia ter alguns efeitos colaterais posteriormente; No seu caso, eu especificaria, por exemplo, NFSOPTS = "- ouser = root, password =, ro"
Pat Pat
1
A imagem initrd modificada teve origem na equipe de desenvolvimento da Serva? Ou alguém já reparou esse bug antes?
discador
INITRD_N11.GZ é um desenvolvimento Serva, veja a resposta editada, você encontrará o link para o relatório de bug que realizei. Se você possui uma conta no Ubuntu Launchpad, pode "verificar" o bug; Isso ajudará a corrigir isso em versões futuras.
Pat