9 votes

Le réseau ne s'initialise pas correctement lors du pxebooting de Linux Mint (live CD) en utilisant cifs, mais fonctionne avec nfs

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 des options de démarrage et d'installation pour Windows, un installateur réseau Ubuntu et le live CD Linux Mint 17 MATE. Le faire fonctionner de cette manière a déjà été pénible et je suis à bout de souffle...

Pour Linux Mint, j'ai fourni 2 options de démarrage par le réseau : NFS et CIFS. J'ai réussi à le faire fonctionner parfaitement avec NFS : l'utilisateur peut le sélectionner dans le menu de démarrage et, peu de temps après, il atterrit sur le bureau du CD live de Linux Mint. Mais avec CIFS, le réseau ne s'initialise pas correctement. Lorsque Linux Mint démarre, le réseau se bloque pendant 120 secondes. Ensuite, il continue à démarrer sur le bureau, mais le réseau ne s'initialise pas correctement. network-manager n'est pas démarré (et ne démarre pas). J'ai pensé qu'il pouvait s'agir d'un problème lié au fait que le serveur DHCP ne répond pas, mais dans le journal du serveur DHCP, je peux voir la demande DHCP et la réponse positive.

Une fois dans le bureau de Linux Mint, ifconfig indique une adresse IP attribuée par le DHCP et le ping du serveur fonctionne.

Ma configuration pxelinux est la suivante (tout ce qui est après APPEND est en une seule ligne, je l'ai séparée pour des raisons 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 le ip=dhcp dans le menu CIFS. Si je ne le fais pas, le processus de démarrage se bloque pendant 120 secondes lors de l'initialisation de Networking, puis il ne continue pas. Si j'ajoute cette ligne, le processus est toujours bloqué, mais après 120 secondes, il continue à démarrer.

La mise en place :

Les machines virtuelles du client et du serveur sont uniquement connectées l'une à l'autre (réseau interne). Il n'y a pas d'autres machines dans le réseau.

Le serveur contient tous les fichiers d'amorçage pxe sous /var/lib/tftpboot/ . L'ISO de Linux Mint (non modifié) est monté sous /var/lib/tftpboot/linux-mint-17/image . vmlinuz y initrd sont en /var/lib/tftpboot/linux-mint-17/image/casper . /var/lib/tftpboot/ est une exportation NFS. Il existe un partage samba appelé tftpshare qui correspond à /var/lib/tftpboot/ (en lecture seule, permettant l'accès à tous).

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'une étrange interruption de 2 minutes dans le syslog de l'ordinateur client après un démarrage réussi dans l'environnement de bureau virtuel :

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

(intervalle 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 :

Hangs

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'adresse IP attribuée au client en cas de démarrage réussi sur le poste de travail, conformément à la règle suivante ifconfig est en effet ...14 .

Voici ce qui se passe sans les ip=dhcp :

nodhcp1nodhcp2

C'est ce qui se passe avec le ip=dhcp immédiatement avant l'affichage du bureau :

success

Je suis reconnaissante pour toute idée. Si d'autres journaux (lesquels ?) peuvent aider, je peux les fournir.

3voto

Pat Points 3240

Ce problème a été résolu par Serva (Je suis lié au développement de Serva)

Le noyau complet et les lignes d'appendice, ainsi que le fichier initrd.gz supplémentaire requis pour le démarrage PXE des versions live actuelles d'Ubuntu/Mint avec CIFS, se trouvent à l'adresse suivante aquí

A la base, le problème est un bug de Casper (AFAIK jamais rapporté/corrigé auparavant) qui dans le cas d'un netmount CIFS oublie d'exporter un paramètre kernel qui affecte plus tard la configuration réseau scripts qui finissent par recréer avec des retards et des erreurs le fichier /etc/network/interfaces.

Si nous voyons la ligne "append" de Serva dans Ubuntu/Mint

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

nous constatons que la variable "initrd" intégrée est composée de 2 fichiers initrd "chargés consécutivement" (initrd.lz et INITRD_N11.GZ)

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

Le premier (initrd.lz) est celui fourni avec Ubuntu/Mint tandis que le second (INITRD_N11.GZ) est un minuscule initrd personnalisé de 8K (développé à l'origine par Serva) incluant les composants patchés. Cette approche évite d'avoir à recréer le gros fichier original initrd.lz (20 Mo). INITRD_N11.GZ peut être téléchargé gratuitement depuis le site de Serva (merci de ne pas poster de liens directs ici).

Si nous continuons à 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 quelque peu trompeuse "NFSOPTS"

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

Dans cet exemple, le partage SMB a un utilisateur=serva avec un mot de passe=avres et il sera monté en "Lecture seule", bien sûr les paramètres utilisateur/pass 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 démarrez par PXE les versions Ubuntu/Mint Live à partir d'un partage CIFS, il n'y aura pas de délais liés au réseau et l'Internet/le réseau fonctionneront immédiatement après le démarrage.

Edita:

Bug déjà signalé à Lancement d'Ubuntu et confirmé

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X