Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveur:rsync [Le 22/12/2006, 14:18]
Manu_Ubu
— (Version actuelle)
Ligne 1: Ligne 1:
-DokuWiki 
  
-<​code>​ 
-Version Hoary, Breezy 
-</​code>​ 
- 
-Rédigé par [[utilisateurs:​ostaquet]]. 
- 
-====== Mettre en place un serveur de synchronisation avec rsync ====== 
- 
-===== Introduction ===== 
- 
-D'un point de vue de l'​entreprise,​ un serveur de synchronisation est utile pour centraliser les backups sur une même machine équipée accessoirement d'un enregistreur de bande. 
- 
-Pour le particulier,​ il est intéressant (si vous avez plusieurs machines), d'​avoir un backup simple et rapide de son répertoire home. 
- 
-**rsync** est prévu à cet effet. Il peut même faire plus mais nous allons envisager dans ce tutoriel comment faire une synchronisation entre deux serveurs; un serveur de production et un serveur de centralisation des backups. 
- 
-===== Les particularités de rsync ===== 
- 
-**rsync** est un outil simple disponible sans installation particulière sous Ubuntu et existant pour divers systèmes d'​exploitation. La grande particularité de rsync est d'​optimiser la bande passante disponible en compressant les données à synchroniser et en ne transférant que les octets modifiés. 
- 
-==== Étude de cas ==== 
- 
-Pour vous donner une idée de l'​amélioration que rsync peut apporter, voici quelques tests que nous avons effectués en entreprise sur un serveur de production. 
- 
-  * Masse de données : environ 30 Go 
-  * Taux de modification des données : 1% par heure (environ 250 fichiers) 
-  * Liaison dédiée 100Mbits entre les deux serveurs. 
-  * Temps de synchronisation avec parcours de fichiers : 4h30 (du coup, on faisait que 3 synchros par jour). 
-  * Temps de synchronisation avec rsync : 22min (quand on le fait 3x par jour, maintenant, on fait 1 synchro par heure avec un temps de synchro de 10min). 
- 
-C'​était pour la petite histoire, passons maintenant à la configuration du serveur rsync. 
- 
-===== Configuration du serveur de synchronisation ===== 
- 
-Sous Breezy, aucune installation particulière n'est à effectuer. Pour Hoary, reportez vous à la section //Sous Hoary// en fin de page. 
- 
-Pour autoriser **rsync** à se lancer, il faut éditer le fichier ''/​etc/​default/​rsync''​ via la commande : 
-<​code>​ 
-sudo vi /​etc/​default/​rsync 
-</​code>​ 
- 
-et modifier la ligne RSYNC à true 
-<​code>​ 
-RSYNC_ENABLE=true 
-</​code>​ 
- 
-Ensuite, pour lancer rsync sans redémarrage avec la commande : 
-<​code>​ 
-sudo /​etc/​init.d/​rsync start 
-</​code>​ 
- 
- 
-Pour configurer **rsync**, on crée le fichier de configuration de rsync en éditant le fichier ''/​etc/​rsyncd.conf''​ via la commande : 
- 
-<​code>​ 
-sudo vi /​etc/​rsyncd.conf 
-</​code>​ 
- 
-Dans ce fichier, on introduit les informations concernant les modules. Un module est une sorte de //partage// rsync. Dans notre cas, on va créer un module nommé ''​share_rsync''​. 
- 
-<​code>​ 
-[share_rsync] 
-   path = /srv/intern 
-   ​comment = Synchro fichiers internes 
-   read only = false 
-</​code>​ 
- 
-Vous pouvez bien entendu créer plusieurs modules de synchronisation. Il existe également d'​autres mots clés à utiliser dans le fichier ''/​etc/​rsyncd.conf''​ qui permettent l'​authentification et d'​autres choses. Vous trouverez de plus amples détails en tapant : 
- 
-<​code>​ 
-man rsyncd.conf 
-</​code>​ 
- 
-//Remarque : //sous Hoary, vous devez rechercher la configuration de l'//​Internet Super Daemon//; vous trouverez plus d'​informations en fin d'​article. 
- 
-Le serveur est maintenant prêt pour recevoir les requêtes de synchronisation. 
- 
-===== Configuration du client ===== 
- 
-Les synchronisations du (ou des) client(s) peuvent se faire par le biais de la commande ''​rsync''​. La syntaxe de cette dernière est relativement simple. Voici la commande que j'​utilise : 
- 
-<​code>​ 
-rsync -raz --stats --delete /srv/intern 192.168.252.201::​share_rsync/​ 
-</​code>​ 
- 
-Avec cette commande, j'​indique que je souhaite supprimer les fichiers (option ''​--delete''​) qui ne sont plus sur la source (la source dans ce cas-ci est ''/​srv/​intern''​) et que je souhaite obtenir des statistiques quant à la vitesse de transfert (option ''​--stats''​). 
- 
-Les options clés se trouvant juste après la commande sont explicitées ci-dessous : 
-  * **''​r''​** : indique que je souhaite synchroniser le répertoire source de manière récursive. 
-  * **''​a''​** : indique que ''​rsync''​ doit travailler en mode //​archive//,​ c'​est-à-dire que les permissions et les propriétaires des fichiers sont synchronisés également. 
-  * **''​z''​** : indique à ''​rsync''​ qu'il doit utiliser la compression pour le transfert des données. 
- 
-La destination de synchronisation (notre serveur) s'​indique comme suit : 
- 
-<​code>​ 
-adresse_ip::​module/​ 
-</​code>​ 
- 
-Notez que si vous ne placez pas le ''/''​ après le module, vous allez obtenir un sous-répertoire ''​intern''​ (dans ce cas-ci) dans le répertoire définit dans le module. Ce qui peut être intéressant dans certains cas mais ce n'est pas le but ici. 
- 
-Donc, en exécutant cette commande, le répertoire ''/​srv/​intern''​ est synchronisé avec le module ''​share_rsync''​ sur le serveur ''​192.168.252.201''​. 
- 
-Sur une station de travail, on peut utiliser cette commande à chaque fois où l'on veut faire un petit backup (c'est ce que je fais à la maison) mais en entreprise, on souhaite que ces synchronisations (ou backup, comme vous voulez) soit faites à des intervalles fixes. 
- 
-Pour ce faire, nous allons configurer [[applications:​cron]] pour lancer les synchronisations automatiquement. Ceci est fait en ajoutant une ligne au fichier ''/​etc/​crontab''​. Par exemple, pour une synchronisation par heure de 7h à 22h : 
- 
-<​code>​ 
-05 7-22 * * *   ​root ​  rsync -raz --stats --delete /srv/intern 192.168.252.201::​share_rsync/​ 
-</​code>​ 
- 
-N'​oubliez pas de forcer le rechargement du ''​crontab''​ via la commande : 
- 
-<​code>​ 
-sudo /​etc/​init.d/​cron reload 
-</​code>​ 
- 
-Pour plus d'​informations concernant les configurations de cron, veuillez vous reporter à [[:​cron|cette page]]. 
- 
- 
-Si l'​adresse des fichiers à copier contient des espaces, il faut les remplacer par ? ou \ , par exemple, dans le cas de Windows avec cwrsync :  
- 
-<​code>​ 
-C:\Mes documents\ 
-</​code>​ 
-devient :  
-<​code>​ 
-/​cygdrive/​c/​Mes?​documents/​ 
-</​code>​ 
- 
-===== Sous Hoary ===== 
- 
-==== Configuration de l'​Internet Super Daemon ==== 
- 
-Sous Hoary, nous devons configurer notre //Internet Super Daemon// pour gérer les connexions entrantes **rsync**, pour ce faire, on édite le fichier ''/​etc/​inetd.conf''​ avec la commande suivante : 
- 
-<​code>​ 
-sudo vi /​etc/​inetd.conf 
-</​code>​ 
- 
-Et on y ajoute la ligne : 
-<​code>​ 
-rsync stream tcp nowait root /​usr/​bin/​rsync rsyncd --daemon 
-</​code>​ 
- 
-==== Rechargement de la configuration ==== 
- 
-Voici la commande à effectuer pour recharger le fichier de configuration de l'//​Internet Super Daemon// afin qu'il tienne compte de ''​rsync''​ : 
- 
-<​code>​ 
-sudo /​etc/​init.d/​inetd reload 
-</​code>​ 
  • serveur/rsync.1166793530.txt.gz
  • Dernière modification: Le 18/04/2011, 14:55
  • (modification externe)