Problème d'accès /home

Bonjour,

Sur un serveur scolaire en prod, fonctionnant sous Squeeze, je rencontre un souci suite au déplacement du /home sur un HD Seagate Barracuda d’1To (ST1000DM003). En effet, au redémarrage du serveur, après avoir modifié le fstab, j’obtiens une série de messages du type : XFS: possible memory allocation deadlock in kmem_zone_alloc et je n’ai plus la main après.
Sur une liste de discussion, un collègue a fait part d’une erreur similaire qu’il avait rencontré avec un HD Seagate de 2To. Il a contourné cette erreur en virant l’option quota dans la déclaration du disque dans fstab. Je n’ai pas encore testé. Pour info, je suis sur un noyau 3.2
Quelqu’un a-t-il déjà rencontré ce souci ?
Que pensez-vous de la solution de virer l’option quota dans la déclaration du disque dans fstab ?

Merci d’avance pour vos lumières.
Bien cordialement.

À quoi ressemble /etc/fstab ?

Bonjour,
Voici le contenu du fstab :

UUID=8622e644-69ea-4b1f-af17-b3cf94354785 none swap sw 0 0
UUID=ebd8d4de-8c32-49d7-9429-ab138d2ccef7 / ext3 errors=remount-ro 0 1
UUID=4556513d-b8ab-4a15-be49-09d27264ee56 /var ext3 defaults 0 0
UUID=abc5f07b-90c3-4e58-bf5c-ada1c9e4586f /var/se3 xfs defaults,quota 0 0
UUID=02766270-e5a6-4fba-9667-63feb09f0175 /home xfs defaults,quota 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto user,noauto 0 0
/dev/cdrom /cdrom iso9660 ro,user,noauto 0 0

Lors de l’installation du nouveau DD contenant la copie du home, je n’ai fait que modifier l’UUID.

Cordialement

Bonjour,

J’ai tenté la solution qui m’a été donnée, à savoir ne pas mettre l’option quota dans la déclaration du disque et en effet ça passe…
Mais je n’ai pas d’explication à ceci.

Bien cordialement

Après recherche rapide, voici l’explication probable :
http://oss.sgi.com/archives/xfs/2012-06/msg00362.html
En gros, lors du montage avec l’option quota, une vérification a lieu qui fait grossir le cache d’inodes en mémoire au point de consommer toute la mémoire disponible. Tu vois peut-être aussi des message de l’“OOM killer” qui tue des processus pour essayer de libérer de la mémoire.

Un patch a été inclus dans le noyau Linux 3.5, dont voici le commit. Il permet de libérer de la mémoire du cache d’inode sur demande (reclaim) pendant l’opération de montage.

[code]commit 8a00ebe4cfc90eda9ecb575ba97e22021cd8cf70
Author: Dave Chinner david@fromorbit.com
Date: Fri Apr 13 12:10:44 2012 +0000

xfs: Ensure inode reclaim can run during quotacheck

Because the mount process can run a quotacheck and consume lots of
inodes, we need to be able to run periodic inode reclaim during the
mount process. This will prevent running the system out of memory
during quota checks.

This essentially reverts 2bcf6e97, but that is safe to do now that
the quota sync code that was causing problems during long quotacheck
executions is now gone.

The reclaim work is currently protected from running during the
unmount process by a check against MS_ACTIVE. Unfortunately, this
also means that the reclaim work cannot run during mount.  The
unmount process should stop the reclaim cleanly before freeing
anything that the reclaim work depends on, so there is no need to
have this guard in place.

Also, the inode reclaim work is demand driven, so there is no need
to start it immediately during mount. It will be started the moment
an inode is queued for reclaim, so qutoacheck will trigger it just
fine.[/code]

Cependant, il ne semble pas avoir été rétroporté dans la série 3.2 du noyau malgré ce qui est écrit à la fin du message dont j’ai fourni l’URL, ni par Debian. A défaut, une solution possible consiste à augmenter la taille de la RAM mais je ne sais pas dans quelles proportions. En tout cas j’imagine que le déclenchement du bug est lié à l’augmentation de la taille du volume XFS, il y a peut-être un contournement en jouant avec les options des inodes (nombre, taille…) à la création ou au montage du système de fichiers.

PS : Le titre de ton sujet est trop vague. Au lieu de parler d’accès à /home qui fait penser à un problème de droits, tu aurais dû évoquer un problème de montage XFS.