Ou comment monter un partage NFS sur une "vieille" Debian Etch avec un noyau récent.
J'ai donc une machine virtuelle Xen 4 avec un kernel récent 2.6.32-5, mais j'ai besoins d'une Debian Etch, le problème c'est que la version de modprobe est incompatible avec cette génération de noyau.
Il faut bien sûr installer nfs-common sur la machine cliente nfs.
Si on essaie de charger le module nfs voici les erreurs :
# modprobe nfs
WARNING: Could not open 'kernel/net/sunrpc/sunrpc.ko': No such file or directory
WARNING: Could not open 'kernel/net/sunrpc/auth_gss/auth_rpcgss.ko': No such file or directory
WARNING: Could not open 'kernel/fs/nfs_common/nfs_acl.ko': No such file or directory
WARNING: Could not open 'kernel/fs/fscache/fscache.ko': No such file or directory
WARNING: Could not open 'kernel/fs/lockd/lockd.ko': No such file or directory
FATAL: Could not open 'kernel/fs/nfs/nfs.ko': No such file or directory
Par contre si on charge un par un chaque module à la main avec insmod pas de problèmes.
Une solution (peut-être pas la meilleure mais elle fonctionne) est de ce faire un petit script qu'on rajoutera dans les init :
#!/bin/bash
# Script for load nfs modules on Debian Etch
# with 2.6.32-5-xen-amd64 kernel
# because of modprobe uncompatible version
# with this kernel.
# Errors when you try to load nfs module
# # modprobe nfs
# WARNING: Could not open 'kernel/net/sunrpc/sunrpc.ko': No such file or directory
# WARNING: Could not open 'kernel/net/sunrpc/auth_gss/auth_rpcgss.ko': No such file or directory
# WARNING: Could not open 'kernel/fs/nfs_common/nfs_acl.ko': No such file or directory
# WARNING: Could not open 'kernel/fs/fscache/fscache.ko': No such file or directory
# WARNING: Could not open 'kernel/fs/lockd/lockd.ko': No such file or directory
# FATAL: Could not open 'kernel/fs/nfs/nfs.ko': No such file or directory
#
# Don't forget
# update-rc.d mount_nfs defaults
#
# Guillaume Chéramy
# http://blog.cheramy.name
# 08 October 2010
case "$1" in
start)
# load modules
/sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/sunrpc.ko
/sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/auth_gss/auth_rpcgss.ko
/sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs_common/nfs_acl.ko
/sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/fs/fscache/fscache.ko
/sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/fs/lockd/lockd.ko
/sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs/nfs.ko
# mount nfs
/bin/mount $IP_SRV:$PARTAGE -t nfs $PATH
;;
stop)
# umount nfs
umount $PATH
# unload modules
/sbin/rmmod nfs
/sbin/rmmod lockd
/sbin/rmmod fscache
/sbin/rmmod nfs_acl
/sbin/rmmod auth_rpcgss
/sbin/rmmod sunrpc
;;
*) log_action_msg "Usage: /etc/init.d/mount_nfs {start|stop}"
exit 2
;;
esac
exit 0
Remplacez les variables par l'IP de votre serveur, le partage et le point de montage
Bonjour,
J'ai recontré précisément le même désagrément sur une debian virtualisée sous XEN. J'ai exactement la même configuration que vous et installé nfs-common.
J'ai tenté votre script, ai modifié les paramètres nécessaires. Je l'ai copié dans /etc/init.d mais lorsque je tente de le lancer je recois des erreurs de type:
# /etc/init.d/mount_nfs start
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/sunrpc.ko': -1 File exists
insmod: can't read '/lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/auth_gss/auth_': No such file or directory
/etc/init.d/mount_nfs: line 27: rpcgss.ko: command not found
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs_common/nfs_acl.ko': -1 File exists
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/fscache/fscache.ko': -1 File exists
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/lockd/lockd.ko': -1 File exists
[ 2141.330229] nfs: Unknown symbol svc_gss_principal
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs/nfs.ko': -1 Unknown symbol in module
mount.nfs: No such device
Si vous aviez une idée pour m'indiquer vers où chercher je vous en serait très reconnaissant. Quoi qu'il en soit merci pour votre travail !
Trouvé !
Un soucis dans le copier coller en réalité. La ligne:
/sbin/insmod /lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/auth_gss/auth_
rpcgss.ko
revient à la ligne à rpcgss.ko
Une fois corrigé j'ai :
# /etc/init.d/mount_nfs start
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/net/sunrpc/sunrpc.ko': -1 File exists
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/nfs_common/nfs_acl.ko': -1 File exists
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/fscache/fscache.ko': -1 File exists
insmod: error inserting '/lib/modules/2.6.32-5-xen-amd64/kernel/fs/lockd/lockd.ko': -1 File exists
[ 2891.854937] FS-Cache: Netfs 'nfs' registered for caching
[ 2891.911360] svc: failed to register lockdv1 RPC service (errno 97).
Et mon share NFS est monté !!!
ENCORE BRAVO !
Bonjour,
merci pour la remarque je viens de modifier l’article pour que le copier-coller se fasse correctement sur une ligne.
Slts
Bonjour,
avec la même config que vous deux, j’ai simplement créé le lien symbolique manquant en root :
ln -s /lib/modules/2.6.32-5-xen-amd64/kernel /lib/modules/kernel
A tester de votre côté.
j’ai simplement créé le lien symbolique manquant en root :
ln -s /lib/modules/2.6.32-5-xen-amd64/kernel /lib/modules/kernel
Bonjour,
Ca ne fonctionne pas chez moi (Dom0 squeeze, DomU lenny, kernel = 2.6.32-5-xen-amd64)
Pourtant ça semblait être une bonne idée …
Finalement, la création du lien symbolique permet à modprobe de fonctionner mais après avoir exécuter
depmod -aen tant que root (bien sur)Effectivement dès que des modifications sont faites dans les modules il faut faire un depmod pour recréer l’arbre de dépendances des modules.
Merci pour vos commentaires