Forum Linux.debian/ubuntu système de sauvegarde automatique de données

Posté par  (site web personnel) .
Étiquettes :
0
18
avr.
2007
Bonjour,

je gère un serveur web sous debian 3.1 qui héberge de nombreux site.

Je voudrais mettre en place un sytème de sauvegarde automatique en temps réel (ou avec un petit décalage dans le temps) des données stockées sur ce serveur web (qui est aussi un serveur de fichiers). Je voudrais que la sauvegarde s'effectue sur un ordinateur pc, mis à part à cet effet. Comment réaliser cela? Avez vous de meilleures idées?

Merci
  • # tres bon sujet

    Posté par  . Évalué à 1.

    bonjour,

    c'est un tres bon sujet , je le suivrai jusqu'au bout, j'espère qu'il y aura des participation.

    ciao
  • # rsync est ton ami...

    Posté par  . Évalué à 2.

    Bonjour,

    rsync est ce qui me vient en premier dans ton cas comme possiblité de sauvegarde "en temps réel'.

    par exemple, un job cron de ce type:

    rsync -aqz

    exécuté régulièrement.
  • # Sauvegarde

    Posté par  (site web personnel) . Évalué à 3.

    Tu veux des sauvegardes complètes ? Genre avec amanda.

    Ou est-ce que tu veux des snapshots réguliers du système de fichier ? Avec lvm snapshot.

    Ou est-ce que tu veux une redondance du systeme de fichier ? genre avec ocfs, ou du raid 1 ?

    Est-ce que tu veux une copie permanente du système de fichier ? genre en faisant un raid 1 avec un nbd (mauvaise idée mais c'est pour la citer).

    Est-ce que tu veux un synchro régulière de 2 machines ? avec rsync (+crontab pour une synchro régulière, +inotifywait pour une synchro par evenement)

    Autre ?
    • [^] # Re: Sauvegarde

      Posté par  (site web personnel) . Évalué à 2.

      Bonjour,

      pourrais-tu expliquer pourquoi la solution nbd est une mauvaise idée ? Personnellement, je pensais à DRBD comme solution possible...

      Merci
      • [^] # Re: Sauvegarde

        Posté par  (site web personnel) . Évalué à 2.

        C'est une mauvaise solution pour des questions de perfs.
        Le raid1 va être ralenti par le réseau en permanence car il n'a pas été pensé pour cette situation, les perfs vont s'écrouler.

        Gfs et ocfs2 sont des "équivalent" bien plus efficaces (qui utilisent drbd).
  • # quels logiciels doivent être installés? Où et comment?

    Posté par  (site web personnel) . Évalué à 1.

    Merci pour vos réponses.Je voudrais en fait que l'ordinateur pc copie automatiquement et très régulièrement la partition /var de mon serveur web, car c'est dans cette partition que sont stockés les sites web hébergés et les fichiers des utilisateurs. L'ordinateur pc a la même configuration logicielle que le serveur web (debian 3.1, apache, même système de fichiers, etc ...).

    Phlippe Guillaumaud me propose la commande suivante: rsync -aqz et Peck me cite des technologies, mais j'ai besoin de plus d'informations. Je voudrais savoir quels logiciels doivent être installés sur les 2 ordinateurs, et où? Les éventuelles configurations, etc.

    Merci
    • [^] # Re: quels logiciels doivent être installés? Où et comment?

      Posté par  (site web personnel) . Évalué à 1.

      Sur le PC serveur : tu installes NFS client et rsync.
      Sur le PC de sauvegarde, tu installes NFS serveur.

      Tu partages un répertoire de sauvegarde sur le PC de sauvegarde.
      Tu montes (en indiquant le répertoire dans le /etc/fstab) le répertoire sur le pc serveur.

      Tu fais un petit script qui contient la ligne pour rsync, plus éventuellement la génération d'un log.
      Tu lances ce script à intervalle régulier sur le PC serveur via cron.

      Ca synchronisera à intervalle régulier le répertoire /var avec le répertoire de sauvegarde, sur le PC serveur.
      Mais ça chargera le PC serveur.

      Solution autre :
      tu fais l'inverse. Tu montes en lecture seule le /var sur le pc de sauvegarde comme un disque réseau. Le script de sauvegarde se lance à intervalle régulier sur le PC de sauvegarde pour faire : rsync "repertoire /var monté via NFS" "repertoire de sauvegarde".
      Dans ce cas, le NFS serveur est sur le PC serveur et le NFS client sur le PC de sauvegarde.
      • [^] # Re: quels logiciels doivent être installés? Où et comment?

        Posté par  . Évalué à 3.

        Pourquoi NFS ????

        rsync s'utilise a travers le reseau si tu le lance en daemon coté serveur web, et dans ce cas rsync ne fera transiter que les datas modifiées (copie incrémentale) alors que si rsync accede au serveur a travers NFS il devra lire a travers le reseau le fichier complet pour trouver quels morceaux synchroniser ....

        rsync est une bonne solution, mais ne rajoute pas de NFS au milieu.
    • [^] # Re: quels logiciels doivent être installés? Où et comment?

      Posté par  (site web personnel) . Évalué à 1.

      http://www.debianhelp.co.uk/rsync.htm

      Cet article en langue anglaise explique tout.
    • [^] # Re: quels logiciels doivent être installés? Où et comment?

      Posté par  (site web personnel) . Évalué à 1.

      Je veux bien détailler un peu plus une solution, mais pour savoir laquelle, il faudrait connaître un peu mieux ton besoin.

      Veux-tu une redondance pour récupérer instantanément en cas de crash ? Veux-tu une sauvegarde pour en cas de bêtise sur le serveur ?

      Le rsync est très bien pour le 2e cas, pour le premier aussi, mais il y a mieux. Car un rsync est assez gourmand (surtout si ton arborescence est grande). Ce qui veut dire que régulièrement sera de l'ordre de l'heure (et attention aux rsync simultanés ...).

      Veux-tu résister au crash de la machine elle-même ou seulement du disque dur ? En combien de temps veux-tu pouvoir restaurer le serveur ? As-tu une ou plusieurs autres machines à disposition ?
      • [^] # Re: quels logiciels doivent être installés? Où et comment?

        Posté par  (site web personnel) . Évalué à 1.

        Merci à tous pour vos réactions.
        Ce que je voudrais en fait, c'est avoir un serveur web de secours qui puisse immédiatement (en 5 minutes ou moins) être mis en service en cas de crash du serveur atitré. Il suffira dans ce cas de seulement changer peut-être l'adresse ip du serveur de secours pour qu'il puisse fonctionner en tant que serveur web principal.

        Par ailleurs, ce serait bien aussi de pouvoir avoir une sauvegarde que l'on peut restaurer facilement, car les 2 serveurs peuvent crasher l'un après l'autre ... le risque n'est pas nu et existel!!
        • [^] # Re: quels logiciels doivent être installés? Où et comment?

          Posté par  (site web personnel) . Évalué à 1.

          Attention aux bases de données.

          Si ton serveur web utilise des bases mysql par exmple la récupération peut être un peu moins évidente.

          Supposons qu'il n'y ait pas de serveur mysql.
          Dans ce cas la solution la plus simple est celle du rsync proposée précédemment. Elle est très simple à mettre en place et te permet d'avoir un serveur immédiatement disponible. Elle a le petit inconvénient d'avoir un décalage parfois un peu long dans le temps et d'être gourmande en resources si ton serveur héberge une très grande quantité de fichiers.

          Pour ne pas faire de rsync inutilement et pour être plus rapidement à jour, tu peux coupler rsync a un évenement inotifywait (il faut savoir coder un peu en shell) à la place de cron.


          Par la suite, pour les sauvegarde, utilise quelque chose en plus comme backuppc (voir plus bas) ou amanda, qui te permettra aussi de récupérer d'anciennes versions des fichiers hébergés (en cas de boulette :-)


          Pour ce qui est de la réflexion sur le fait que le 2e serveur peut casser aussi, note que ton serveur de backup peut aussi casser et qu'il faut donc lui aussi le sauvegarder. C'est sans fin et c'est a toi de placer la limite.
        • [^] # Re: quels logiciels doivent être installés? Où et comment?

          Posté par  . Évalué à 1.

          (re)Bonjour,

          Si tu veut pouvoir mettre en route le serveur de backup le plus rapidement possible, regarde plutôt du coté des solutions de Haute Disponibilité, ca répond mieux à ton besoin qu'une "simple" sauvegarde.

          Voici un premier lien sur une install de ce genre basée sur Debian:

          http://www.supinfo-projects.com/fr/2006/ha_fr/1/
    • [^] # Re: quels logiciels doivent être installés? Où et comment?

      Posté par  . Évalué à 1.

      Il y aussi "rsnapshot" qui est un script perl basé sur rsync.
      Il permet :
      - de sauvegarder des fichiers distants
      - de garder les versions precedentes des fichiers modifiés en n'utilisant de l'espace disque que pour les fichiers réellement modifiés (utilisation de liens "durs")

      Juste un détail : rsnapshot doit tourner sur la machine qui stocke les sauvegardes.

      Pour l'installer sur debian:
      apt-get install rsnapshot

      La configuration se fait ensuite par le fichier /etc/rsnapshot.conf

      Un petit HOWTO:
      http://www.rsnapshot.org/howto/1.1/rsnapshot-HOWTO.fr.html
    • [^] # Re: quels logiciels doivent être installés? Où et comment?

      Posté par  . Évalué à 1.

      Rsync c'est bien mais ca permet surtout de faire une copie à un temps t de ton /var . Maintenant si tu veux retrouver un fichier dans sa version d'il y a 7 jours c'est moins pratique/simple.
      Pour faire des sauvegardes régulières de tes fichiers et pouvoir les retrouver tels qu'ils etaient un certain nombre de jours auparavant je te conseille le fameux Backuppc ( http://backuppc.sf.net ) qui est notamment packagé pour Debian.
      Son interface pour la restauration des fichiers est super simple (tu cliques sur le jour souhaité, tu naviges dans ton arborescence et tu selectionnes le ou les fichiers que tu veux restaurer) et sa configuration pour sauvegarder regulierement des fichiers sous Linux est simple.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.