IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Backup base 400Go journalier


Sujet :

Administration MySQL

  1. #1
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut Backup base 400Go journalier
    Bonjour,

    Je travaille sur une base de donnée sur innodb.
    Elle contient une petite table utilisateur de 10-15 millions de lignes et 2 tables de 2-3 milliards de lignes de log.
    Chaque ligne de log a une clef étrangère vers la table utilisateur.

    Chaque ligne de log est écrite une fois, et supprimée 1 an plus tard.
    Bilan, une base de 400 GO de données + les index.

    Quel conseils pouvez-vous nous donner pour effectuer nos backup quotidiens de toute la base.

    Le dump simple avec mysql dump est assez long, et si on fait un mysqldump |gzip c'est ultra lent.
    Durant l'export, nous ne pouvons plus ajouter de nouvelles données, ce qui ne peut pas durer trop longtemps.

    Qu'en pensez-vous ?

    Pierre
      1  0

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 344
    Points : 18 919
    Points
    18 919
    Par défaut
    Salut pmithrandir.

    Citation Envoyé par pmithrandir
    Quel conseils pouvez-vous nous donner pour effectuer nos backup quotidiens de toute la base.
    Déjà, je ne ferai pas de backup journalier. Vu la volumétrie que vous avez, c'est trop long à faire, et pénalisant pour les autre utilisateurs.

    Quelques réflexions :

    1) Si j'ai bien compris, on insère une ligne log dans la table et celle-ci n'est plus jamais modifié, sauf un an après où elle est détruite.
    Pourquoi ne pas créer des partitions par semaine ou par jour sur votre tables log ?
    Ainsi la sauvegarde se ferai une fois par semaine (ou par jour), mais uniquement sur la dernière partition (la partition courante).
    Cela vous ferai gagner énormément de temps car la volumétrie serai 52 fois moins importante pour une périodicité hebdomadaire ou 365 fois moins pour une périodicité journalière.

    2) Je n'utiliserai pas les outils mysql pour faire une sauvegarde, mais plutôt un utilitaire spécialisé dans le backup.
    Sous Windows , j'utilise ACRONIS. Sur ce qui se fait de mieux, il faudra chercher sur le net. Je ne suis pas du tout au courant des dernières innovations.

    Je procéderai soit à la sauvegarde de la partition (voir §1), soit à la sauvegarde de la totalité du répertoire, c'est-à-dire de la base de données.
    En général, avec ce genre d'utilitaire, c'est plus rapide, surtout si vous utilisez USB type 3.

    3) Une sauvegarde, pour quoi faire ? Au cas où le disque dur viendrait à planter ? Ou y-a-t-il une autre raison à cela ?

    Il faudrait alors investir dans du matériel, pour mettre en oeuvre la technologie RAID afin d'avoir une tolérance de panne.
    Autrement dit, j'utiliserai le mirroring en doublant mes disques durs.

    De ce principe, la sauvegarde n'est plus utile, car il est extrêmement rare que les deux disques durs tombent en panne le même jour.
    Si un disque tombe en panne, vous pouvez continuer de travailler, et il est extrêmement facile de le remplacer.
    Il y a juste une procédure de mise à niveau à faire pour avoir l'image exacte de votre disque en mirroring.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr
      0  2

  3. #3
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Bonjour,

    Merci pour cette réponse détaillée.

    La sauvegarde par partition n'a pas l'air d'aller de soit sur mysql. c'est vrai que le cas est rare ou l'on ne modifie plus les données passées.

    Nous devons effectuer une sauvegarde pour plusieurs raison. En cas de plantage bien sur(même si d'autres solution existe comme la redondance de disque voir de serveur, avec de la réplication) mais aussi pour prévenir les erreurs humaines.

    Si quelqu'un nous fait un delete avec le mauvais paramètre, nous ne voulons pas perdre définitivement 1 an de donnée et ne plus pouvoir faire fasse à nos obligation légales.

    Nous sommes en train d'étudier xtrabackup ainsi que d'autres solutions basées sur du mysqldump + pigs(compression multi CPU) ou une sauvegarde à froid a base de tar.

    Merci pour ton aide en tout cas, ca m'a permis d'en savoir plus et de faire avancer notre problématique.

    Pierre
      1  0

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Citation Envoyé par pmithrandir Voir le message
    Durant l'export, nous ne pouvons plus ajouter de nouvelles données, ce qui ne peut pas durer trop longtemps.
    Oui mysqldump n'est pas vraiment un outil de backup, cependant vous pouvez peut être regarder du côté de l'option single-transaction
    Mais je ne sais pas ce que ça peut donner avec une forte activité parallèle.

    Vous pouvez aussi regarder du côté de MySQL Enterprise Backup pour un véritable outil de backup, mais il faut payer une licence...

    Sinon avec des outils de backup du system complet comme avec la virtualisation, mais je ne m'y connais absolument pas en admin system.

    Citation Envoyé par Artemus24 Voir le message
    Il faudrait alors investir dans du matériel, pour mettre en oeuvre la technologie RAID afin d'avoir une tolérance de panne.
    Autrement dit, j'utiliserai le mirroring en doublant mes disques durs.
    De ce principe, la sauvegarde n'est plus utile, car il est extrêmement rare que les deux disques durs tombent en panne le même jour.
    Et si le serveur brûle ?
      1  0

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 344
    Points : 18 919
    Points
    18 919
    Par défaut
    Salut skuatamad.

    Un backup pour quoi faire ? C'est ça, la véritable question que l'on doit se poser.

    Le problème de l'intégrité de ta base de données, peut avoir plusieurs causes.
    --> plantage système à cause d'une coupure de courant.
    --> mauvaise manipulation de la base de données.
    --> ...

    Un backup, pour revenir à une situation stable, je veux bien.
    Mais il faudrait identifier la nature du problème qui provoque ce problème d'intégrité.

    Envisager d'investir dans un onduleur pour se protéger contre les micro-coupures, voir la grosse panne d'électricité.
    Si le problème vient des mauvaises manipulations, dans le cadre de votre application, il faudrait revoir entièrement sa conception.
    Si le problème vient de la maintenance, il faudrait mettre en oeuvre des procédures plus fiables.

    Dans mon cas, le backup est plus en cas de plantage de mon matériel, d'où ma réponse "la tolérance de panne".
    Si un disque dur plante, il en reste toujours un en fonction (montage en mirroring), ce qui permet de ne pas faire de backup.

    Mais je n'ai jamais dit qu'il ne fallait pas faire de backup, mais procéder à un backup quotidien, c'est un peu trop à mon avis.
    Encore que 'pmithrandir', ne nous à pas expliquer s'il faisait un backup complet, différentiel ou incrémentiel.

    Logiquement, je ferai un backup complet le vendredi, et plutôt un différentiel les autres jours de la semaine.
    Cela dépend aussi de la volumétrie et du temps nécessaire pour restaurer votre système.
    On part du principe que la restauration est exceptionnelle. De ce fait, on optimise le temps de la sauvegarde et non celle de la restauration.

    Citation Envoyé par skuatamad
    Et si le serveur brûle ?
    Qu'est-ce que tu entends par serveur ? Si c'est juste la carte mère, il suffit de la changer.
    Réparer le serveur, cela ne va pas se faire en quelques heures, mais plutôt en quelques jours.
    Il faut acheter la carte mère avec les difficultés si elle ne se fait plus, puis installer et configurer à nouveau le serveur.

    Si les disques durs sont atteints, lorsque ton serveur brûle, c'est bien plus grave.
    Une solution consiste à ne pas les mettre dans la carcasse de ton serveur mais de les monter en réseau.
    On peut aussi envisager de répartir les données sur plusieurs serveurs dédiés, sur plusieurs sites distants ...

    Il existe des tas de solutions. Le seul problème concerne ton porte-monnaie et ce que tu veux faire au final.
    Bon, je crois que l'on s'écarte grandement de la question posée.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr
      0  3

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 792
    Points : 34 013
    Points
    34 013
    Billets dans le blog
    14
    Par défaut
    Logiquement, je ferai un backup complet le vendredi, et plutôt un différentiel les autres jours de la semaine.
    Cela dépend aussi de la volumétrie et du temps nécessaire pour restaurer votre système.
    Idée à creuser...

    Extraction dans une autre BDD des données nouvelles ou mises à jour dans la journée par un simple SELECT , sauvegarde de cette base de données étiquetée à la date du jour puis vidage de la BDD de sauvegarde.
    Ainsi, au lieu de sauvegarder 400 Go, on ne sauvegarde que le volume de la journée.

    Bien entendu, prévoir de suite le programme de restauration de l'intégralité de la BDD en cas de plantage complet et BDD de production irrécupérable ! Ça prendra du temps mais automatisé et testé au préalable sur un environnement de développement, ça peut quand même aller assez vite.

    S'il n'y a pas de log le week-end, vous pouvez du coup lancer une sauvegarde complète chaque week-end et jeter les fichiers de sauvegarde de la semaine, ce qui devrait optimiser l'éventuelle reprise des données à partir des sauvegardes.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !
      1  0

  7. #7
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Bonjour,

    Nous avançons toujours sur cette question.
    Nous avons écarté la solution proposée par cinéphile car elle met trop de temps a se remettre en place.

    Reste possible :
    - Tar|pigz de notre volume de donnée base arrêtée.
    - mysqldump|pigz base allumée.
    - xtrabackup pour des sauvegarde différentielle.

    Je sais que je dois faire un backup, surtout pour prévenir l'erreur humaine. (le delete bourrin). Mais aussi l'erreur de dev. On a des script par exemple qui purge une partie de la base tous les jours... on ne voudrait pas ne pas avoir de solution de secours en cas d'erreur.

    Pour le moment, c'est notre débit disque qui nous limite, on plafonne a 65MO/ sec, on regarde en interne ce qu'on a de plus puissant.

    notre environnement est virtualisé et les disque sont sur des montages réseaux.
      1  0

  8. #8
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 344
    Points : 18 919
    Points
    18 919
    Par défaut
    Salut à tous.

    Citation Envoyé par cinephil
    Idée à creuser...
    Si l'idée est celle du différentielle, je suis d'accord avec toi. Il y a des logiciels qui le fond mieux que toi, alors pourquoi ne pas les utiliser.

    Citation Envoyé par cinephil
    Extraction dans une autre BDD des données nouvelles ou mises à jour dans la journée par un simple SELECT , sauvegarde de cette base de données étiquetée à la date du jour puis vidage de la BDD de sauvegarde.
    Désolé de le dire, mais c'est du bricolage ce que tu proposes. De plus, cela risque de prendre trop de temps. Et si le disque vient à cramer, tu perds la base de données et la sauvegarde.

    Citation Envoyé par pmithrandir
    Nous avons écarté la solution proposée par cinéphile car elle met trop de temps à se remettre en place.
    La solution n'est pas applicative. Il faut investir dans un logiciel faisant un backup, ainsi que dans des disques externes.

    Citation Envoyé par pmithrandir
    Je sais que je dois faire un backup, surtout pour prévenir l'erreur humaine. (le delete bourrin). Mais aussi l'erreur de dev. On a des script par exemple qui purge une partie de la base tous les jours... on ne voudrait pas ne pas avoir de solution de secours en cas d'erreur.
    Si la suppression vous pose un grave problème, alors ne faite pas de suppression physique mais juste logique.
    Il suffit d'ajouter une colonne de nom "erase" qui vous indiquera si la ligne est supprimée "logiquement" ou pas. Seul problème est la volumétrie, ainsi que la périodicité de vos purges physiques.

    Je pense que nous avons fait le tour de la question. Je ne sais pas quoi dire d'autre en complément de ce qui a été soulevé.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr
      0  3

  9. #9
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 676
    Points : 2 010
    Points
    2 010
    Par défaut
    Si la contrainte est une sauvegarde par jour, seuls les logs de transactions peuvent être sauvegardés quotidiennement, d'autant qu'il ne doit pas y avoir 400Go de mise à jour.
    Une sauvegarde complète à chaud mais basculant les bases en lectures seules peut alors être planifiée de manière hebdomadaire.

    Sinon une sauvegarde ne coupant que brièvement le service doit être regardée du coté de LVM.

    Si le serveur ne peut être coupé, il faut envisager une réplication des données sur un autre serveur de même calibre (mais qui n'aura à traiter que les requêtes de mise à jour).
    Les sauvegardes pouvant alors être faites depuis ce serveur.
    Ce serveur esclave présente l'avantage supplémentaire de pouvoir être basculé en mode maitre en cas d'indisponibilité du serveur principal, pour assurer la continuité du service.
    Attention, ce point doit être planifié dès l'origine.
    La joie de l'âme est dans la planification -- Louis Hubert Liautey
      1  0

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 716
    Points : 52 380
    Points
    52 380
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par pmithrandir Voir le message
    Le dump simple avec mysql dump est assez long, et si on fait un mysqldump |gzip c'est ultra lent.
    Durant l'export, nous ne pouvons plus ajouter de nouvelles données, ce qui ne peut pas durer trop longtemps.

    Qu'en pensez-vous ?

    Pierre
    Changez de SGBD !

    MySQL en est à l'age de pierre au niveau de l'admin en générale et des sauvegardes en particulier... En effet ce ne sont pas des sauvegardes qui sont effectuées mais des "dump"... Subtile, mais importante différence. Une sauvegarde est une copie binaire du contenue de la base. Un "dump" est une copie des données SQL et comporte deux parties :
    • le DDL pour la création des objets de la base (CREATE, ALTER...)
    • le DML constitué d'INSERTs pour remettre les données en place

    Cette technique est extrêmement couteuses en terme de ressources (blocae impératif de toutes les tables de la base pour garder l'intégrité) et très longue pour extraire les données (et même les métadonnées car MySQL a la particularité de ne pas stocker les métadonnées de la base dans des tables système et doit réintérroger toutes la base à chaque demande de méta données.

    Seule une sauvegarde binaire permettrait d'aller plus vite et de na pas bloquer =>MySQL Enterprise Backup qui permet la compression à la volée et donc des gains de temps considérable (réduction du volume à écrire => plus rapide !)

    Dans d'autres SGBDR comme SQL Server il est possible de lancer la sauvegarde sur plusieurs fichiers en parallèle. La sauvegarde est alors écrites par plusieurs threads, un par fichier et avec la compression cel permet d'aller très très vite.
    Pour information, un de mes clients met en moyenne 1h pour la sauvegarde de sa sbase qui fait plus de 1 To....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
      1  1

  11. #11
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 344
    Points : 18 919
    Points
    18 919
    Par défaut
    Salut à tous.

    Citation Envoyé par SQLPRO
    Changez de SGBD !
    Quand on a le choix du SGBD, oui c'est une solution. Mais la plupart du temps, chez le client, il y a déjà un existant, alors on fait avec.

    Citation Envoyé par SQLPRO
    En effet ce ne sont pas des sauvegardes qui sont effectuées mais des "dump"... Subtile, mais importante différence.
    La bonne terminologie est le 'backup". Il s'agit de recopier physiquement (ou binaire comme tu dis) les données depuis un disque vers un autre support.
    Quand on parle de sauvegarde, par l'intermédiaire de l'export (de phpmyadmin), ce n'est que la recopie sous forme de texte, du DDL et du DML en vue de reconstituer les bases de données, voire de les déplacer d'un hébergeur vers un autre.

    Ce sont des utilitaires (les backup) qui sont indépendants des applications et en général, on fait un backup complet du disque dur à une date donnée.
    Je suis d'accord avec toi sur tes propos tenus.

    Mais quand je dis :
    Citation Envoyé par Artemus24
    Un backup pour quoi faire ? C'est ça, la véritable question que l'on doit se poser.
    je pense que personne ne m'a compris. La bonne réponse, c'est la tolérance de panne. D'où la solution RAID pour faire du mirroring.
    Comme le backup se fait sur la totalité d'un disque dur, mettre ce disque dur en mirroring évite alors de faire ce genre de manipulation.

    La solution du backup et non de la sauvegarde, car comme toi SQLPRO, je fais cette distinction, est la solution du pauvre quand on n'a pas les moyens de se payer du matériel qui évite de le faire.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr
      0  3

  12. #12
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 059
    Points : 38 269
    Points
    38 269
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Quand on a le choix du SGBD, oui c'est une solution. Mais la plupart du temps, chez le client, il y a déjà un existant, alors on fait avec.
    En effet, et convaincre du choix d'un autre SGBD n'est pas une mince affaire, surtout s'il s'agit de passer d'un SGBD gratuit (quelque soient ses défauts) vers une solution payante (quelque soient ses qualités)
      1  0

  13. #13
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 716
    Points : 52 380
    Points
    52 380
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    je pense que personne ne m'a compris. La bonne réponse, c'est la tolérance de panne. D'où la solution RAID pour faire du mirroring.
    Comme le backup se fait sur la totalité d'un disque dur, mettre ce disque dur en mirroring évite alors de faire ce genre de manipulation.
    Je ne peut pas être d'accord. En effet, la sauvegarde n'a rien à voir avec la haute disponibilité.

    Le but de la haute dispo est de permettre de basculer sur un serveur de secours qui dispose exactement (miroir synchrones) ou bien à peu près (log shipping, miroir asynchrone...) des même données que la base source, afin que l'interruption de service soit minimale voir inexistante.

    Deux choses irréparables sans sauvegarde et avec la haute dispo :

    En cas d'erreur logique, par exemple l'effacement d'une table (DROP TABLE) la commande SQL étant propagée au miroir il n'est pas possible de compter sur le miroir pour obtenir les données avant l'erreur

    Dans le cas de l'archivage légal par exemple pour la comptabilité qui doit être sauvegardé au moins une fois par an au moment de la clôture du bilan, la haute dispo ne permet pas ce service.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
      1  1

  14. #14
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 344
    Points : 18 919
    Points
    18 919
    Par défaut
    Salut SQLPRO.

    Citation Envoyé par SQLPRO
    Je ne peux pas être d'accord. En effet, la sauvegarde n'a rien à voir avec la haute disponibilité.
    Le contraire m'aurai étonné ! Et c'est toi qui fait la confusion.

    Citation Envoyé par SQLPRO
    Le but de la haute dispo est de permettre de basculer sur un serveur de secours ...
    Il n'y a pas de basculement à faire. La tolérance de panne consiste à doubler le matériel (pas uniquement les disques) pour éviter la panne physique.
    De ce fait, le serveur ne tombe jamais en panne car tout est doublé. On se retrouve dans de la disponibilité en continue.
    http://fr.nec.com/fr_FR/emea/product...ervers/ft.html

    Citation Envoyé par SQLPRO
    ... des même données que la base source, afin que l'interruption de service soit minimale voir inexistante.
    Il n'y a pas d'interruption en cas de panne. Justement la tolérance de panne est faite pour éviter ce genre de problèmes matériels.

    La tolérance de panne concerne la disponibilité physique du matériel. Cela n'a rien à voir avec un backup et cela n'empêche pas de temps en temps d'en faire un.
    J'ai surtout l'impression que tu ne sais pas ce que c'est la tolérance de panne !
    Avec l’explosion du marché internet et des transactions en ligne, les systèmes à Tolérance de Panne jouent un rôle crucial et assurent le fonctionnement continu des systèmes critiques de l’entreprise.
    Citation Envoyé par SQLPRO
    En cas d'erreur logique, par exemple l'effacement d'une table (DROP TABLE) la commande SQL étant propagée au miroir il n'est pas possible de compter sur le miroir pour obtenir les données avant l'erreur
    Ce que tu me décris n'est qu'une mauvaise pratique qu'il faut interdire ! Quand on est en production, on ne vient jamais bidouiller sur les bases de données.
    Si tu as des tests à faire, tu dupliques ce site, par un backup qui ne pénalise en aucune façon l’accessibilité des bases de la production.
    Ainsi, avec ce site dupliqué, tu es seul à travailler et si cela t'amuse à droper une table, tu seras le seul à en être pénalisée.

    Si tu dois intervenir en production pour corriger un bug, tu dois le faire par l'intermédiaire d'un script qui aura été mis au point sur ton site de test.
    Dans le creux de la journée, tu peux rendre ton site indisponible durant cette correction, à la condition que cela prend peu de temps.

    Si le temps nécessaire à cette correction est beaucoup trop long, la solution consistant à recopier la nouvelle base de données vers le second disque qui est en mirroring.
    Pour ce faire, il faut rendre indisponible le second disque durant cette manœuvre, puis remettre en activité le mirroring après la manœuvre, en indiquant que le premier disque est le clone du second.
    Ce basculement dure très peu de temps, et ne nécessite même pas l'arrêt du serveur.

    On peut toujours envisager le pire, comme le fait skuatamad :
    Citation Envoyé par skuatamad
    Et si le serveur brûle ?
    Mais dans ce cas là, il n'existe aucune solution possible !

    Citation Envoyé par SQLPRO
    Dans le cas de l'archivage légal par exemple pour la comptabilité qui doit être sauvegardé au moins une fois par an au moment de la clôture du bilan, la haute dispo ne permet pas ce service.
    Oui, je suis au courant de cette pratique exigée par le fisc. On fait aussi un backup de la base de données au 31 décembre.
    Et si des experts comptables, sur la demande du fisc, ont besoin de vérifier quelque chose, on crée un site de test par restauration de ce backup.

    Le problème est que tu mélanges deux notions différentes :
    --> la tolérance de panne afin d'avoir une disponibilité physique du matériel en continue.
    --> le backup qui sert à dupliquer une base de données et dont on se sert pour recréer un site en vue de faire des tests.

    Et s'il te plait, arrête de parler de sauvegardes car tu crées la confusion avec le backup.
    Allez vas y, mets moi un '-1' puisque je viens de te contredire !

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr
      1  3

  15. #15
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Bonjour,

    Je rejoins SQL Pro sur la sauvegarde. Outre la résistance aux pannes, nous avons l'obligation de nous prévenir contre l'erreur humaine. Et aucun test en qualif ne pourra nous garantir une sécurité a 100% sur les script exécuté.
    On a déjà vu en plus des serveurs complètement planté(au sens du file system) qui corrompe au passage les données des esclaves.
    Le choix entre la réparation(plusieurs journées d'un expert BDD) ou la restauration d'un backup (2h pour un technicien peu qualifié) penche clairement en faveur de la seconde solution.

    Nous sommes partis sur l'option backup a froid. On éteint notre base et les imports, et on lance une copie du répertoire de données en utilisant pigz pour encoder le tout. On tient entre 1-2h pour le moment.

    Nous explorons aussi la sauvegarde par snapshot de notre volume NFS, mais c'est moins stable sur ce datacenter, donc on est moins sur de notre coup.

    Pour la suggestion de partir sur un autre SGBD, je n'ai pas de contrainte clients, mais une direction groupe. c'est oracle ou mysql. Les autres choix n'ont pas de support suffisant de la part de nos opérations. On se prive peut être de solutions pour des cas spécifiques comme le mien, mais on a pas trop le choix.

    La capacité a interrompre notre système pendant 6-8 heures la nuit a été le point décisif dans le choix.
      1  0

  16. #16
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 676
    Points : 2 010
    Points
    2 010
    Par défaut
    pmithrandir,

    Je te conseille également de regarder du côté de percona Xtrabackup, Percona étant une société de consulting comprenant des spécialistes reconnus de Mysql.
    Cette société édite également une version optimisée et gratuite de Mysql nommé Percona server.

    Ici un tutoriel (en anglais) sur l'utilisation de l'outil : http://vitobotta.com/painless-hot-ba...na-xtrabackup/

    Cordialement
    La joie de l'âme est dans la planification -- Louis Hubert Liautey
      1  0

  17. #17
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Merci pour le lien
    Pierre
      1  0

  18. #18
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 676
    Points : 2 010
    Points
    2 010
    Par défaut
    Par curiosité,

    quelle est votre architecture matérielle et logicielle ?
    La joie de l'âme est dans la planification -- Louis Hubert Liautey
      1  0

  19. #19
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Bonjour,

    Serveur sur VM vcloud
    NFS storage a 100MB/s
    Le stockage de toutes les données, de la BDD comme des backup est sur le NFS

    Au final, on a 8VCPU et 16GB de ram sur ce serveur.

    Pierre
      1  0

  20. #20
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 676
    Points : 2 010
    Points
    2 010
    Par défaut
    Citation Envoyé par pmithrandir
    Pour le moment, c'est notre débit disque qui nous limite, on plafonne a 65MO/ sec
    Est-ce toujours le cas ?
    un problème de configuration NFS ou de saturation au niveau de la compression ?
    La joie de l'âme est dans la planification -- Louis Hubert Liautey
      1  0

Discussions similaires

  1. Backup base SQL server 2005
    Par Axiome dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 28/01/2013, 13h32
  2. Backup Base à partir d'un hébergement mutualisé
    Par lstephan dans le forum Administration
    Réponses: 4
    Dernier message: 02/02/2011, 14h50
  3. [Batch] Préffixer Backup Base de données avec la date
    Par ash_rmy dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 19/09/2010, 15h04
  4. Backup base de données MySQL
    Par yamino dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/07/2007, 15h14
  5. Copie de backup vers ftp (journalier)
    Par osmoze dans le forum Administration système
    Réponses: 3
    Dernier message: 25/10/2004, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo