Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/03/2008, à 15:02

cuicui.oizo

[½ résolu] Ubuntu "DiskLess" avec partage NFS en lecture seule

Bonjour,

J'ai mis en place un serveur NFS/DHCP/tftp qui permet à des ordinateurs sans disque dur de démarrer Ubuntu depuis le réseau. J'ai suivi le how-to officiel, tout fonctionne bien:

Le problème de cette solution c'est que le partage NFS qui héberge l'installation d'Ubuntu doit-être accessible en lecture-écriture par tous les ordinateurs.

Comme en réalité il y a très peu de fichiers qui doivent être accessibles en écriture (des fichiers de logs en majorité, /etc/mtab et quelques autres trucs en rapport avec udev), je trouve relativement dangereux de devoir *tout* partager en lecture-écriture (surtout que NFS n'est pas le top du top au niveau sécurité).

Est-ce qu'il existe un moyen pour partager en NFS, le "/" en lecture seule et faire quelques ajustements pour que certains fichiers soient (virtuellement??) accessibles en écriture?

J'entends pas mal parler de Unionfs et aufs, ils permettent de mélanger des systèmes en lecture seule et en lecteure/écriture de façons transparente mais j'ai du mal à trouver des informations précises sur leur application aux systèmes diskless.

D'avance merci pour vos réponses.

Dernière modification par cuicui.oizo (Le 25/03/2008, à 12:49)

Hors ligne

#2 Le 25/03/2008, à 12:48

cuicui.oizo

Re : [½ résolu] Ubuntu "DiskLess" avec partage NFS en lecture seule

En attendant le support officiel de aufs et/ou un meilleur support de unionfs j'ai trouvé une méthode qui fonctionne correctement. Je remonterais le sujet si Hardy s'en sort mieux que Gusty.

Le plus dur est de gérer le /var, idéalement il faut utiliser unionfs pour que le système "trouve" un /var complet (tous les répertoires, tous les fichiers kivontbien) et écrive des nouveaux fichiers / modifie les fichiers existants en RAM de manière transparente.

Le problème c'est que unionfs fait de magnifiques "segment fault"...

Donc, la méthode un peu moins classe consiste:

- à créer un fichier tar d'un /var qui existe
- monter /var en RAM
- décompresser le tar en RAM

De cette manière, lorsque le système démarre, il trouve un /var cohérent et accessible en écriture.

Voilà à quoi ressemble mon /etc/init.d/rcS:

/bin/mount -n -t tmpfs tmpfs /var

tar xfpz /usr/local/var.tar.gz -C /var
exit 0

Et le /etc/fstab (notez bien le ro pour le montage de la racine en nfs):

proc            /proc                   proc    defaults        0       0
/dev/nfs        /                       nfs,ro  defaults        0       0
none            /tmp                    tmpfs   defaults        0       0
none            /home                   tmpfs   defaults        0       0

Attention, dans mon cas le /home est en RAM car (de même que pour le /var), je décompresse un /home spécifique à l'ordinateur (avec tous les réglages), le but étant de faire des PC en libre service.

Pour créer le tar il suffit d'aller sur le serveur qui héberge le partage NFS (dans mon cas une Debian Etch), auparavant on aura vidé les fichiers de logs (sans les supprimer) pour ne pas prendre de place inutile en RAM:

cd /srv/diskless/var

# On recherche tous les fichiers de log et on les vide
for LOG in `find ./log -type f -name "*.log" \! -size 0`; do
     : > $LOG
done

tar cfpzv ../usr/local/var.tar.gz --exclude=*/apt/* --exclude=*/dpkg/* --exclude=*/aptitude/* .

Dernière modification par cuicui.oizo (Le 26/03/2008, à 13:26)

Hors ligne

#3 Le 07/04/2008, à 15:33

cuicui.oizo

Re : [½ résolu] Ubuntu "DiskLess" avec partage NFS en lecture seule

cuicui.oizo a écrit :

En attendant le support officiel de aufs et/ou un meilleur support de unionfs j'ai trouvé une méthode qui fonctionne correctement. Je remonterais le sujet si Hardy s'en sort mieux que Gusty.

Le plus dur est de gérer le /var, idéalement il faut utiliser unionfs pour que le système "trouve" un /var complet (tous les répertoires, tous les fichiers kivontbien) et écrive des nouveaux fichiers / modifie les fichiers existants en RAM de manière transparente.

Le problème c'est que unionfs fait de magnifiques "segment fault"...

Je viens de voir qu'il s'agit d'un bug connu:

https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/137765

Hors ligne

#4 Le 30/06/2008, à 11:26

$@m

Re : [½ résolu] Ubuntu "DiskLess" avec partage NFS en lecture seule

ne peut on pas remplacer le nfs par du sshfs ?

Hors ligne

#5 Le 30/06/2008, à 12:02

cuicui.oizo

Re : [½ résolu] Ubuntu "DiskLess" avec partage NFS en lecture seule

$@m a écrit :

ne peut on pas remplacer le nfs par du sshfs ?

Je ne pense pas que le noyau linux puisse monter directement un système sshfs alors que pour le NFS c'est possible.

De plus, dans le fichier initramfs.conf il n'y a pas d'option pour le sshfs...

Hors ligne

#6 Le 31/07/2008, à 16:46

$@m

Re : [½ résolu] Ubuntu "DiskLess" avec partage NFS en lecture seule

sad

c'est ballot

Peut alors couper le lien NFS apres chargement ?

du genre au boot,
- fait le lien NFS
- recupere les info en RAM
- coupe le NFS
- boot sur sa ram
- se relogg en sshFS
?

merci smile

Hors ligne

#7 Le 31/07/2008, à 16:59

cuicui.oizo

Re : [½ résolu] Ubuntu "DiskLess" avec partage NFS en lecture seule

Bah déjà remonter "/" sur un autre "support" c'est toujours un peu délicat. Ensuite faudrait vérifier si les possibilités de sshfs permettent (au niveau des processus, des droits, des i/o) de faire tout ce que peut faire NFS, j'en doute...

Hors ligne