Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

NFS : serveur Linux, client Solaris 10 (sparc/sparc)

12 réponses
Avatar
JKB
Bonjour à tous,

Je suis en train de m'énerver sur un problème de boot réseau d'une
machine sous Solaris 10/sparc à partir d'un serveur de boot sous
Linux/sparc. Le montage du rootfs se fait par nfs.

J'arrive à faire booter ma machine sans problème, pour cela, il a
fallu que je remplace nfs-kernel-server soit par nfs-user-server,
soit par unfs3. Bon, ça boote. C'est presque utilisable, tout étant
dans le presque !

J'arrive à me logguer sur un compte sans problème, à voir ce qu'il y
a dans les répertoires, à virer des fichiers, à en éditer d'autres.
Sauf que j'ai des trucs du style :

dvorak:[~/m4-1.4.10] > ls -al
total 2368
drwxrwxrwx 12 jcollab other 4096 oct 20 20:43 .
drwxr-xr-x 7 jcollab other 4096 oct 20 19:33 ..
-rw-r--r-- 1 jcollab other 660 mai 31 03:24 acinclude.m4
-rw-r--r-- 1 jcollab other 34396 juil 10 05:14 aclocal.m4
-rw-r--r-- 1 jcollab other 3195 mai 31 03:24 AUTHORS
-rw-r--r-- 1 jcollab other 2575 mai 31 03:24 BACKLOG
-rwxr-xr-x 1 jcollab other 7437 juil 5 05:56 bootstrap
-rw-r--r-- 1 jcollab other 12900 mai 31 03:24 c-boxes.el
-rw-r--r-- 1 jcollab other 137624 juil 10 05:50 ChangeLog
drwxr-xr-x 2 jcollab other 4096 juil 10 05:51 checks
drwxr-xr-x 2 jcollab other 4096 oct 20 20:43 conf701.dir
-rwxr-xr-x 1 jcollab other 44595 juil 10 05:15 config.guess
-rw-r--r-- 1 jcollab other 6567 oct 20 20:43 config.log
-rwxr-xr-x 1 jcollab other 32724 juil 10 05:15 config.sub
...
drwxr-xr-x 2 jcollab other 4096 oct 20 19:54 sub
drwxr-xr-x 2 jcollab other 4096 juil 10 05:51 tests
-rw-r--r-- 1 jcollab other 4496 mai 30 03:34 THANKS
-rw-r--r-- 1 jcollab other 1962 juil 10 05:07 TODO
dvorak:[~/m4-1.4.10] > rmdir conf701.dir/
rmdir : répertoire "conf701.dir/" : Le chemin spécifié n'est pas un
répertoire.
dvorak:[~/m4-1.4.10] >

C'est un exemple... Le truc est aléatoire. Surprenant, non ?!
Toujours plus haut, toujours plus fort : en faisant un configure sur
le script configure de ce répertoire :

checking for mkdtemp... no
checking for working mkstemp... rm: Unable to remove directory
conftest.mkstemp: Not a directory <<----- ??????????????????
no
checking for obstacks... no
checking whether frexp can be used without linking with libm... yes
checking whether frexp works... yes
checking whether ldexp can be used without linking with libm... yes
checking whether frexpl can be used without linking with libm...
(cached) no
checking whether ldexpl can be used without linking with libm... no
checking for mbstate_t... yes
.....
checking if malloc debugging is wanted... no
configure: creating ./config.status
./config.status: line 503: ./confteaGjn/subs-1.sed: Not a directory
./config.status: line 603: ./confteaGjn/subs-2.sed: Not a directory
./config.status: line 703: ./confteaGjn/subs-3.sed: Not a directory
config.status: error: cannot find input file: Makefile.in
rm: Unable to remove directory ./confteaGjn: Not a directory
rm: Unable to remove directory conftest.mkstemp: Not a directory
dvorak:[~/m4-1.4.10] >

Et je vous promets que le conftest.dir en question est un répertoire
! D'ailleurs :

dvorak:[~/m4-1.4.10] > ls -l conftest.dir/
conftest.dir/: Ceci n'est pas un répertoire
dvorak:[~/m4-1.4.10] >

Je disjoncte !

Mes points de montage sont les suivants :

dvorak:[~/m4-1.4.10] > cat /etc/vfstab
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0t0d0s1 - - swap - no -
192.168.1.254:/export/home/srv/solaris10-dvorak/ - /
nfs 1 yes logging,vers=3,noac,forcedirectio,noxattr
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
192.168.1.254:/export/home/srv/apps/ - /usr/share-apps nfs
0 yes logging,vers=3,noac,forcedirectio,noxattr
192.168.1.254:/export/home/dvorak/ - /usr/dvorak-apps
nfs 0 yes logging,vers=3,noac,forcedirectio,noxattr
dvorak:[~/m4-1.4.10] > mount
/ on 192.168.1.254:/export/home/srv/solaris10-dvorak/
remote/read/write/setuid/devices/vers=3/noac/forcedirectio/noxattr/llock/dev=4f80001
on sam oct 20 20:42:52 2007
...
/usr/dvorak-apps on 192.168.1.254:/export/home/dvorak/
remote/read/write/setuid/devices/vers=3/noac/forcedirectio/noxattr/dev=4f80002
on sam oct 20 20:43:07 2007
/usr/share-apps on 192.168.1.254:/export/home/srv/apps/
remote/read/write/setuid/devices/vers=3/noac/forcedirectio/noxattr/dev=4f80003
on sam oct 20 20:43:07 2007

Le fichier /etc/exports du serveur est le suivant :

/export/home/ 192.168.1.0/24(rw,sync,no_root_squash)
/export/home/srv/solaris10-dvorak \
192.168.1.0/24(rw,sync,no_root_squash)
/export/home/srv/solaris10-tchaikovski \
192.168.1.0/24(rw,sync,no_root_squash)

J'ai essayé de rendre tout ce petit monde synchrone, sans succès.
Tous les fichiers créés appartiennent à mon utilisateur, donc les
droits sont bons partout... Qu'est-ce que j'ai donc raté ? J'ai
le même comportement avec nfs-user-server et avec nfs3d.

Au secours !... ;-)

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

10 réponses

1 2
Avatar
Nicolas S.
À tout hasard, tu as pensé à un problème matériel (processeur, m émoire
notamment) ou tu as une bonne raison d'écarter cette hypothèse?

--
Nicolas S.
Avatar
JKB
Le 20-10-2007, à propos de
Re: NFS : serveur Linux, client Solaris 10 (sparc/sparc),
Nicolas S. écrivait dans fr.comp.os.unix :


À tout hasard, tu as pensé à un problème matériel (processeur, mémoire
notamment) ou tu as une bonne raison d'écarter cette hypothèse?


J'ai quatre T1000 sous Linux et quatre autres T1000 sous Solaris. Je
peux croiser comme je veux, j'ai _toujours_ le même problème.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

Avatar
Marc
JKB wrote:

J'ai quatre T1000 sous Linux et quatre autres T1000 sous Solaris. Je
peux croiser comme je veux, j'ai _toujours_ le même problème.


Et il n'y aurait pas moyen d'utiliser un des T1000 sous solaris comme
serveur nfs au lieu d'un de ceux sous linux ? Ça s'est sans doute
amélioré avec le temps, mais les serveurs nfs de linux ont (avaient ?)
la réputation de mal marcher avec les clients autres que linux.

Avatar
JKB
Le 20-10-2007, à propos de
Re: NFS : serveur Linux, client Solaris 10 (sparc/sparc),
Marc écrivait dans fr.comp.os.unix :
JKB wrote:

J'ai quatre T1000 sous Linux et quatre autres T1000 sous Solaris. Je
peux croiser comme je veux, j'ai _toujours_ le même problème.


Et il n'y aurait pas moyen d'utiliser un des T1000 sous solaris comme
serveur nfs au lieu d'un de ceux sous linux ? Ça s'est sans doute
amélioré avec le temps, mais les serveurs nfs de linux ont (avaient ?)
la réputation de mal marcher avec les clients autres que linux.


Non, et c'est bien le problème. D'un autre côté, le
nfs-kernel-server fonctionne bien _une fois le client booté_ mais je
n'arrive par à faire booter un solaris en rootnfs avec ce daemon. Si
quelqu'un avait un peu plus d'expérience sur le sujet, ce serait pas
mal de m'aiguiller. En fait, si j'arrive à utiliser unfs3d pour la
séquence de boot et le daemon normal juste après, mon problème sera
résolu...

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Emmanuel Florac
Le Sat, 20 Oct 2007 20:14:47 +0000, JKB a écrit :

Non, et c'est bien le problème. D'un autre côté, le
nfs-kernel-server fonctionne bien _une fois le client booté_ mais je
n'arrive par à faire booter un solaris en rootnfs avec ce daemon.


Je me pencherais plutôt sur ce problème là, parce que franchement
user-kernel-server c'est de la merde en barre, je ne pense pas qu'il soit
même sérieusement maintenu, je n'ai jamais vu personne l'utiliser depuis
que nfs-kernel-server existe.
Quel est le genre de problème que tu as pour booter un Solaris avec un
lfs-kernel-server? Ça ne serait pas lié à un problème de ports
privilégiés sur les partages, par exemple?
Autre idée, on ne peut pas booter un solaris en tftp? Ça permettrait de
contourner le problème aussi.

--
A thing of beauty is a joy forever.
J. Keats.

Ah! Singe débotté, hisse un jouet fort et vert!
Marcel Bénabou.

Avatar
JKB
Le 20-10-2007, à propos de
Re: NFS : serveur Linux, client Solaris 10 (sparc/sparc),
Emmanuel Florac écrivait dans fr.comp.os.unix :
Le Sat, 20 Oct 2007 20:14:47 +0000, JKB a écrit :

Non, et c'est bien le problème. D'un autre côté, le
nfs-kernel-server fonctionne bien _une fois le client booté_ mais je
n'arrive par à faire booter un solaris en rootnfs avec ce daemon.


Je me pencherais plutôt sur ce problème là, parce que franchement
user-kernel-server c'est de la merde en barre, je ne pense pas qu'il soit
même sérieusement maintenu, je n'ai jamais vu personne l'utiliser depuis
que nfs-kernel-server existe.
Quel est le genre de problème que tu as pour booter un Solaris avec un
lfs-kernel-server? Ça ne serait pas lié à un problème de ports
privilégiés sur les partages, par exemple?
Autre idée, on ne peut pas booter un solaris en tftp? Ça permettrait de
contourner le problème aussi.


En fait, Emmanuel, Solaris est très con, mais alors plus con que ça,
je ne connais pas ! Je viens de démerder le boot avec
nfs-kernel-server (après avoir sans succès goolisé et rtfmer
plusieurs jours), et je pense que cela intéressera ceux qui
veulent booter un Solaris en réseau ne serait-ce que pour
l'installer sur une machine sans lecteur de CD.

Par défaut, lorsqu'il est booté, il fait du NFSv4 (qui plante
joyeusement avec NFSv4 de Linux, maintenant, lequel est le plus
buggué que l'autre, c'est un autre débat...). Par contre, le bouzin
s'ingénie lors de la procédure de boot à ne faire qu'une sous partie
de NFSv2 ! J'ai trouvé ça par recoupement en sniffant le réseau.

Bref, le boot réseau Solaris se fait en cinq parties :
1/ un petit coup de RARP ;
2/ chargement d'un bootloader (trop simple, le chargement du vrai
noyau !) par atftpd (tftpd ne _fonctionne_ pas), ce bootloader
sachant normalement faire du NFS ;
3/ chargement des paramètres de boot par bootparamd ;
4/ montage du / temporaire par une sous-partie NFSv2 ;
5/ remontage lors du boot de / par NFSv3 complet.

Pour que cela fonctionne, il faut rajouter à bootparamd les options
suivantes :

dvorak
root2.168.1.254:/export/home/srv/solaris10-dvorak/
boottype2.168.1.254:in
rootopts2.168.1.254:rsize92,vers=2,proto=udp

Surtout vers=2 et proto=udp.

Il me reste simplement un truc à régler... La machine récupère bien
lors des premières étapes le disque de dvorak, mais à la fin du
boot, elle devien tchaikovki, ce qui pose un problème...

Oct 21 09:30:02 gershwin rpc.bootparamd: returning server:192.168.1.254
path:/export/home/srv/solaris10-dvorak/ address: 192.168.1.254
Oct 21 09:30:02 gershwin mountd[10380]: authenticated mount request from
192.168.1.71:1023 for /export/home/srv/solaris10-dvorak
(/export/home/srv/solaris10-dvorak)
Oct 21 09:30:37 gershwin mountd[10380]: authenticated mount request from
192.168.1.71:652 for /export/home/srv/solaris10-tchaikovski
(/export/home/srv/solaris10-tchaikovski)
Oct 21 09:31:35 gershwin rpc.bootparamd: whoami got question for
192.168.1.72
Oct 21 09:31:35 gershwin rpc.bootparamd: This is host
tchaikovski.systella.net
Oct 21 09:31:35 gershwin rpc.bootparamd: Returning tchaikovski (none)
192.168.1.254
Oct 21 09:31:43 gershwin mountd[10380]: authenticated mount request from
192.168.1.72:908 for /export/home/srv/solaris10-tchaikovski
(/export/home/srv/solaris10-tchaikovski

Je ne vois pas pourquoi au cours du boot, elle changerait d'adresse
IP...

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Emmanuel Florac
Le Sun, 21 Oct 2007 07:51:42 +0000, JKB a écrit :

Par défaut, lorsqu'il est booté, il fait du NFSv4 (qui plante
joyeusement avec NFSv4 de Linux, maintenant, lequel est le plus
buggué que l'autre, c'est un autre débat...).


Le NFS de linux a un passif assez lourd, il fait un suspect crédible :)

Par contre, le bouzin
s'ingénie lors de la procédure de boot à ne faire qu'une sous partie
de NFSv2 ! J'ai trouvé ça par recoupement en sniffant le réseau.


Mmmh, je vois :)

Bref, le boot réseau Solaris se fait en cinq parties :
1/ un petit coup de RARP ;
2/ chargement d'un bootloader (trop simple, le chargement du vrai
noyau !) par atftpd (tftpd ne _fonctionne_ pas), ce bootloader
sachant normalement faire du NFS ;
3/ chargement des paramètres de boot par bootparamd ;
4/ montage du / temporaire par une sous-partie NFSv2 ;
5/ remontage lors du boot de / par NFSv3 complet.

Pour que cela fonctionne, il faut rajouter à bootparamd les options
suivantes :

dvorak
root2.168.1.254:/export/home/srv/solaris10-dvorak/
boottype2.168.1.254:in
rootopts2.168.1.254:rsize92,vers=2,proto=udp

Surtout vers=2 et proto=udp.


Oui mais c'est standard, ça veut dire qu'il ne fait pas la négociation
du protocole, c'est ça?

Il me reste simplement un truc à régler... La machine récupère bien
lors des premières étapes le disque de dvorak, mais à la fin du
boot, elle devien tchaikovki, ce qui pose un problème...

Oct 21 09:30:02 gershwin rpc.bootparamd: returning server:192.168.1.254
path:/export/home/srv/solaris10-dvorak/ address: 192.168.1.254
Oct 21 09:30:02 gershwin mountd[10380]: authenticated mount request from
192.168.1.71:1023 for /export/home/srv/solaris10-dvorak
(/export/home/srv/solaris10-dvorak)
Oct 21 09:30:37 gershwin mountd[10380]: authenticated mount request from
192.168.1.71:652 for /export/home/srv/solaris10-tchaikovski
(/export/home/srv/solaris10-tchaikovski)
Oct 21 09:31:35 gershwin rpc.bootparamd: whoami got question for
192.168.1.72
Oct 21 09:31:35 gershwin rpc.bootparamd: This is host
tchaikovski.systella.net
Oct 21 09:31:35 gershwin rpc.bootparamd: Returning tchaikovski (none)
192.168.1.254
Oct 21 09:31:43 gershwin mountd[10380]: authenticated mount request from
192.168.1.72:908 for /export/home/srv/solaris10-tchaikovski
(/export/home/srv/solaris10-tchaikovski

Je ne vois pas pourquoi au cours du boot, elle changerait d'adresse
IP...


C'est très étrange en effet, tu es en DHCP?

--
Jesus saves but only Buddha makes incremental backups.

Avatar
JKB
Le 21-10-2007, à propos de
Re: NFS : serveur Linux, client Solaris 10 (sparc/sparc),
Emmanuel Florac écrivait dans fr.comp.os.unix :
Le Sun, 21 Oct 2007 07:51:42 +0000, JKB a écrit :

Par défaut, lorsqu'il est booté, il fait du NFSv4 (qui plante
joyeusement avec NFSv4 de Linux, maintenant, lequel est le plus
buggué que l'autre, c'est un autre débat...).


Le NFS de linux a un passif assez lourd, il fait un suspect crédible :)


Ouaips. Sauf que mon expérience me dit que dans ce cas précis, ce
n'est peut-être pas le plus fautif ;-)

Par contre, le bouzin
s'ingénie lors de la procédure de boot à ne faire qu'une sous partie
de NFSv2 ! J'ai trouvé ça par recoupement en sniffant le réseau.


Mmmh, je vois :)

Bref, le boot réseau Solaris se fait en cinq parties :
1/ un petit coup de RARP ;
2/ chargement d'un bootloader (trop simple, le chargement du vrai
noyau !) par atftpd (tftpd ne _fonctionne_ pas), ce bootloader
sachant normalement faire du NFS ;
3/ chargement des paramètres de boot par bootparamd ;
4/ montage du / temporaire par une sous-partie NFSv2 ;
5/ remontage lors du boot de / par NFSv3 complet.

Pour que cela fonctionne, il faut rajouter à bootparamd les options
suivantes :

dvorak
root2.168.1.254:/export/home/srv/solaris10-dvorak/
boottype2.168.1.254:in
rootopts2.168.1.254:rsize92,vers=2,proto=udp

Surtout vers=2 et proto=udp.


Oui mais c'est standard, ça veut dire qu'il ne fait pas la négociation
du protocole, c'est ça?


C'est à peu près ça. Le truc lance une négociation, le serveur NFS
linux y répond, mais le bootstrap Solaris s'en contrefiche.

Il me reste simplement un truc à régler... La machine récupère bien
lors des premières étapes le disque de dvorak, mais à la fin du
boot, elle devien tchaikovki, ce qui pose un problème...

Oct 21 09:30:02 gershwin rpc.bootparamd: returning server:192.168.1.254
path:/export/home/srv/solaris10-dvorak/ address: 192.168.1.254
Oct 21 09:30:02 gershwin mountd[10380]: authenticated mount request from
192.168.1.71:1023 for /export/home/srv/solaris10-dvorak
(/export/home/srv/solaris10-dvorak)
Oct 21 09:30:37 gershwin mountd[10380]: authenticated mount request from
192.168.1.71:652 for /export/home/srv/solaris10-tchaikovski
(/export/home/srv/solaris10-tchaikovski)
Oct 21 09:31:35 gershwin rpc.bootparamd: whoami got question for
192.168.1.72
Oct 21 09:31:35 gershwin rpc.bootparamd: This is host
tchaikovski.systella.net
Oct 21 09:31:35 gershwin rpc.bootparamd: Returning tchaikovski (none)
192.168.1.254
Oct 21 09:31:43 gershwin mountd[10380]: authenticated mount request from
192.168.1.72:908 for /export/home/srv/solaris10-tchaikovski
(/export/home/srv/solaris10-tchaikovski

Je ne vois pas pourquoi au cours du boot, elle changerait d'adresse
IP...


C'est très étrange en effet, tu es en DHCP?


Non. Je ne comprends pas trop ce qui s'est passé. J'ai rebooté
plusieurs fois mes clients diskless avec toujours la même erreur.
J'ai éteint électriquement ces clients pour les rallumer et miracle,
ça fonctionne. Entre les deux opérations, je n'ai pas changé une
seule ligne de configuration.

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Emmanuel Florac
Le Mon, 22 Oct 2007 07:33:46 +0000, JKB a écrit :

Non. Je ne comprends pas trop ce qui s'est passé. J'ai rebooté
plusieurs fois mes clients diskless avec toujours la même erreur.
J'ai éteint électriquement ces clients pour les rallumer et miracle,
ça fonctionne. Entre les deux opérations, je n'ai pas changé une
seule ligne de configuration.


C'est parce que tu avais oublié de sacrifier un poulet noir :)

--
on passe la moitié de son temps à refaire ce que l'on n'a pas eu le
temps de faire correctement.
Loi de Myers.

Avatar
JKB
Le 22-10-2007, à propos de
Re: NFS : serveur Linux, client Solaris 10 (sparc/sparc),
Emmanuel Florac écrivait dans fr.comp.os.unix :
Le Mon, 22 Oct 2007 07:33:46 +0000, JKB a écrit :

Non. Je ne comprends pas trop ce qui s'est passé. J'ai rebooté
plusieurs fois mes clients diskless avec toujours la même erreur.
J'ai éteint électriquement ces clients pour les rallumer et miracle,
ça fonctionne. Entre les deux opérations, je n'ai pas changé une
seule ligne de configuration.


C'est parce que tu avais oublié de sacrifier un poulet noir :)


Je pense surtout que Solaris est un peu marabouté et qu'il y a du
cache qui résiste aux reboots. De toute façon le truc devient de
plus abscons (surtout depuis qu'on se tape des grands coups de
svcadm et consorts... et que pour booter, le passage par svcadm
demande un daemon certes embarqué mais SQL quelque chose).
J'ai l'impression que le bouzin devenu obèse va bientôt
exploser en vol... Quant au système de patch, les types de chez Sun
pourraient au moins avoir un mécanisme pour les appliquer automatiquement
dans l'ordre pour ne pas être contraint à passer des jours à installer
les trucs parce que smpatch est infoutu de le faire... Il y a des jours
où je préférerais encore me taper du HP-UX de la grande époque (9.03 ou
10.20) voire du Tru64, c'est dire si je suis désespéré...
Bref, on comprend mieux la percée de certains OS sur les Sparc's
actuellement... Et tout ça, c'est sans compter le manque de doc
_claire_ sur l'OS (je parle de documentation rendant compte de
certains aspect d'interopérabilité entre différents systèmes qui
fait que je suis trop souvent obliger de sniffer les trames
réseaux pour comprendre pourquoi deux trucs ne fonctionne pas
ensemble, et pas de doc d'administration de base, parce que là, on
trouve encore).

begin{ma vie}
Je me paluche du Solaris, ou du SunOS, enfin de l'Unix made by Sun
depuis les ELC, c'est dire si ça commence à faire...
L'administration de ces trucs me demande largement plus de boulot
que la même chose sur les mêmes machines tournant sous une bonne
debianerie des familles pour le même service (je dois certainement
être mauvais...). Et le truc qui m'énerve de plus en plus, c'est la
capacité de Solaris à me faire remettre en cause mes capacité à
l'horizon du quart d'heure et les trucs d'administration qui
changent du tout au tout entre deux versions... Je me souviens avec
émotion du changement 2.4 vers 2.5, en particulier... Et des
changements d'API sournois...
end{ma vie}

Tiens, question connexe. Depuis quelques mois, je n'ai plus aucun
patch de mise à jour sur mes sparc's en Solaris 9 (32 bits).
Est-ce normal ?

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


1 2