J'ai un serveur TFTP / DHCP / NFS / SMB (serveur Ubuntu 12.04 LTS) sur 192.168.26.1. J'utilise pxelinux pour afficher un menu contenant les options de démarrage et d'installation pour Windows, un programme d'installation réseau Ubuntu et le live CD Linux Mint 17 MATE. Le faire fonctionner comme ça était déjà méchant et je suis à bout de souffle ...
Pour Linux Mint, j'ai fourni 2 options de netboot: NFS et CIFS. Je l'ai fait fonctionner pleinement avec NFS: l'utilisateur peut le sélectionner dans le menu de démarrage, et peu de temps après, atterrit sur le bureau du CD live Linux Mint. Mais avec CIFS, la mise en réseau ne s'initialise pas correctement. Lorsque Linux Mint démarre, la mise en réseau se bloque pendant 120 secondes. Ensuite, il continue de démarrer sur le bureau, mais net network-manager
n'est pas démarré (et ne démarre pas). Je soupçonne que cela pourrait être un problème avec le serveur DHCP ne répondant pas, cependant, dans le journal du serveur DHCP, je peux voir la demande DHCP et la réponse réussie.
Une fois dans le bureau Linux Mint, ifconfig
signale une adresse IP qui est attribuée par le DHCP et le ping du serveur fonctionne.
Ma configuration pxelinux est (tout ce qui suit APPEND
est sur une seule ligne, je viens de le diviser pour plus de lisibilité sur ce 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
Notez que j'ai dû insérer l' ip=dhcp
option dans le menu CIFS. Si je ne fais pas cela, le processus de démarrage se bloque pendant 120 secondes lors de l'initialisation de la mise en réseau, mais il ne continue pas. Si j'ajoute cette ligne, elle se bloque toujours, mais après 120 secondes, elle continue de démarrer.
La mise en place:
Les machines virtuelles client et serveur sont uniquement connectées entre elles (réseau interne). Il n'y a aucune autre machine sur le réseau.
Le serveur a tous les fichiers de démarrage pxe sous /var/lib/tftpboot/
. Le Linux Mint ISO (non modifié) est monté sous /var/lib/tftpboot/linux-mint-17/image
. vmlinuz
et initrd
sont /var/lib/tftpboot/linux-mint-17/image/casper
. /var/lib/tftpboot/
est une exportation NFS. Il existe un partage samba appelé tftpshare
qui est mappé /var/lib/tftpboot/
(en lecture seule, permet l'accès à tout le monde).
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";
}
Il s'agit d'un étrange écart de 2 minutes dans la syslog
machine cliente après un démarrage réussi de l'environnement de bureau en direct:
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
(Écart de 2 minutes sans aucune entrée, à peu près au moment où le délai de démarrage de 120 secondes se produit)
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
C'est ce qui se produit dans les deux cas lors de l'utilisation de CIFS:
Sur le serveur:
...
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
L'IP qui est attribuée au client en cas de démarrage réussi sur le bureau, selon ifconfig
, l'est en effet ...14
.
Voilà ce qui arrive sans le ip=dhcp
:
Voici ce qui se passe avec le ip=dhcp
, juste avant l'affichage du bureau:
Je suis reconnaissant pour toutes les idées. Si d'autres journaux (lesquels?) Pourraient aider, je peux les fournir.
eth0
à ma passerelle si j'ai besoin d'un accès Internet.Réponses:
Ce problème a été résolu par Serva (je suis lié au développement de Serva)
Le noyau complet et les lignes d'ajout ainsi que l'initrd.gz supplémentaire requis pour le démarrage PXE des versions actuelles d'Ubuntu / Mint avec CIFS peuvent être trouvés ici
Fondamentalement, le problème est un bogue Casper (AFAIK jamais signalé / corrigé auparavant) qui, dans le cas d'un netmount CIFS, oublie d'exporter un paramètre du noyau qui affecte plus tard les scripts de configuration de réseau qui finissent par recréer avec des retards et des erreurs le fichier / etc / network / interfaces.
Si nous voyons la ligne "append" Ubuntu / Mint de Serva
nous constatons que la variable "initrd" incorporée est constituée de 2 fichiers initrd "chargés consécutivement" (initrd.lz et INITRD_N11.GZ)
Le premier (initrd.lz) est celui fourni avec Ubuntu / Mint tandis que le second (INITRD_N11.GZ) est un petit initrd personnalisé 8K (développé à l'origine par Serva) comprenant les composants corrigés. Cette approche évite d'avoir à recréer le grand initrd.lz original (20 Mo). INITRD_N11.GZ peut être téléchargé gratuitement sur le site de Serva (veuillez ne pas publier de liens directs ici)
Si nous continuons d'analyser la ligne "append", nous voyons la nécessité d'ajouter les options de montage CIFS (l'OP oublie cette étape) qui sont portées dans ce cas par la variable trompeuse "NFSOPTS"
Dans cet exemple, le partage SMB a un utilisateur = serva avec un mot de passe = avres et il sera monté en "lecture seule", les paramètres utilisateur / passe bien sûr doivent être modifiés en conséquence.
Les chemins TFTP et le localisateur CIFS sont ceux requis par la structure du référentiel Serva; lorsque le serveur PXE n'est pas Serva, ces paramètres doivent être modifiés en conséquence.
Si vous, les gars, PXE démarrez de cette façon, les versions Ubuntu / Mint Live à partir d'un partage CIFS, il n'y aura pas de retards liés au réseau et Internet / Networking fonctionnera immédiatement après le démarrage
Éditer:
Bogue déjà signalé à Ubuntu Launchpad et confirmé
la source
INITRD_N11.GZ
du site de Serva comme vous l' avez fait mentioded. Je n'en ai pas inclusNFSOPTS
car mon serveur samba n'utilise pas d'authentification.