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-manager
nã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, ifconfig
relata um endereço IP atribuído pelo DHCP, e executar o ping no servidor.
Minha configuração pxelinux é (tudo o que APPEND
está 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=dhcp
opçã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
. vmlinuz
e initrd
estão em /var/lib/tftpboot/linux-mint-17/image/casper
. /var/lib/tftpboot/
é uma exportação NFS. Há um compartilhamento de samba chamado tftpshare
que 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 syslog
má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:
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
:
É o que acontece com o ip=dhcp
, imediatamente antes da área de trabalho mostrar:
Sou grato por todas as idéias. Se outros logs (quais?) Ajudarem, posso fornecê-los.
eth0
ao meu gateway se precisar de acesso à Internet.Respostas:
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
descobrimos que a variável "initrd" incorporada é composta por 2 arquivos initrd "carregados consecutivamente" (initrd.lz e 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"
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
fonte
INITRD_N11.GZ
site da Serva à medida que você mentiu o fez. Não incluí nenhumNFSOPTS
porque meu servidor samba não usa autenticação.