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 25/02/2013, à 12:28

iGor.m

nfs, rsync et 'chown failed'

Bonjour,

Je cherche à améliorer mes sauvegardes depuis mon ordinateur de bureau sur un serveur qui est dans mon réseau local. Jusqu'ici je faisais du rsync à travers ssh :

sudo rsync -e 'ssh -l root' -azvh --progress --exclude ".gvfs" --exclude "/home/igor/Musique" --delete -s /home [serveur]:/desktop-bckup

(j'exclu .gvfs au cas où j'ai un disque distant monté, et la Musique parce que je m'en occupe de manière séparée)

J'aimerais désormais le faire en montant la destination en nfs sur mon desktop, puis en faisant un rsync en 'local'. J'y arrive presque, mais quand je passe la commande rsync, elle me renvoie une erreur de chown, pour des raisons de permissions. (Le but au final étant de le faire dans un script).

Sur le serveur, (qui est sous fedora), dans /etc/exports, j'ai :

/repertoire/a/partager       ip-desktop(rw,no_root_squash,anonid=1000,anongid=1000,sync)

Je monte le répertoire :

sudo mount -t nfs4 [ip-serveur]:/repertoire/a/partager/ /media/igor/bckup/

et je synchronise :

sudo rsync -azvh --progress --exclude ".gvfs" --exclude "/home/igor/Musique" --delete -s /home /media/igor/bckup

j'obtiens une longue liste de

rsync: chown "chemin/vers/fichier" failed: Invalid argument (22)

Je pense que c'est une histoire de permission. J'avoue qu'avec le fait de monter en nfs je trouve compliqué à suivre les histoires de permissions. j'ai essayé en modifiant /etc/exports sur le serveur (all_squash / no_root_squash / root_squash ), et je ne vois pas bien la différence.
En fait, c'est rsync qui n'a pas le droit de modifier le propriétaire et les permission sur le disque de destination quand il est monté via nfs, c'est ça ?


Sur Ubuntu depuis décembre 2009, et sous debian depuis avril 2013
Asus Vintage V7 - P8H61E - Intel® Core™ i3-2130 CPU @ 3.40GHz × 4 - 8Go RAM (dont 6 jamais utilisées :( ) - Debian Wheezy (64 bits) - Gnome 3.4
Lenovo Thinkpad X100E 3508-5GG - AMD Turion X2 Ultra Dual-Core 1.60GHz - 3Go RAM - Debian Wheezy (Xcfe)

Hors ligne

#2 Le 25/02/2013, à 13:22

Maisondouf

Re : nfs, rsync et 'chown failed'

Oui, c'est ça.
Peut-être qu'il faut qu'il y ait un user sur le serveur avec le même uid:gid.
Peut-être que l'utilisateur 'rsync' du serveur (le deamon) n'a pas le droit d'utiliser 'chown'.

EDIT:
Bizarre quand je veux reproduire ton partage NFS

/srv/test 192.168.0.0/255.255.255.0(rw,no_root_squash,anonid=1000,anongid=1000,sync)

mon serveur braille un message d'erreur:

service nfs-kernel-server restart
 * Stopping NFS kernel daemon                                                   [ OK ] 
 * Unexporting directories for NFS kernel daemon...                [ OK ] 
 * Exporting directories for NFS kernel daemon...                     exportfs: /etc/exports:4: unknown keyword "anonid=1000"        [fail]

RE-EDIT: c'est "anonuid" avec un 'u', j'avais copié ta ligne dans mon exports.
Le problème est peut-être là.

Dernière modification par Maisondouf (Le 25/02/2013, à 13:33)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#3 Le 25/02/2013, à 13:48

Maisondouf

Re : nfs, rsync et 'chown failed'

J'ai reproduis le problème (sans rsync) à la main.
Sur le serveur j'ai un répertoire que j'ai volontairement mis en 777

root@opti745:~# ls -ld /srv/test
total 16
drwxrwxrwx  2 root root 4096 févr. 25 12:24 test
root@opti745:~# 

Je l'exporte avec tes paramètres:

/srv/test 192.168.0.0/255.255.255.0(rw,no_root_squash,anonuid=1000,anongid=1000,sync)

Je le monte dans un répertoire sous /media

papounet@amd8papou:~$ sudo mount -t nfs4 192.168.0.8:/srv/test /media/test-nfs
papounet@amd8papou:~$ ls -l /media
total 8
drwxr-xr-x 2 root root 4096 juil.  7  2012 cdrom
drwxrwxrwx 2 root root 4096 févr. 25 12:24 test-nfs

Donc le répertoire est bien en écriture pour tous, mais là où ça coince c'est quand on crée quelque chose dedans.

papounet@amd8papou:~$ mkdir /media/test-nfs/test1
papounet@amd8papou:~$ ls -l /media/test-nfs/
total 4
drwxrwxr-x 2 nobody nogroup 4096 févr. 25 12:36 test1
papounet@amd8papou:~$ chown 1000:1000 /media/test-nfs/test1
chown: modification du propriétaire de «/media/test-nfs/test1»: Argument invalide
papounet@amd8papou:~$ sudo chown 1000:1000 /media/test-nfs/test1
[sudo] password for papounet: 
chown: modification du propriétaire de «/media/test-nfs/test1»: Argument invalide
papounet@amd8papou:~$ ls -l /media/test-nfs/
total 4
drwxrwxr-x 2 nobody nogroup 4096 févr. 25 12:36 test1
papounet@amd8papou:~$ 

Le répertoire crée est bloqué sur nobody:nogroup....


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#4 Le 25/02/2013, à 14:44

iGor.m

Re : nfs, rsync et 'chown failed'

Merci de ton retour et de tes tests.
L'erreur de anonid à la place de anonuid, c'est en tapant à la main dans le forum, dans /etc/exports c'est bien anonuid...

Chez moi dès que je veux aller dans /media/igor/bckup et que je fais un ls, j'ai nobody nogroup :

igor@asus:~$ sudo mount -t nfs4 [serveur]:/desktop-bckup/ /media/igor/bckup/
[sudo] password for igor: 
igor@asus:~$ ls -lh /media/igor/bckup/
drwx------ 164 nobody nogroup  12K févr. 18 21:49 etc
drwxr-xr-x   5 nobody nogroup 4,0K févr. 21 07:19 home

En réalité pour mon script, j'aimerais faire tout ça en root, mais ça ne change pas le problème :

igor@asus:~$ su -
Mot de passe : 
root@asus:~# mount -t nfs4 [serveur]:/desktop-bckup/ /media/igor/bckup/
root@asus:~# ls -lh /media/igor/bckup/
drwx------ 164 nobody nogroup  12K fév 18 21:49 etc
drwxr-xr-x   5 nobody nogroup 4.0K fév 21 07:19 home

Comme je voudrais utiliser rsync pour une sauvegarde, j'aimerais conserver propriétaire, groupe et permissions. Si je ne le fais pas, alors il n'y a bien sûr pas d'erreur chmod...


Sur Ubuntu depuis décembre 2009, et sous debian depuis avril 2013
Asus Vintage V7 - P8H61E - Intel® Core™ i3-2130 CPU @ 3.40GHz × 4 - 8Go RAM (dont 6 jamais utilisées :( ) - Debian Wheezy (64 bits) - Gnome 3.4
Lenovo Thinkpad X100E 3508-5GG - AMD Turion X2 Ultra Dual-Core 1.60GHz - 3Go RAM - Debian Wheezy (Xcfe)

Hors ligne

#5 Le 25/02/2013, à 15:12

Maisondouf

Re : nfs, rsync et 'chown failed'

Oui, je comprends, mais je ne sais pas si c'est pas une des limites du montage NFS..
Le montage en sftp ne pose pas ce problème.

EDIT: tu as toujours la possibilité de lancer une commande après backup en ssh pour faire le chown de la totalité du backup

Dernière modification par Maisondouf (Le 25/02/2013, à 15:15)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#6 Le 25/02/2013, à 15:19

iGor.m

Re : nfs, rsync et 'chown failed'

J'ai essayé d'aller voir le man d'exports, mais je ne parviens pas à bien comprendre : http://www.man-linux-magique.net/man5/exports.html

L'enquête continue. Merci de ton aide tout de même. En fait je voulais passer par nfs pour éviter de rentrer un psswd dans un script, et parce que si j'ai bien compris en terme d'efficacité c'est quand même mieux, d'autant que je reste derrière ma box...


Sur Ubuntu depuis décembre 2009, et sous debian depuis avril 2013
Asus Vintage V7 - P8H61E - Intel® Core™ i3-2130 CPU @ 3.40GHz × 4 - 8Go RAM (dont 6 jamais utilisées :( ) - Debian Wheezy (64 bits) - Gnome 3.4
Lenovo Thinkpad X100E 3508-5GG - AMD Turion X2 Ultra Dual-Core 1.60GHz - 3Go RAM - Debian Wheezy (Xcfe)

Hors ligne

#7 Le 25/02/2013, à 15:45

Maisondouf

Re : nfs, rsync et 'chown failed'

En changeant l'export avec no_all_squash, le résultat est un peu bizarre.

/srv/test 192.168.0.0/255.255.255.0(rw,no_all_squash,anonuid=1000,anongid=1000,sync)

Une fois monté je peux créer un fichier sur le montage NFS

echo "toto"> /media/test-nfs/titi2

mais si je regarde dans le répertoire, ce n'est pas le même résultat vu du PC

papounet@amd8papou:~$ ls -l /media/test-nfs/
total 8
-rw-rw-r-- 1 nobody nogroup 5 févr. 25 14:31 titi
-rw-rw-r-- 1 nobody nogroup 5 févr. 25 14:38 titi2
papounet@amd8papou:~$ 

ou vu du serveur...

root@opti745:~# ls -l /srv/test
total 8
-rw-rw-r-- 1 alain alain 5 févr. 25 14:31 titi
-rw-rw-r-- 1 alain alain 5 févr. 25 14:38 titi2
root@opti745:~# 

Cela veut dire que l'option a bien fonctionné puisque les fichiers sont bien propriété du user 1000, mais que coté PC on voit toujours nobody...


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#8 Le 25/02/2013, à 15:53

Maisondouf

Re : nfs, rsync et 'chown failed'

En fait les anonuid et anongid ne servent à rien...si l'export est fait comme ça:

/srv/test 192.168.0.0/255.255.255.0(rw,no_all_squash,anonuid=1999,anongid=1999,sync)

Le fichier crée depuis le PC aura toujours l'uid du user du PC

papounet@amd8papou:~$ echo "toto"> /media/test-nfs/titi3
papounet@amd8papou:~$ 

et sur le serveur:

root@opti745:~# ls -ln /srv/test
total 4
-rw-rw-r-- 1 1000 1000 5 févr. 25 14:51 titi3
root@opti745:~# 

ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#9 Le 25/02/2013, à 16:03

iGor.m

Re : nfs, rsync et 'chown failed'

Pour autant, il n'est pas possible de modifier le propriétaire de titi2 depuis le PC (client) : argument invalide.


Sur Ubuntu depuis décembre 2009, et sous debian depuis avril 2013
Asus Vintage V7 - P8H61E - Intel® Core™ i3-2130 CPU @ 3.40GHz × 4 - 8Go RAM (dont 6 jamais utilisées :( ) - Debian Wheezy (64 bits) - Gnome 3.4
Lenovo Thinkpad X100E 3508-5GG - AMD Turion X2 Ultra Dual-Core 1.60GHz - 3Go RAM - Debian Wheezy (Xcfe)

Hors ligne

#10 Le 25/02/2013, à 16:23

iGor.m

Re : nfs, rsync et 'chown failed'

Toujours avec la même option 'no_all_squash' j'ai fait ce qui suit :
sur le PC

igor@asus:~$ echo "tata" > /home/igor/Bureau/tutu.txt
igor@asus:~$ su -
Mot de passe : 
root@asus:~# rsync -azvh --progress --exclude ".gvfs" --exclude "/home/igor/Musique" --delete -s /home/igor/Bureau /media/igor/bckup/home/igor/
sending incremental file list
Bureau/
rsync: chown "/media/igor/bckup/home/igor/Bureau" failed: Invalid argument (22)
deleting Bureau/toto/
deleting Bureau/titi.txt
Bureau/tutu.txt
           5 100%    0.00kB/s    0:00:00 (xfer#1, to-check=128/130)

et ensuite une longue suite de 'Invalid argument'. MAIS tutu.txt a bien été synchronisé et sur le serveur :

[root@serveur1 ~]# ls -lh /desktop-bckup/home/igor/Bureau/
total 12K
drwxrwxr-x. 5 1000 1000 4,0K févr. 23 16:20 fromLaaNar
drwxr-xr-x. 2 root root 4,0K févr. 25 14:01 toto2
-rw-------. 1 1000 1000    5 févr. 25 15:13 tutu.txt

on peut voir que le fichier tutu.txt a le bon propriétaire et permissions.
Pourquoi lui et pas les autres ?


Sur Ubuntu depuis décembre 2009, et sous debian depuis avril 2013
Asus Vintage V7 - P8H61E - Intel® Core™ i3-2130 CPU @ 3.40GHz × 4 - 8Go RAM (dont 6 jamais utilisées :( ) - Debian Wheezy (64 bits) - Gnome 3.4
Lenovo Thinkpad X100E 3508-5GG - AMD Turion X2 Ultra Dual-Core 1.60GHz - 3Go RAM - Debian Wheezy (Xcfe)

Hors ligne

#11 Le 25/02/2013, à 16:52

Maisondouf

Re : nfs, rsync et 'chown failed'

il faut enlever les options 'g' et 'o' de rsync


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne