Changeset 962

Show
Ignore:
Timestamp:
03/25/08 23:41:54 (10 months ago)
Author:
sas
Message:

Portage des modifications apportées à la branche 8.3

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • traduc/branches/bv82x/manuel/backup.xml

    r867 r962  
    11<?xml version="1.0" encoding="ISO-8859-1"?> 
    22<!-- $Header: /var/lib/cvs/pgsql-fr/sgml/backup.sgml,v 1.17 2005/09/15 07:03:14 guillaume Exp $ --> 
    3 <!-- SAS : 20070921, PG825 --> 
     3<!-- SAS : 20080325, PG827 --> 
    44<chapter id="backup"> 
    55 <title>Sauvegardes et restaurations</title> 
     
    220220    volumineuses que la taille maximale d'un fichier sur le système de fichiers, 
    221221    sauvegarder une telle table en fichier peut poser des problèmes.  
    222     Puisque <application>pg_dump</application> peut écrire sur la sortie 
     222    Comme <application>pg_dump</application> peut écrire sur la sortie 
    223223    standard, les outils standard d'Unix peuvent être utiliser pour contourner 
    224224    ce problème éventuel. 
     
    328328      Quiconque s'est aventuré dans les détails de l'organisation de la  
    329329      base de données peut être tenté de ne sauvegarder et  
    330       de ne restaurer que certaines tables ou bases de données particulières.  
     330      restaurer que certaines tables ou bases de données particulières.  
    331331      Cela ne fonctionne <emphasis>pas</emphasis> parce que les informations 
    332332      contenues dans ces fichiers ne représentent que la moitité de la 
     
    347347  <para> 
    348348   Une autre approche à la sauvegarde du système de fichiers consiste à réaliser 
    349    une <quote>image cohérente</quote> du répertoire des données. Il faut 
     349   une <quote>image cohérente</quote> (<foreignphrase>consistent 
     350   snapshot</foreignphrase>) du répertoire des données. Il faut 
    350351   pour cela que le système 
    351352   de fichiers supporte cette fonctionnalité (et qu'il puisse lui être fait 
    352353   confiance). La procédure typique consiste à réaliser une 
    353    <quote>image gelée</quote> du volume contenant la base de données et 
     354   <quote>image gelée</quote> (<foreignphrase>frozen snapshot</foreignphrase>)  
     355   du volume contenant la base de données et 
    354356   ensuite de copier entièrement le répertoire de données (pas seulement 
    355357   quelques parties, 
    356358   voir ci-dessus) de l'image sur un périphérique de sauvegarde, puis de 
    357    libérer l'image gelé. Ceci fonctionne même si le serveur de la base de 
     359   libérer l'image gelée. Ceci fonctionne même si le serveur de la base de 
    358360   données est en cours d'exécution. Néanmoins, une telle sauvegarde 
    359361   copie les fichiers de la base de données dans un état où le 
    360362   serveur n'est pas correctement arrêté&nbsp;; du coup, au lancement du 
    361363   serveur à partir des données sauvegardées, PostgreSQL peut penser que le 
    362    serveur s'est stoppé brutalement et rejouer les journaux WAL. Ceci n'est 
     364   serveur s'est stoppé brutalement et rejouer les journaux WAL. Ce n'est 
    363365   pas un problème, mais il faut en être conscient (et s'assurer d'inclure les 
    364366   fichiers WAL dans la sauvegarde). 
     
    509511    WAL de 16&nbsp;Mo chacun (en général, mais cette taille peut 
    510512    être modifiée lors de la construction de <productname>PostgreSQL</productname>). Les 
    511     fichiers de segment reçoivent des noms numériques pour refléter leur 
     513    fichiers segment reçoivent des noms numériques pour refléter leur 
    512514    position dans la séquence abstraite des WAL. Lorsque le système n'utilise 
    513     pas l'archivage des WAL, il ne crée que quelques fichiers de segment, 
    514     qu'il <quote>recycle</quote> en renommant les fichiers de segment devenus inutiles. 
     515    pas l'archivage des WAL, il ne crée que quelques fichiers segment, 
     516    qu'il <quote>recycle</quote> en renommant les fichiers devenus inutiles. 
    515517    Un fichier segment dont le contenu précède le 
    516518    dernier point de vérification est supposé inutile et peut être recyclé. 
     
    523525    En fonction de l'application et du matériel disponible,  
    524526    <quote>sauvegarder les données ailleurs</quote> peut se faire de plusieurs 
    525     façons&nbsp;: les fichiers de segment peuvent être copiés dans un répertoire 
     527    façons&nbsp;: les fichiers segment peuvent être copiés dans un répertoire 
    526528    NFS monté sur une autre machine, être écrits sur une cartouche (après 
    527529    s'être assuré qu'il existe un moyen d'identifier le nom d'origine de chaque 
    528     fichier) ou être groupés pour gravage sur un CD, ou tout à fait autre chose. 
     530    fichier) ou être groupés pour gravage sur un CD, ou toute autre chose. 
    529531    Pour fournir autant de flexibilité que possible à l'administrateur de la 
    530532    base de données, <productname>PostgreSQL</productname> essaie de ne faire aucune 
     
    604606    archivé tant que la cassette n'est pas changée.  
    605607    Toute erreur ou requête à un opérateur humain doit être rapportée de façon 
    606     approprié pour que la situation puisse être résolue 
     608    appropriée pour que la situation puisse être résolue 
    607609    rapidement. Le répertoire <filename>pg_xlog/</filename> continue à se remplir 
    608610    de fichiers de segment WAL jusqu'à la résolution de la situation. 
     
    767769    alors que <varname>full_page_writes</varname> est désactivé, une perte de 
    768770    performances entre <function>pg_start_backup</function> et 
    769     <function>pg_stop_backup</function> peut être constatée car 
    770     <varname>full_page_writes</varname> est réellement forcée lors du mode de 
     771    <function>pg_stop_backup</function> peut être constatée car l'activation du 
     772    paramètre <varname>full_page_writes</varname> est forcée lors du mode de 
    771773    sauvegarde.) Il convient toutefois de s'assurer que ces étapes sont 
    772774    effectuées séquentiellement, sans chevauchement. Dans le cas contraire, la 
     
    810812    système de fichiers et des segments WAL utilisés 
    811813    pendant celle-ci (comme précisé dans le fichier d'historique des sauvegardes)  
    812     sont archivés de façon sûre,    
     814    est archivée de façon sûre,    
    813815    tous les segments WAL archivés de noms numériquement plus 
    814816    petits ne sont plus nécessaires à la récupération de la sauvegarde du 
     
    10301032 
    10311033   <para> 
    1032     Si la récupération découvre une corruption des données WAL, 
     1034    Si la récupération fait face à une corruption des données WAL, 
    10331035    elle se termine à ce point et le serveur ne démarre pas. Dans un tel cas, 
    10341036    le processus de récupération peut alors être ré-exécuté à partir du début 
    1035     en précisant une <quote>cible de récupération</quote> avant le point de 
     1037    en précisant une <quote>cible de récupération</quote> antérieure au point de 
    10361038    récupération pour permettre à cette dernière de se terminer correctement. 
    10371039    Si la récupération échoue pour une raison externe (arrêt brutal du système 
    10381040    ou archive WAL devenue inaccessible), la récupération peut être 
    1039     simplement relancée. Elle redémarre alors pratiquement là où elle a échoué. 
     1041    simplement relancée. Elle redémarre alors quasiment là où elle a échoué. 
    10401042    Le redémarrage de la restauration fonctionne comme les points de 
    10411043    contrôle du déroulement normal&nbsp;: le serveur force une écriture 
    10421044    régulière de son état sur les disques et actualise alors le fichier 
    10431045    <filename>pg_control</filename> pour indiquer que les données WAL déjà 
    1044     parcourues n'ont plus à être parcourus. 
     1046    traitées n'ont plus à être parcourues. 
    10451047   </para> 
    10461048 
     
    10521054      <filename>recovery.conf</filename> et s'appliquent uniquement pour la durée de la 
    10531055      récupération. Ils doivent être réinitialisés avant toute récupération 
    1054       ultérieure. Ils ne peuvent pas être modifiés une fois que la récupération a commencé
     1056      ultérieure. Ils ne peuvent pas être modifiés après le démarrage de la récupération
    10551057     </para> 
    10561058 
     
    10741076        Il est impératif que la commande ne renvoie un code de sortie zéro 
    10751077        que si, et seulement si, elle a réussi. Des noms de fichiers absents 
    1076         de l'archive <emphasis>seront demandés</emphasis>&nbsp;; elle 
     1078        de l'archive <emphasis>seront demandés</emphasis> à la commande&nbsp;; elle 
    10771079        doit renvoyer une valeur différente de zéro dans ce cas. 
    10781080        Exemples&nbsp;: 
     
    11271129        ou juste avant (<literal>false</literal>). Il s'applique à 
    11281130        <xref linkend="recovery-target-time"/> et 
    1129         <xref linkend="recovery-target-xid"/>, en fonction de celui qui est 
     1131        <xref linkend="recovery-target-xid"/>, en fonction de celui qui est 
    11301132        indiqué pour cette récupération. Il indique si les transactions 
    1131         possédant l'instant cible exact de validation ou l'ID cible, respectivement, 
     1133        d'instant ou ID cible de validation exact, respectivement, 
    11321134        sont incluses dans la récupération. La valeur par défaut est 
    11331135        <literal>true</literal>. 
     
    11461148        ligne temporelle en cours au moment de la sauvegarde. Ce paramètre 
    11471149        ne doit être configuré que 
    1148         dans pour les situations de récupération complexes, dans lesquelles 
     1150        pour les situations de récupération complexes, dans lesquelles 
    11491151        il est nécessaire de retourner à un état postérieur à une récupération 
    11501152        d'instantané. Voir la <xref linkend="backup-timelines"/> pour plus 
     
    11741176    La possibilité de restaurer la base de données à partir d'un instantané 
    11751177    crée une complexité digne des histoires de science-fiction traitant 
    1176     du voyage dans le temps et des univers parallèles. Dans l'historique 
     1178    du voyage dans le temps et des univers parallèles. 
     1179   </para> 
     1180   <para> 
     1181    Dans l'historique 
    11771182    original de la base de données, une table critique a peut-être été 
    1178     supprimée à 17h15 mardi soir. Sans stress, la sauvegarde est récupérée 
    1179     et restaurée jusqu'à 17h14 mardi soir. Tout est de nouveau 
    1180     fonctionnel. Dans <emphasis>cette</emphasis> histoire de l'univers de la base de 
     1183    supprimée à 17h15 mardi soir, mais personne n'a pas réalisé cette erreur 
     1184    avant mercredi midi. Sans stress, la sauvegarde est récupérée 
     1185    et restaurée dans l'état où elle se trouvait à 17h14 mardi soir. La base 
     1186    est fonctionnelle. Dans <emphasis>cette</emphasis> histoire de l'univers de la base de 
    11811187    données, la table n'a jamais été supprimée. Or, l'utilisateur 
    11821188    réalise peu après que ce n'était pas une si grande idée et veut 
     
    11941200    <foreignphrase>timelines</foreignphrase>). À chaque fois qu'une restauration 
    11951201    d'archive est terminée, un nouveau timeline est créé pour identifier la 
    1196     série d'enregistrements WAL générés après cette restauration. 
     1202    série d'enregistrements WAL produits après cette restauration. 
    11971203    Le numéro d'identifiant de la timeline est inclus dans le 
    11981204    nom des fichiers de segment WAL. De ce fait, une nouvelle timeline 
     
    12751281     sont tracées dans les WAL avec le chemin absolu et sont donc rejouées 
    12761282     en tant que créations de <foreignphrase>tablespace</foreignphrase> 
    1277      suivant le même chemin absolu. Cec
    1278      peut être indésirable si la trace est rejouée sur une autre machine. 
    1279      Cela peut s'avérer dangereux même lorsque le journal est rejoué sur la 
     1283     suivant le même chemin absolu. Cela n'est pas forcément souhaitable s
     1284     le journal est rejouée sur une autre machine. 
     1285     De plus, cela peut s'avérer dangereux même lorsque le journal est rejoué sur la 
    12801286     même machine, mais dans un répertoire différent&nbsp;: la ré-exécution surcharge 
    12811287     toujours le contenu du <foreignphrase>tablespace</foreignphrase> original. 
     
    12901296   <para> 
    12911297    Il faut de plus garder à l'esprit que le format actuel des 
    1292     <acronym>WAL</acronym> est extrêmement difficile à gérer car il inclut 
     1298    <acronym>WAL</acronym> est extrêmement volumineux car il inclut 
    12931299    de nombreuses images des pages disques. Ces images de page sont conçues 
    1294     pour supporter la récupération après un arrêt brutal. Il peut en effe
     1300    pour supporter la récupération après un arrêt brutal, puisqu'il peu
    12951301    être nécessaire de corriger des pages disque partiellement écrites. 
    12961302    En fonction du matériel et des logiciels composant le système,  
     
    13011307    (lire les notes et avertissements dans <xref linkend="wal"/> avant 
    13021308    de le faire). Désactiver les images de page n'empêche pas l'utilisation des 
    1303     traces pour les opérations PITR. Un piste éventuelle de développements 
    1304     futurs consiste à compresser les données des WAL archivés en supprimant les copies 
     1309    traces pour les opérations PITR. Un piste éventuelle de développement 
     1310    futur consiste à compresser les données des WAL archivés en supprimant les copies 
    13051311    inutiles de pages même si <varname>full_page_writes</varname> est actif. Entre 
    13061312    temps, les administrateurs peuvent souhaiter réduire le nombre 
     
    13661372  <para> 
    13671373   L'archivage continu peut être utilisé pour créer une configuration de cluster 
    1368    de <firstterm>haute disponibilité</firstterm> (HA) avec un ou plusieurs 
    1369    <firstterm>serveurs de secours</firstterm>, prêt(s) à prendre en main les 
     1374   de <firstterm>haute disponibilité</firstterm> (HA) avec un (ou plusieurs) 
     1375   <firstterm>serveur(s) de secours</firstterm>, prêt(s) à prendre en main les 
    13701376   opérations en cas de défaillance du serveur principal. Cette fonctionnalité 
    13711377   est surtout connue sous le nom de 
     
    13811387   les fichiers WAL du serveur primaire. Aucune modification des tables 
    13821388   de la base n'est requise pour activer cette capacité. Elle a de ce fait 
    1383    un coût modique en terme d'administration supplémentaire en comparaison à 
     1389   un coût modique en terme d'administration supplémentaire en comparaison avec 
    13841390   d'autres approches de réplication. Cette configuration a également un impact 
    13851391   relativement faible sur les performances du serveur principal. 
     
    15221528   <para> 
    15231529    <productname>PostgreSQL</productname> ne fournit pas de logiciel  
    1524     qui permette d'identifier une panne du serveur principal et d'en 
    1525     notifier le serveur de secours. De nombreux outils de ce type existent 
    1526     et sont bien intégrés à d'autres aspects nécessaires à la réussite du 
     1530    système qui permette d'identifier une panne du serveur principal et d'en 
     1531    notifier le système et le serveur de bases de données de secours. 
     1532    De nombreux outils de ce type existent et sont bien intégrés incluant d'autres 
     1533    aspects nécessaires à la réussite du 
    15271534    <foreignphrase>failover</foreignphrase>, comme la migration d'adresse IP. 
    15281535   </para> 
     
    15351542    exécutant <varname>restore_command</varname> est du coup créé et meurt 
    15361543    pour chaque fichier. Il n'y a, de ce fait, pas de démon ou de processus 
    1537     serveur. Il n'est alors pas possible d'utiliser les signaux et un 
     1544    serveur. Il n'est donc pas possible d'utiliser les signaux et un 
    15381545    gestionnaire de signal. Une notification plus permanente est requise pour 
    15391546    le déclenchement du <foreignphrase>failover</foreignphrase>. Il est 
     
    15451552    un <foreignphrase>failover</foreignphrase>. Un mécanisme de notification 
    15461553    tel que la création explicite d'un fichier déclencheur, quand cela est 
    1547     possible, est moins source d'erreur. 
     1554    possible, présente moins de risques d'erreur. 
    15481555   </para> 
    15491556  </sect2> 
     
    15591566     <listitem> 
    15601567      <para> 
    1561        Configurer les serveurs principal et de secours de façon quasi identique, 
     1568       Préaparer des configurations des serveurs principal et de secours 
     1569       aussi proches que possible,  
    15621570       ce qui inclut deux copies identiques de <productname>PostgreSQL</productname>, 
    15631571       dans la même version. 
     
    15961604    copié sur une cassette en même temps qu'il est lu pour la 
    15971605    récupération. De ce fait, un serveur de secours  
    1598     de haute disponibilité peut tourner simultanément 
    1599     au stockage des fichiers à plus long terme en vue d'une récupération 
    1600     après un désastre. 
     1606    de haute disponibilité peut tourner en parallèle du 
     1607    stockage des fichiers en vue de besoins de reprise sur panne à plus long 
     1608    terme. 
    16011609   </para> 
    16021610 
     
    16041612    Pour les tests, il est possible d'exécuter le serveur principal 
    16051613    et celui de secours sur le même système. Cela n'apporte aucune amélioration 
    1606     sur la robustesse du système, et ne peut pas être présenté comme 
     1614    à la robustesse du système, et ne peut pas être présenté comme 
    16071615    de la haute disponibilité. 
    16081616   </para> 
     
    16531661    serveur de secours, un seul serveur est opérationnel. On parle alors 
    16541662    d'état dégénéré. L'ancien serveur de secours est 
    1655     devenu serveur principal, l'ancien serveur principal est arrêté 
    1656     et peut le rester. Il faut désormais recréer un serveur de secours, soit 
     1663    devenu serveur principal, mais l'ancien serveur principal est arrêté 
     1664    et peut le rester. Il faut désormais recréer intégralement un serveur de secours, soit 
    16571665    sur l'ancien système principal, s'il peut redémarrer, soit sur un 
    1658     troisième, de préférence nouveau, système. Lorsque cela est réalisé, on 
     1666    troisième système, de préférence nouveau. Lorsque cela est réalisé, on 
    16591667    peut considérer que les deux serveurs ont échangé leurs rôles. 
    16601668   </para> 
     
    16631671    pour servir de sauvegarde au nouveau serveur principal le temps que le 
    16641672    serveur de secours devienne opérationnel. Toutefois, cela complique 
    1665     assurément la configuration du système et les processus opérationnels. 
     1673    assurément la configuration du système et des processus opérationnels. 
    16661674   </para> 
    16671675 
     
    16951703    <function>pg_xlogfile_name_offset()</function> (voir à ce propos la 
    16961704    <xref linkend="functions-admin"/>) pour trouver le nom du fichier et 
    1697     l'exact décalage en octet dans celui-ci de la fin actuelle du WAL. Il 
     1705    l'exact décalage en octets de la fin courante du WAL à l'intérieur de 
     1706    celui-ci. Il 
    16981707    peut alors accéder directement au fichier WAL et copier les données 
    16991708    depuis la dernière fin connue des WAL jusqu'à l'actuelle vers le(s) 
     
    17061715    traiter avec l'ensemble des fichiers WAL. De ce fait, les serveurs de 
    17071716    secours ne peuvent pas, en fonctionnement normal, disposer des données 
    1708     copiées par incréments. Elles ne deviennent utilisables que lorsque le 
     1717    copiées par incréments. Elles n'ont d'intérêt que lorsque le 
    17091718    serveur principal subit une panne &mdash; le dernier fichier WAL partiel 
    17101719    est alors chargé dans le serveur de secours avant qu'il puisse démarrer. 
     
    17481757    restauration sur le serveur de secours à partir du dernier point de 
    17491758    redémarrage. Il n'est alors plus nécessaire de conserver les fichiers 
    1750     WAL précédant le point de redémarrage. En cas de restauration, elle sera 
    1751     plus rapide à partir d'une sauvegarde incrémentale qu'à partir de la 
     1759    WAL précédant le point de redémarrage. Si une restauration s'avère 
     1760    nécessaire, elle est plus rapide si elle est effectuée à partir d'une 
     1761    sauvegarde incrémentale qu'à partir de la 
    17521762    sauvegarde originale. 
    17531763   </para> 
     
    18011811   pour cela&nbsp;; les méthodes de 
    18021812   sauvegarde au niveau système de fichiers ne fonctionnent évidemment pas. 
    1803    Un certain nombre de vérifications sont automatiquement effectuées pour 
     1813   Un certain nombre de vérifications est automatiquement effectué pour 
    18041814   interdire l'utilisation d'un répertoire de données d'une version 
    18051815   incompatible. Il n'y a donc pas grand risque à lancer une mauvaise