| 1 |
<?xml version="1.0" encoding="UTF-8"?> |
|---|
| 2 |
<!-- DerniÚre modification |
|---|
| 3 |
le $Date$ |
|---|
| 4 |
par $Author$ |
|---|
| 5 |
révision $Revision$ --> |
|---|
| 6 |
|
|---|
| 7 |
<sect1 id="adminscripts"> |
|---|
| 8 |
<title>Scripts d'administration</title> |
|---|
| 9 |
|
|---|
| 10 |
<indexterm><primary>scripts d'administration de &slony1;</primary></indexterm> |
|---|
| 11 |
|
|---|
| 12 |
<para> Un certain nombre de scripts ont été développes tout au long de l'histoire de |
|---|
| 13 |
&slony1; pour aider les utilisateurs à gérer leurs clusters. Cette section ainsi |
|---|
| 14 |
que celle sur le <xref linkend="monitoring"/> et la <xref |
|---|
| 15 |
linkend="maintenance"/> décrit leur utilisation. </para> |
|---|
| 16 |
|
|---|
| 17 |
<sect2 id="altperl"> <title>Les scripts altperl</title> |
|---|
| 18 |
|
|---|
| 19 |
<indexterm><primary> Script altperl pour &slony1;</primary></indexterm> |
|---|
| 20 |
|
|---|
| 21 |
<para>Il existe un ensemble de scripts qui simplifie l'administration de plusieurs |
|---|
| 22 |
instances &slony1;. Ces scripts supportent une nombre variable de noeuds. Ils peuvent |
|---|
| 23 |
être installés pendant le processus d'installation :</para> |
|---|
| 24 |
|
|---|
| 25 |
<para><command> ./configure --with-perltools</command></para> |
|---|
| 26 |
|
|---|
| 27 |
<para>Ceci va produire un certain nombre de scripts avec le préfixe |
|---|
| 28 |
<command>slonik_</command>. Ils éliminent les risques de confusion en se référençant |
|---|
| 29 |
à un fichier central de configuration qui contient les détails de la configuration |
|---|
| 30 |
de votre site. Un exemple documenté de ce fichier est fourni dans |
|---|
| 31 |
<filename>altperl/slon_tools.conf-sample</filename>. La plupart dispose également |
|---|
| 32 |
une aide en ligne grâce à l'option "--help", ce qui les rend plus facile à prendre en main |
|---|
| 33 |
et à utiliser.</para> |
|---|
| 34 |
|
|---|
| 35 |
<para>La plupart des scripts de génération Slonik utilise la sortie STDOUT. |
|---|
| 36 |
Pendant un temps, les commandes étaient passées directement à <xref linkend="slonik"/> |
|---|
| 37 |
pour qu'il les exécute. Malheureusement, il s'agit d'une méthode trop . |
|---|
| 38 |
<quote>agressive</quote>, car de légÚres coquilles dans la ligne de commande |
|---|
| 39 |
peuvent conduire, dans certains cas, Ã des situations calamiteuses. |
|---|
| 40 |
Tout administrateur qui se respecte doit relire le script |
|---|
| 41 |
<emphasis>avant</emphasis> de l'envoyer à <xref linkend="slonik"/>.</para> |
|---|
| 42 |
|
|---|
| 43 |
<sect3><title>Gestion de multiples clusters</title> |
|---|
| 44 |
<indexterm><primary>Gérer de multiples clusters avec les outils altperl</primary></indexterm> |
|---|
| 45 |
|
|---|
| 46 |
<para>La variable d'environnement <envar>SLONYNODES</envar> est utilisée pour déterminer |
|---|
| 47 |
quel fichier de configuration Perl sera utilisé pour controler les noeuds du cluster |
|---|
| 48 |
&slony1;. Si elle n'est pas fournie le fichier <filename>slon_tools.conf</filename> |
|---|
| 49 |
situé dans l'emplacement par défaut sera utilisé. </para> |
|---|
| 50 |
|
|---|
| 51 |
<para>Voici la liste des variables qui peuvent être configurées : |
|---|
| 52 |
<itemizedlist> |
|---|
| 53 |
|
|---|
| 54 |
<listitem><para><envar>$CLUSTER_NAME</envar>=orglogs; # Quel est le nom du cluster de réplication ?</para></listitem> |
|---|
| 55 |
<listitem><para><envar>$LOGDIR</envar>='/opt/OXRS/log/LOGDBS'; # Quel est le répertoire des logs ?</para></listitem> |
|---|
| 56 |
<listitem><para><envar>$APACHE_ROTATOR</envar>="/opt/twcsds004/OXRS/apache/rotatelogs"; # Si ce paramÚtre est défini, il indique où trouver le gestionnaire de logs d'Apache</para></listitem> |
|---|
| 57 |
<listitem><para><envar>foldCase</envar> # Si la valeur est 1, les noms d'objet ( y compris les noms de schéma) seront transformés en minuscule. Par défaut, les noms d'objets restent inchangés. Notons que &postgres; lui-même transforme les noms d'objets en minuscule; |
|---|
| 58 |
Si vous créez une table avec la commande <command> CREATE TABLE |
|---|
| 59 |
MA_TABLE (Id INTEGER, MoNChamp text);</command>, le résultat sera |
|---|
| 60 |
équivalent à <command> create table ma_table (id integer, |
|---|
| 61 |
monchamp text);</command>, le nom de la table et ses champs sera transformé en minuscule. |
|---|
| 62 |
</para> |
|---|
| 63 |
|
|---|
| 64 |
</listitem> |
|---|
| 65 |
</itemizedlist> |
|---|
| 66 |
</para> |
|---|
| 67 |
|
|---|
| 68 |
<para> Vous pouvez ensuite définir un ensemble de noeuds qui participeront à la réplication |
|---|
| 69 |
en utilisant plusieurs appels à la fonction <function>add_node()</function>. |
|---|
| 70 |
</para> |
|---|
| 71 |
|
|---|
| 72 |
<para><command> |
|---|
| 73 |
add_node (host => '10.20.30.40', dbname => 'orglogs', port => 5437, |
|---|
| 74 |
user => 'postgres', node => 4, parent => 1); |
|---|
| 75 |
</command></para> |
|---|
| 76 |
|
|---|
| 77 |
<para>Les paramÚtres de la fonction <function>add_node()</function> sont les suivants :</para> |
|---|
| 78 |
|
|---|
| 79 |
<programlisting> |
|---|
| 80 |
my %PARAMS = (host=> undef, # nom de l'hÃŽte |
|---|
| 81 |
dbname => 'template1', # nom de la base |
|---|
| 82 |
port => 5432, # numéro du port |
|---|
| 83 |
user => 'postgres', # utilisateur de la connexion |
|---|
| 84 |
node => undef, # numéro du noeud |
|---|
| 85 |
password => undef, # mot de passe de l'utilisateur |
|---|
| 86 |
parent => 1, # l'identifiant du noeud pÚre |
|---|
| 87 |
noforward => undef # ce noeud doit-il retransmettre les modifications ? |
|---|
| 88 |
sslmode => undef # mode SSL - détermine la priorité |
|---|
| 89 |
# d'utilisation de la couche SSL |
|---|
| 90 |
# = disable,allow,prefer,require |
|---|
| 91 |
); |
|---|
| 92 |
</programlisting> |
|---|
| 93 |
</sect3> |
|---|
| 94 |
|
|---|
| 95 |
<sect3><title>Configuration d'un ensemble de réplication </title> |
|---|
| 96 |
<indexterm><primary>cluster.set1 - configuration d'un ensemble de réplication pour les outils |
|---|
| 97 |
Perl</primary></indexterm> |
|---|
| 98 |
|
|---|
| 99 |
<para>La variable d'environnement UNIX <envar>SLONYSET</envar> est utilisée pour déterminer |
|---|
| 100 |
quel fichier de configuration doit être lu pour connaître les objets qui sont contenus |
|---|
| 101 |
dans un ensemble donné.</para> |
|---|
| 102 |
|
|---|
| 103 |
<para>Contrairement à <envar>SLONYNODES</envar>, qui est essentielle pour |
|---|
| 104 |
<emphasis>tous</emphasis> les scripts de génération <xref linkend="slonik"/>, |
|---|
| 105 |
celle-ci n'est nécessaire que lorsqu'on exécute |
|---|
| 106 |
<filename>create_set</filename>, car il s'agit du seul script qui contrÃŽle |
|---|
| 107 |
le placement des tables dans les différents ensemble de réplication. |
|---|
| 108 |
</para> |
|---|
| 109 |
|
|---|
| 110 |
</sect3> |
|---|
| 111 |
<sect3><title>slonik_build_env</title> |
|---|
| 112 |
<indexterm><primary>slonik_build_env</primary></indexterm> |
|---|
| 113 |
|
|---|
| 114 |
<para>Cette commande interroge la base de données et produit un résultat qui |
|---|
| 115 |
peut être utilisé dans <filename>slon_tools.conf</filename>, notamment :</para> |
|---|
| 116 |
<itemizedlist> |
|---|
| 117 |
|
|---|
| 118 |
<listitem><para> une série d'appel à <function>add_node()</function> pour configurer |
|---|
| 119 |
le cluster</para></listitem> |
|---|
| 120 |
<listitem><para> les tableaux <envar>@KEYEDTABLES</envar>, |
|---|
| 121 |
<envar>@SERIALT</envar>, et <envar>@SEQUENCES</envar></para></listitem> |
|---|
| 122 |
</itemizedlist> |
|---|
| 123 |
</sect3> |
|---|
| 124 |
<sect3><title>slonik_print_preamble</title> |
|---|
| 125 |
|
|---|
| 126 |
<para>Cette commande produit simplement le <quote>préambule</quote> qui est nécessaire |
|---|
| 127 |
à chaque scripts slonik. En fait, elle fournit un <quote>squelette</quote> de script slonik |
|---|
| 128 |
qui ne fait pas d'action particuliÚre.</para> |
|---|
| 129 |
</sect3> |
|---|
| 130 |
<sect3><title>slonik_create_set</title> |
|---|
| 131 |
|
|---|
| 132 |
<para>Cette commande nécessite que les variables <envar>SLONYSET</envar> et |
|---|
| 133 |
<envar>SLONYNODES</envar> soit configurées; |
|---|
| 134 |
Elle permet de produire le script <command>slonik</command> |
|---|
| 135 |
qui configure un ensemble de réplication en décrivant les tables et les séquences |
|---|
| 136 |
qui seront répliquées.</para> |
|---|
| 137 |
</sect3> |
|---|
| 138 |
<sect3><title>slonik_drop_node</title> |
|---|
| 139 |
<para>Cette commande produit une script Slonik qui supprime une noeud du cluster &slony1; .</para> |
|---|
| 140 |
</sect3> |
|---|
| 141 |
<sect3><title>slonik_drop_set</title> |
|---|
| 142 |
<para>Cette commande produit un script Slonik qui supprime un ensemble de réplication |
|---|
| 143 |
(<emphasis>c'est à dire</emphasis> un groupe de tables et de séquences).</para> |
|---|
| 144 |
</sect3> |
|---|
| 145 |
|
|---|
| 146 |
<sect3 id="slonik-drop-table"><title>slonik_drop_table</title> |
|---|
| 147 |
<para>Cette commande produit un script Slonik qui supprime une table de la réplication. |
|---|
| 148 |
Elle nécessite en entrée l'identifiant de la table ( disponible dans le table |
|---|
| 149 |
<envar>sl_table</envar>). </para> |
|---|
| 150 |
</sect3> |
|---|
| 151 |
|
|---|
| 152 |
<sect3><title>slonik_execute_script</title> |
|---|
| 153 |
<para>Cette commande produit un script pour effectuer des changements DDL sur un ensemble |
|---|
| 154 |
de réplication.</para> |
|---|
| 155 |
</sect3> |
|---|
| 156 |
|
|---|
| 157 |
<sect3><title>slonik_failover</title> |
|---|
| 158 |
<para>Cette commande produit un script qui demande une bascule d'urgence entre un noeud |
|---|
| 159 |
mort et une nouvelle origine</para> |
|---|
| 160 |
</sect3> |
|---|
| 161 |
<sect3><title>slonik_init_cluster</title> |
|---|
| 162 |
<para>Cette commande produit un script Slonik qui intialise un cluster &slony1; tout entier, |
|---|
| 163 |
y compris les noeuds, les voies de communications et les voies d'écoute. |
|---|
| 164 |
</para> |
|---|
| 165 |
</sect3> |
|---|
| 166 |
|
|---|
| 167 |
<sect3><title>slonik_merge_sets</title> |
|---|
| 168 |
<para>Cette commande produit un script Slonik qui fusionne deux ensembles de réplication. |
|---|
| 169 |
</para> |
|---|
| 170 |
</sect3> |
|---|
| 171 |
|
|---|
| 172 |
<sect3><title>slonik_move_set</title> |
|---|
| 173 |
<para>Cette commande produit un script Slonik qui déplace l'origine d'un ensemble de réplication vers un autre noeud.</para> |
|---|
| 174 |
</sect3> |
|---|
| 175 |
<sect3><title>réplication_test</title> |
|---|
| 176 |
|
|---|
| 177 |
<para>Ce script vérifie que &slony1; réplique correctement les données.</para> |
|---|
| 178 |
</sect3> |
|---|
| 179 |
<sect3><title>slonik_restart_node</title> |
|---|
| 180 |
|
|---|
| 181 |
<para>Cette commande produit un script Slonik que demande le redémarrage d'un noeud. |
|---|
| 182 |
Elle était particuliÚrement utile avant la version 1.0.5, lorsque les noeuds étaient |
|---|
| 183 |
bloqués suite à la mort du démon slon.</para> |
|---|
| 184 |
</sect3> |
|---|
| 185 |
<sect3><title>slonik_restart_nodes</title> |
|---|
| 186 |
|
|---|
| 187 |
<para>Cette commande produit un script Slonik qui redémarre tous les noeuds du cluster. |
|---|
| 188 |
Elle n'est pas trÚs utile.</para> |
|---|
| 189 |
</sect3> |
|---|
| 190 |
|
|---|
| 191 |
<sect3><title>slony_show_configuration</title> |
|---|
| 192 |
<para>Cette commande affiche la configuration de l'environnement (c'est à dire la variable <envar>SLONYNODES</envar>).</para> |
|---|
| 193 |
</sect3> |
|---|
| 194 |
|
|---|
| 195 |
<sect3><title>slon_kill</title> |
|---|
| 196 |
<para>Cette commande tue le chien de garde slony et tous les démons slon pour un |
|---|
| 197 |
ensemble de réplication donné. Elle ne fonctionne que si ces processus fonctionnent sur l'hÎte local, bien sûr ! |
|---|
| 198 |
</para> |
|---|
| 199 |
</sect3> |
|---|
| 200 |
|
|---|
| 201 |
<sect3><title>slon_start</title> |
|---|
| 202 |
<para>Cette commande démarre le démon slon pour un cluster et un noeud donnés, elle utilise |
|---|
| 203 |
le chien de garde slon_watchdog pour s'assurer qu'il fonctionne.</para> |
|---|
| 204 |
</sect3> |
|---|
| 205 |
|
|---|
| 206 |
<sect3 id="slonwatchdog"><title>slon_watchdog</title> |
|---|
| 207 |
<para>Processus utilisé par <command>slon_start</command>.</para> |
|---|
| 208 |
</sect3> |
|---|
| 209 |
|
|---|
| 210 |
<sect3><title>slon_watchdog2</title> |
|---|
| 211 |
<para>Ce script est un chien de garde plus malin; il surveille un noeud donné et relance |
|---|
| 212 |
le processus slon si il constate qu'aucune modification ne s'est produite depuis 20 minutes ou plus.</para> |
|---|
| 213 |
<para>Ceci est utile lorsqu'une connexion réseau est instable et que le démon slon s'arrête sans crier gare.</para> |
|---|
| 214 |
</sect3> |
|---|
| 215 |
|
|---|
| 216 |
<sect3><title>slonik_store_node</title> |
|---|
| 217 |
<para>Cette commande ajoute un noeud dans un cluster.</para> |
|---|
| 218 |
</sect3> |
|---|
| 219 |
|
|---|
| 220 |
<sect3><title>slonik_subscribe_set</title> |
|---|
| 221 |
<para>Ce script génÚre un script Slonik script pour abonner un noeud donné çà un ensemble donné.</para> |
|---|
| 222 |
</sect3> |
|---|
| 223 |
|
|---|
| 224 |
<sect3><title>slonik_uninstall_nodes</title> |
|---|
| 225 |
<para>Cette commande parcours le cluster et supprime le schéma &slony1; sur tous les noeuds; |
|---|
| 226 |
Vous pouvez utilisez cet outil si vous souhaitez détruire la réplication sur l'ensemble du cluster. Il s'agit d'un script <emphasis>TRÃS</emphasis> dangereux !</para> |
|---|
| 227 |
</sect3> |
|---|
| 228 |
|
|---|
| 229 |
<sect3><title>slonik_unsubscribe_set</title> |
|---|
| 230 |
<para>Cette commande produit un script Slonik qui désabonne un noeud d'un ensemble de réplication.</para> |
|---|
| 231 |
</sect3> |
|---|
| 232 |
|
|---|
| 233 |
<sect3><title>slonik_update_nodes</title> |
|---|
| 234 |
<para>Cette commande produit un script Slonik qui incite tous les noeuds à mettre à jour les fonctions &slony1;. Elle est utile lorsque l'on effectue un changement de version de &slony1;.</para> |
|---|
| 235 |
</sect3> |
|---|
| 236 |
</sect2> |
|---|
| 237 |
<sect2 id="mkslonconf"><title>mkslonconf.sh</title> |
|---|
| 238 |
<indexterm><primary>Générer le fichier slon.conf pour &slony1;</primary></indexterm> |
|---|
| 239 |
|
|---|
| 240 |
<para> Ce script shell est conçu parcourir un cluster &slony1; et |
|---|
| 241 |
produire un ensemble de fichiers <filename>slon.conf</filename> |
|---|
| 242 |
qui pourront être utilisé via l'option <command> slon -f slon.conf </command>. |
|---|
| 243 |
</para> |
|---|
| 244 |
|
|---|
| 245 |
<para> Lorsque toute la configuration est placée dans un fichier pour chaque &lslon;, |
|---|
| 246 |
on peut alors facilement les invoquer, sans risquer d'oublier l'option |
|---|
| 247 |
<command>-a</command>, ce qui peut provoquer le crash d'un noeud en mode |
|---|
| 248 |
<link linkend="logshipping"> log shipping </link>. </para> |
|---|
| 249 |
|
|---|
| 250 |
<para> Pour lancer le script, il faut configurer l'environnement de la maniÚre suivante :</para> |
|---|
| 251 |
|
|---|
| 252 |
<itemizedlist> |
|---|
| 253 |
<listitem><para> Tout d'abord, l'environnement doit être configuré avec les paramÚtres |
|---|
| 254 |
adéquats pour que libpq puisse se connecter à une des bases de données du cluster. |
|---|
| 255 |
Vous devez donc définir une combinaison parmi les variables d'environnement suivantes : |
|---|
| 256 |
</para> |
|---|
| 257 |
|
|---|
| 258 |
<itemizedlist> |
|---|
| 259 |
<listitem><para><envar>PGPORT</envar></para></listitem> |
|---|
| 260 |
<listitem><para><envar>PGDATABASE</envar></para></listitem> |
|---|
| 261 |
<listitem><para><envar>PGHOST</envar></para></listitem> |
|---|
| 262 |
<listitem><para><envar>PGUSER</envar></para></listitem> |
|---|
| 263 |
<listitem><para><envar>PGSERVICE</envar></para></listitem> |
|---|
| 264 |
</itemizedlist> |
|---|
| 265 |
</listitem> |
|---|
| 266 |
|
|---|
| 267 |
<listitem> |
|---|
| 268 |
<para> <envar>SLONYCLUSTER</envar> - le nom du cluster &slony1; qui |
|---|
| 269 |
doit être <quote>parcouru</quote>. </para> |
|---|
| 270 |
</listitem> |
|---|
| 271 |
|
|---|
| 272 |
<listitem> |
|---|
| 273 |
<para> <envar>MKDESTINATION</envar> - un répertoire qui accueillera |
|---|
| 274 |
la configuration; le script crée un dossier |
|---|
| 275 |
<filename>MKDESTINATION/$SLONYCLUSTER/conf</filename> pour les fichiers de configuration |
|---|
| 276 |
des démons &lslon; et un dossier |
|---|
| 277 |
<filename>MKDESTINATION/$SLONYCLUSTER/pid</filename> pour que &lslon; y stocke |
|---|
| 278 |
les fichiers PID. </para> |
|---|
| 279 |
</listitem> |
|---|
| 280 |
|
|---|
| 281 |
<listitem> |
|---|
| 282 |
<para> <envar>LOGHOME</envar> - un répertoire qui accueillera les fichiers |
|---|
| 283 |
de log; un dossier nommé |
|---|
| 284 |
<command>$LOGHOME/$SLONYCLUSTER/node[numéro]</command> sera créé pour chaque noeud.</para> |
|---|
| 285 |
</listitem> |
|---|
| 286 |
|
|---|
| 287 |
</itemizedlist> |
|---|
| 288 |
<para> Pour chaque <quote>nouveau</quote> noeud qu'il découvre, ce script |
|---|
| 289 |
va créer un nouveau fichier de configuration &lslon;. </para> |
|---|
| 290 |
|
|---|
| 291 |
<warning> |
|---|
| 292 |
<para> Il est important de préciser que ce script présente quelques particularités |
|---|
| 293 |
qu'il faut connaître, même aucune n'est vraiment surprenante.</para> |
|---|
| 294 |
|
|---|
| 295 |
<itemizedlist> |
|---|
| 296 |
<listitem> |
|---|
| 297 |
<para> Le DSN est positionné à la plus petite valeur trouvé pour |
|---|
| 298 |
chaque noeud dans le table <envar>sl_path</envar>. Vous devrez probablement |
|---|
| 299 |
modifier cette valeur.</para> |
|---|
| 300 |
</listitem> |
|---|
| 301 |
|
|---|
| 302 |
<listitem> |
|---|
| 303 |
<para> Plusieurs paramÚtres sont initialisés avec leur valeur par défaut; |
|---|
| 304 |
Vous devrez probablement les réajuster à la main. </para> |
|---|
| 305 |
</listitem> |
|---|
| 306 |
|
|---|
| 307 |
<listitem> |
|---|
| 308 |
<para> Si vous exécutez les processus &lslon; sur de multiples noeuds (<emphasis>par exemple</emphasis> - si vous utilisez &slony1; à travers un réseau WAN), |
|---|
| 309 |
ce script va joyeusement créer des fichiers de configuration pour des |
|---|
| 310 |
&lslon;s que vous comptez lancer sur un hÎte différent. </para> |
|---|
| 311 |
|
|---|
| 312 |
<para> Vérifiez bien quels noeuds sont configurés avant de redémarrer les &lslon;s. </para> |
|---|
| 313 |
|
|---|
| 314 |
<para> En général, cela provoque des inconvénients mineurs, |
|---|
| 315 |
comme, par exemple, un &lslon; fonctionnant de maniÚre inapproprié, |
|---|
| 316 |
échouant suite à un problÚme de connectivité, (ce qui ne provoque pas |
|---|
| 317 |
de dégâts ! ), ou fonctionnant moins efficacement vu qu'il se trouve du mauvais |
|---|
| 318 |
coté du <quote>tuyau</quote>.</para> |
|---|
| 319 |
|
|---|
| 320 |
<para> D'un autre cÎté, si vous faites fonctionner un noeud en mode log shipping sur |
|---|
| 321 |
le site distant, l'arrivée d'un &lslon; que |
|---|
| 322 |
<emphasis>ne collecte pas</emphasis> les logs peut ruiner une semaine complÚte d'activité. </para> |
|---|
| 323 |
</listitem> |
|---|
| 324 |
</itemizedlist> |
|---|
| 325 |
|
|---|
| 326 |
</warning> |
|---|
| 327 |
|
|---|
| 328 |
<para> Les fichiers produits par <filename>mkslonconf.sh</filename> |
|---|
| 329 |
sont spécifiquement conçu pour gérer des &lslon;s sur de multiples clusters |
|---|
| 330 |
avec le script décrit dans la section suivante... </para> |
|---|
| 331 |
|
|---|
| 332 |
</sect2> |
|---|
| 333 |
|
|---|
| 334 |
<sect2 id="launchclusters"><title> launch_clusters.sh </title> |
|---|
| 335 |
|
|---|
| 336 |
<indexterm><primary>lancer un cluster &slony1; cluster en utilisant les fichiers slon.conf </primary></indexterm> |
|---|
| 337 |
|
|---|
| 338 |
<para> Voici un autre script shell qui utilise la configuration produite |
|---|
| 339 |
par <filename>mkslonconf.sh</filename> et qui peut être utilisé lors du |
|---|
| 340 |
démarrage du systÚme, à la suite des processus <filename>rc.d</filename>, |
|---|
| 341 |
ou dans un processus cron, pour s'assurer que les processus &lslon; |
|---|
| 342 |
fonctionnent.</para> |
|---|
| 343 |
|
|---|
| 344 |
<para> Il utilise les variables d'environnement suivantes :</para> |
|---|
| 345 |
|
|---|
| 346 |
<itemizedlist> |
|---|
| 347 |
|
|---|
| 348 |
<listitem><para><envar>PATH</envar> qui doit contenir, de préférence au début, le |
|---|
| 349 |
chemin vers les binaires &lslon; qui doivent être exécutés.</para></listitem> |
|---|
| 350 |
|
|---|
| 351 |
<listitem><para><envar>SLHOME</envar> indique le répertoire |
|---|
| 352 |
<quote>home</quote> qui contient les fichiers de configuration de &lslon;; |
|---|
| 353 |
ces fichiers doivent être rangés en sous-répertoires, un pour chaque cluster, |
|---|
| 354 |
avec un nom de fichier du type <filename>node1.conf</filename>, |
|---|
| 355 |
<filename>node2.conf</filename>, et ainsi de suite. </para> |
|---|
| 356 |
|
|---|
| 357 |
<para> Le script utilise la commande <command>find $SLHOME/$cluster/conf |
|---|
| 358 |
-name "node[0-9]*.conf"</command> pour trouver les fichiers de configuration &lslon;.</para> |
|---|
| 359 |
|
|---|
| 360 |
<para> Si vous déplacez ces fichiers, ou si vous les renommez, ils ne seront pas trouvés; |
|---|
| 361 |
c'est une façon trÚs simple de supprimer des noeuds.</para> |
|---|
| 362 |
</listitem> |
|---|
| 363 |
|
|---|
| 364 |
<listitem> |
|---|
| 365 |
<para><envar>LOGHOME </envar> indique le répertoire |
|---|
| 366 |
<quote>home</quote> pour le stockage des journaux applicatifs.</para> |
|---|
| 367 |
|
|---|
| 368 |
<para> Ce script ne nécessite pas l'utilisation de gestionnaire de logs d'Apache, |
|---|
| 369 |
sachant que &postgres; version 8 gÚre lui-même la rotation des logs, |
|---|
| 370 |
il semble inopportun de garder une dépendance à une <quote>technologie</quote> |
|---|
| 371 |
de rotation spécifique. </para> |
|---|
| 372 |
</listitem> |
|---|
| 373 |
|
|---|
| 374 |
<listitem><para><envar>CLUSTERS</envar> est la liste des clusters &slony1; qui sont gérés.</para> |
|---|
| 375 |
</listitem> |
|---|
| 376 |
|
|---|
| 377 |
</itemizedlist> |
|---|
| 378 |
|
|---|
| 379 |
<para> En pratique, vous pouvez lancer ce programme toutes les cinq minutes, et il relancera tous |
|---|
| 380 |
les processus &lslon; manquants. </para> |
|---|
| 381 |
</sect2> |
|---|
| 382 |
|
|---|
| 383 |
<sect2 id="extractschema"><title> <filename> slony1_extract_schema.sh </filename> </title> |
|---|
| 384 |
|
|---|
| 385 |
<indexterm><primary>script - slony1_extract_schema.sh</primary></indexterm> |
|---|
| 386 |
|
|---|
| 387 |
<para> Si vous souhaiterez créer un nouveau noeud, aprÚs la création du cluster, le script <filename> |
|---|
| 388 |
slony1_extract_schema.sh </filename> vous aidera dans cette tache.</para> |
|---|
| 389 |
|
|---|
| 390 |
<para> La commande d'exécution peut ressembler à la ligne suivante :</para> |
|---|
| 391 |
|
|---|
| 392 |
<para><command> PGPORT=5881 PGHOST=master.int.example.info ./slony1_extract_schema.sh payroll payroll temppayroll </command> </para> |
|---|
| 393 |
|
|---|
| 394 |
<para> Elle réalise les actions suivantes :</para> |
|---|
| 395 |
|
|---|
| 396 |
<itemizedlist> |
|---|
| 397 |
<listitem><para> Elle fait un dump du schéma du noeud origine, y compris les informations du schéma |
|---|
| 398 |
du cluster &slony1;. </para> |
|---|
| 399 |
<para> Notons que les variables d'environnement <envar>PGPORT</envar> |
|---|
| 400 |
et <envar>PGHOST</envar> fournissent des informations additionnelles sur l'emplacement de la |
|---|
| 401 |
base de données. </para> |
|---|
| 402 |
</listitem> |
|---|
| 403 |
|
|---|
| 404 |
<listitem><para> Ces informations sont chargées dans une table temporaire fraîchement créée : <envar>temppayroll</envar> </para> |
|---|
| 405 |
</listitem> |
|---|
| 406 |
<listitem><para> Les OIDs de table et de séquence dans les tables &slony1; sont corrigées pour |
|---|
| 407 |
pointer vers la configuration de la base temporaire. </para> </listitem> |
|---|
| 408 |
<listitem><para> Un script slonik est lancé pour effectuer l'action <xref linkend="stmtuninstallnode"/> |
|---|
| 409 |
sur la base temporaire. Ceci élimine toutes les tables et le schéma spécifique à &slony1; |
|---|
| 410 |
et supprime les triggers &slony1; des tables répliquées. </para> </listitem> |
|---|
| 411 |
<listitem><para> Enfin, la commande <application>pg_dump</application> est lancée sur la base |
|---|
| 412 |
temporaire, et produit une copie nettoyée du schéma sur la sortie standard. </para> </listitem> |
|---|
| 413 |
</itemizedlist> |
|---|
| 414 |
|
|---|
| 415 |
</sect2> |
|---|
| 416 |
<sect2><title> slony-cluster-analysis </title> |
|---|
| 417 |
|
|---|
| 418 |
<indexterm><primary>script - slony-cluster-analysis</primary></indexterm> |
|---|
| 419 |
|
|---|
| 420 |
<para> Si vous exploitez beaucoup de bases répliquées, au sein de plusieurs clusters &slony1;, |
|---|
| 421 |
il peut devenir pénible de suivre et de documenter votre architecture. |
|---|
| 422 |
L'outil suivant peut vous y aider.</para> |
|---|
| 423 |
|
|---|
| 424 |
<para> <application>slony-cluster-analysis.sh</application> est un script shell |
|---|
| 425 |
conçu pour fournir une analyse à long terme de la configuration d'un cluster |
|---|
| 426 |
&slony1;. Vous passez les variables d'environnement |
|---|
| 427 |
<application>libpq</application> habituelles |
|---|
| 428 |
(<envar>PGHOST</envar>, <envar>PGPORT</envar>, |
|---|
| 429 |
<envar>PGDATABASE</envar>, et ainsi de suite) pour se connecter à un membre du cluster |
|---|
| 430 |
&slony1;, et passer le nom du cluster comme argument.</para> |
|---|
| 431 |
|
|---|
| 432 |
<para> Le script effectue alors les actions suivantes :</para> |
|---|
| 433 |
<itemizedlist> |
|---|
| 434 |
<listitem><para> Lancement d'une séries de requêtes sur les tables &slony1; pour obtenir la liste des |
|---|
| 435 |
noeuds, des voies de communication, des ensembles de réplication et des tables. |
|---|
| 436 |
</para> </listitem> |
|---|
| 437 |
<listitem><para> Ces données sont stockées dans un fichier temporaire situé dans <filename>/tmp</filename> </para> </listitem> |
|---|
| 438 |
<listitem><para> Une comparaison est effectuée entre la configuration présente et la configuration |
|---|
| 439 |
trouvée lors de la derniÚre exécution du script. Si la configuration a changé, un courriel contenant |
|---|
| 440 |
les différences ( produit avec <application>diff</application>) |
|---|
| 441 |
est envoyée à l'adresse spécifiée. </para> </listitem> |
|---|
| 442 |
<listitem><para> Si la configuration a changé, l'ancien fichier de configuration est renommé |
|---|
| 443 |
pour indiquer quand le script a remarqué le changement. </para></listitem> |
|---|
| 444 |
<listitem><para> Finalement, la configuration courante est stockée dans le dossier |
|---|
| 445 |
<envar>LOGDIR</envar> dans un fichier nommé <filename>cluster.last </filename> </para> </listitem> |
|---|
| 446 |
</itemizedlist> |
|---|
| 447 |
|
|---|
| 448 |
<para> Il existe une exemple de script <quote>d'encapsulation</quote>, |
|---|
| 449 |
<filename>slony-cluster-analysis-mass.sh</filename>, qui permet de |
|---|
| 450 |
pointer vers un ensemble de clusters &slony1;.</para> |
|---|
| 451 |
|
|---|
| 452 |
<para> Ceci devrait simplifier la taches des administrateurs ("DBA") sur deux plans : </para> |
|---|
| 453 |
|
|---|
| 454 |
<itemizedlist> |
|---|
| 455 |
|
|---|
| 456 |
<listitem><para> La documentation de l'état courant du systÚme.</para> |
|---|
| 457 |
</listitem> |
|---|
| 458 |
|
|---|
| 459 |
<listitem><para> La surveillance des changements de configuration. </para></listitem> |
|---|
| 460 |
</itemizedlist> |
|---|
| 461 |
|
|---|
| 462 |
</sect2> |
|---|
| 463 |
|
|---|
| 464 |
<sect2 id="configurereplication"> <title> Génération de scripts slonik avec |
|---|
| 465 |
<filename>configure-replication.sh</filename> </title> |
|---|
| 466 |
|
|---|
| 467 |
<indexterm><primary> générer des scripts slonik pour un cluster </primary></indexterm> |
|---|
| 468 |
|
|---|
| 469 |
<para> Le script |
|---|
| 470 |
<filename>configure-replication.sh</filename>, situé dans le répertoire <filename>outil</filename>, |
|---|
| 471 |
est conçu pour automatiser la génération de scripts slonik de configuration de la |
|---|
| 472 |
réplication. La configuration de ce script reprend la même approche que le <xref |
|---|
| 473 |
linkend="testbed"/>.</para> |
|---|
| 474 |
|
|---|
| 475 |
<para> Ce script utilise beaucoup ( peut-être énormément, si votre configuration |
|---|
| 476 |
est particuliÚrement complexe) de variables d'environnement pour déterminer |
|---|
| 477 |
la forme de la configuration du cluster. Il utilise massivement les valeurs par |
|---|
| 478 |
défaut, et dans la plupart des cas, peu de valeurs doivent être positionnées |
|---|
| 479 |
afin d'obtenir une configuration viable. </para> |
|---|
| 480 |
|
|---|
| 481 |
<sect3><title>Valeurs Globales</title> |
|---|
| 482 |
|
|---|
| 483 |
<para> Certaines valeurs sont utilisées universellement partout sur le cluster : </para> |
|---|
| 484 |
|
|---|
| 485 |
<variablelist> |
|---|
| 486 |
<varlistentry><term><envar> CLUSTER </envar></term> |
|---|
| 487 |
<listitem><para> Le nom du cluster Slony-I </para></listitem></varlistentry> |
|---|
| 488 |
<varlistentry><term><envar> NUMNODES </envar></term> |
|---|
| 489 |
<listitem><para> Le nombre de noeuds à configurer</para></listitem></varlistentry> |
|---|
| 490 |
|
|---|
| 491 |
<varlistentry><term><envar> PGUSER </envar></term> |
|---|
| 492 |
<listitem><para> Le nom du super-utilisateur qui contrÎle la réplication</para></listitem></varlistentry> |
|---|
| 493 |
<varlistentry><term><envar> PGPORT </envar></term> |
|---|
| 494 |
<listitem><para> Le numéro du port par défaut</para></listitem></varlistentry> |
|---|
| 495 |
<varlistentry><term><envar> PGDATABASE </envar></term> |
|---|
| 496 |
<listitem><para> Le nom de la base de données par défaut</para></listitem></varlistentry> |
|---|
| 497 |
|
|---|
| 498 |
<varlistentry><term><envar> TABLES </envar></term> |
|---|
| 499 |
<listitem><para> une liste de noms complets de tables (<emphasis>par exemple</emphasis> - un nom |
|---|
| 500 |
incluant l'espace de noms tel que <command>public.ma_table</command>)</para></listitem></varlistentry> |
|---|
| 501 |
<varlistentry><term><envar> SEQUENCES </envar></term> |
|---|
| 502 |
<listitem><para> une liste de noms complets de séquences (<emphasis>par exemple</emphasis> - un nom |
|---|
| 503 |
incluant l'espace de noms tel que <command>public.ma_sequence</command>)</para></listitem></varlistentry> |
|---|
| 504 |
|
|---|
| 505 |
</variablelist> |
|---|
| 506 |
|
|---|
| 507 |
<para>Des valeurs par défauts sont fournies pour <emphasis>chacune</emphasis> de ces valeurs, |
|---|
| 508 |
si bien que si vous lancez <filename>configure-replication.sh</filename> |
|---|
| 509 |
sans configurer aucune variable d'environnement, vous obtiendrez |
|---|
| 510 |
un ensemble de scripts slonik. |
|---|
| 511 |
Bien sûr, ils ne correspondront pas aux bases que vous voudrez configurer...</para> |
|---|
| 512 |
</sect3> |
|---|
| 513 |
|
|---|
| 514 |
<sect3><title>Valeur spécifique à un noeud</title> |
|---|
| 515 |
|
|---|
| 516 |
<para>Pour chaque node, il y a également quatre variables d'environnement; |
|---|
| 517 |
pour le noeud 1: </para> |
|---|
| 518 |
<variablelist> |
|---|
| 519 |
<varlistentry> |
|---|
| 520 |
<term><envar> DB1 </envar></term> |
|---|
| 521 |
<listitem><para> La base de données à laquelle les scripts doivent se connecter</para></listitem> |
|---|
| 522 |
</varlistentry> |
|---|
| 523 |
<varlistentry><term><envar> USER1 </envar></term> |
|---|
| 524 |
<listitem><para> Le super-utilisateur utilisé pour la connexion</para></listitem> |
|---|
| 525 |
</varlistentry> |
|---|
| 526 |
<varlistentry><term><envar> PORT1 </envar></term> |
|---|
| 527 |
<listitem><para> Le port</para></listitem> |
|---|
| 528 |
</varlistentry> |
|---|
| 529 |
<varlistentry><term><envar> HOST1 </envar></term> |
|---|
| 530 |
<listitem><para> L'hÃŽte</para></listitem> |
|---|
| 531 |
</varlistentry> |
|---|
| 532 |
</variablelist> |
|---|
| 533 |
|
|---|
| 534 |
<para> Il est trÚs probable que <envar>DB*</envar>, |
|---|
| 535 |
<envar>USER*</envar>, et <envar>PORT*</envar> correspondent aux |
|---|
| 536 |
variables globales <envar>PGDATABASE</envar>, <envar>PGUSER</envar>, et |
|---|
| 537 |
<envar>PGPORT</envar> décrites précédemment; |
|---|
| 538 |
Conserver cette correspondance est souvent une bonne chose.</para> |
|---|
| 539 |
|
|---|
| 540 |
<para> En revanche, Les valeurs <envar>HOST*</envar> doivent être définies |
|---|
| 541 |
explicitement pour <envar>HOST1</envar>, <envar>HOST2</envar>, ..., |
|---|
| 542 |
car il n'est pas trÚs malin de mettre en place un systÚme de réplication |
|---|
| 543 |
si toutes les bases redondantes se trouvent sur le même serveur !</para> |
|---|
| 544 |
|
|---|
| 545 |
</sect3> |
|---|
| 546 |
<sect3><title>Les scripts slonik générés</title> |
|---|
| 547 |
<para> Les scripts de configuration slonik sont générés dans un répertoire |
|---|
| 548 |
temporaire à l'intérieur de <filename>/tmp</filename>. |
|---|
| 549 |
Leur usage est le suivant :</para> |
|---|
| 550 |
|
|---|
| 551 |
<itemizedlist> |
|---|
| 552 |
|
|---|
| 553 |
<listitem> <para><filename>preamble.slonik</filename> est un fichier |
|---|
| 554 |
<quote>préambule</quote> contenant les informations de connexion utilisées |
|---|
| 555 |
par les autres scripts.</para> |
|---|
| 556 |
|
|---|
| 557 |
<para> Vérifier attentivement celui-ci; vous pourrez le réutiliser pour |
|---|
| 558 |
les futures opérations de maintenance que vous effectuerez sur le cluster.</para> |
|---|
| 559 |
</listitem> |
|---|
| 560 |
|
|---|
| 561 |
<listitem><para> <filename>create_set.slonik</filename></para> |
|---|
| 562 |
|
|---|
| 563 |
<para>Ce script est le premier qu'il faut lancer; il paramÚtre les noeuds |
|---|
| 564 |
spécifiés en noeud &slony1;, en y ajoutant les tables et les autres objets |
|---|
| 565 |
spécifiques de &slony1;. |
|---|
| 566 |
</para> |
|---|
| 567 |
|
|---|
| 568 |
<para>Vous pouvez/devez lancer les processus slon juste aprÚs cette étape.</para> |
|---|
| 569 |
</listitem> |
|---|
| 570 |
<listitem><para><filename> store_paths.slonik</filename></para> |
|---|
| 571 |
|
|---|
| 572 |
<para> Le second script à exécuter; il indique comment |
|---|
| 573 |
les &lslon;s doivent communiquer entre eux. Ce script suppose que |
|---|
| 574 |
tous les &lslon; peuvent parler à tous les noeuds, ce qui n'est peut-être |
|---|
| 575 |
exact dans un environnement peuplé de pare-feux complexes. Si cette supposition |
|---|
| 576 |
n'est pas correcte, vous devez modifier ce script pour corriger les voies de |
|---|
| 577 |
communications.</para> |
|---|
| 578 |
</listitem> |
|---|
| 579 |
|
|---|
| 580 |
<listitem> |
|---|
| 581 |
<para><filename>create_set.slonik</filename></para> |
|---|
| 582 |
|
|---|
| 583 |
<para> Ce script configure l'ensemble de réplication composé de toutes |
|---|
| 584 |
les tables et les séquences présente dans le schéma de la base de données |
|---|
| 585 |
de votre application.</para> |
|---|
| 586 |
|
|---|
| 587 |
<para> Lorsque vous lancez ce script, la seule actions menées est |
|---|
| 588 |
l'ajout de triggers sur le noeud origine (noeud #1) qui vont commencer |
|---|
| 589 |
à collecter les mises à jours. La réplication ne commencera qu'à |
|---|
| 590 |
l'étape #5...</para> |
|---|
| 591 |
|
|---|
| 592 |
<para>Il y a deux suppositions dans ce scripts qui peuvent ne pas être |
|---|
| 593 |
valides dans certaines circonstances:</para> |
|---|
| 594 |
|
|---|
| 595 |
<itemizedlist> |
|---|
| 596 |
<listitem> |
|---|
| 597 |
<para> que toutes les tables et les séquences soit répliquées.</para> |
|---|
| 598 |
<para> Ceci n'est pas valide lorsque de nouvelles tables |
|---|
| 599 |
sont ajoutée dans votre schéma et qu'elles ne sont pas ajoutées |
|---|
| 600 |
dans le liste <envar>TABLES</envar>.</para> |
|---|
| 601 |
</listitem> |
|---|
| 602 |
<listitem> |
|---|
| 603 |
<para> que toutes les tables sont définies avec des clefs primaires.</para> |
|---|
| 604 |
<para> La bonne pratique est de toujours créer et utiliser de vraies clefs |
|---|
| 605 |
primaires. |
|---|
| 606 |
Si vous avez des tables qui nécessite de choisir une clef primaire candidate ou |
|---|
| 607 |
qui nécessite la création d'une clef additionnelle avec la commande <xref |
|---|
| 608 |
linkend="stmttableaddkey"/>, vous devez modifier ce script à la main pour l'accommoder. |
|---|
| 609 |
</para> |
|---|
| 610 |
</listitem> |
|---|
| 611 |
</itemizedlist> |
|---|
| 612 |
</listitem> |
|---|
| 613 |
<listitem> |
|---|
| 614 |
<para> <filename> subscribe_set_2.slonik </filename></para> |
|---|
| 615 |
|
|---|
| 616 |
<para> et 3, 4, 5, si vous configurez d'autres noeuds... </para> |
|---|
| 617 |
|
|---|
| 618 |
<para> Ceci est l'étape qui <quote>déclenche</quote> |
|---|
| 619 |
réplication.</para> |
|---|
| 620 |
|
|---|
| 621 |
<para> Ce script fait la supposition que tous les noeuds abonnés voudront |
|---|
| 622 |
s'abonner directement au noeud origine. Si vous souhaitez mettre en place |
|---|
| 623 |
des <quote>sous-clusters</quote>,avec peut-être un noeud maître dans chaque |
|---|
| 624 |
datacenter, vous devez modifier ces scripts.</para> |
|---|
| 625 |
|
|---|
| 626 |
<para> Les processus slon doivent fonctionner au moment ou vous réaliser cette |
|---|
| 627 |
étape. Il est absurde de lancer ces scripts lorsque ce n'est pas le cas. |
|---|
| 628 |
</para> |
|---|
| 629 |
</listitem> |
|---|
| 630 |
</itemizedlist> |
|---|
| 631 |
</sect3> |
|---|
| 632 |
</sect2> |
|---|
| 633 |
|
|---|
| 634 |
<sect2 id="bsd-ports-profile"> <title> <filename> slon.in-profiles </filename> </title> |
|---|
| 635 |
<subtitle> profiles dans le style d'Apache pour FreeBSD <filename>ports/databases/slony/*</filename> </subtitle> |
|---|
| 636 |
|
|---|
| 637 |
<indexterm><primary> profiles dans le style d'Apache pour FreeBSD </primary> <secondary>FreeBSD </secondary> </indexterm> |
|---|
| 638 |
|
|---|
| 639 |
<para> Dans le répertoire <filename>tools</filename>, le script <filename>slon.in-profiles</filename> permet de lancer des instances |
|---|
| 640 |
&lslon; lors du démarrage du systÚme. Il est conçu pour interagir avec |
|---|
| 641 |
systÚmes des ports de FreeBSD.</para> |
|---|
| 642 |
|
|---|
| 643 |
</sect2> |
|---|
| 644 |
|
|---|
| 645 |
|
|---|
| 646 |
<sect2 id="duplicate-node"> <title> <filename> duplicate-node.sh </filename> </title> |
|---|
| 647 |
<indexterm><primary> dupliquer un noeud </primary> </indexterm> |
|---|
| 648 |
<para> Dans le répertoire <filename>tools</filename>, le script |
|---|
| 649 |
<filename>duplicate-node.sh</filename> aide à créer un nouveau noeud |
|---|
| 650 |
en dupliquant un des noeuds du cluster.</para> |
|---|
| 651 |
|
|---|
| 652 |
<para> Ce script attend les paramÚtres suivants : </para> |
|---|
| 653 |
<itemizedlist> |
|---|
| 654 |
<listitem><para> Le nom du cluster</para> </listitem> |
|---|
| 655 |
<listitem><para> Le numéro du nouveau noeud </para> </listitem> |
|---|
| 656 |
<listitem><para> Le noeud origine </para> </listitem> |
|---|
| 657 |
<listitem><para> Le noeud répliqué </para> </listitem> |
|---|
| 658 |
<listitem><para> Le nouveau noeud </para> </listitem> |
|---|
| 659 |
</itemizedlist> |
|---|
| 660 |
<para> Pour chaque noeud spécifié, le scripts permet de préciser |
|---|
| 661 |
les paramÚtres de type <function>libpq</function> pour |
|---|
| 662 |
<envar>PGHOST</envar>, <envar>PGPORT</envar>, |
|---|
| 663 |
<envar>PGDATABASE</envar>, et <envar>PGUSER</envar>; Le fichier |
|---|
| 664 |
<filename>.pgpass</filename> peut être utilisé pour le stockage |
|---|
| 665 |
des mots de passe, ce qui est généralement considéré comme une |
|---|
| 666 |
bonne pratique. Lorsqu'elle ne sont pas définie, ces valeurs peuvent |
|---|
| 667 |
hériter des variables d'environnement <function>libpq</function>, |
|---|
| 668 |
ce qui est pratique quand on réalise des tests. Toutefois |
|---|
| 669 |
lorsque que ce script est utilisé <quote>de maniÚre brutale</quote>, |
|---|
| 670 |
il est souvent nécessaire de définir les 14 paramÚtres disponibles.</para> |
|---|
| 671 |
|
|---|
| 672 |
<para> Ce script prépare des fichiers, placés dans |
|---|
| 673 |
<filename>/tmp</filename>, et annonce le nom du répertoire |
|---|
| 674 |
qu'il a créé pour les scripts SQL et &lslonik; de configuration |
|---|
| 675 |
du nouveau noeud. </para> |
|---|
| 676 |
|
|---|
| 677 |
<itemizedlist> |
|---|
| 678 |
<listitem> |
|---|
| 679 |
<para><filename> schema.sql </filename></para> |
|---|
| 680 |
<para> Ce script est tiré du noeud origine et contient le schéma |
|---|
| 681 |
de données <quote>originel</quote> qui doit être appliqué au départ.</para> |
|---|
| 682 |
</listitem> |
|---|
| 683 |
<listitem> |
|---|
| 684 |
<para> <filename> slonik.preamble </filename> </para> |
|---|
| 685 |
<para> Ce fichier <quote>preamble</quote> est utilisé par l'ensemble des scripts slonik ci-dessous. </para> |
|---|
| 686 |
</listitem> |
|---|
| 687 |
<listitem> |
|---|
| 688 |
<para> <filename> step1-storenode.slonik </filename> </para> |
|---|
| 689 |
<para> Un script &lslonik; qui configure le nouveau noeud.</para> |
|---|
| 690 |
</listitem> |
|---|
| 691 |
<listitem> |
|---|
| 692 |
<para> <filename> step2-storepath.slonik </filename> </para> |
|---|
| 693 |
<para> Un script &lslonik; qui met en place les voies de communication entre |
|---|
| 694 |
le noeud fournisseur et le nouveau noeud. </para> |
|---|
| 695 |
</listitem> |
|---|
| 696 |
<listitem> |
|---|
| 697 |
<para> <filename> step3-subscribe-sets.slonik </filename> </para> |
|---|
| 698 |
<para> Un script &lslonik; qui demande la souscriptions à tous les ensembles de |
|---|
| 699 |
réplications.</para> |
|---|
| 700 |
</listitem> |
|---|
| 701 |
</itemizedlist> |
|---|
| 702 |
<para> Lorsque l'on effectue un test, cela est suffisant pour faire fonctionner |
|---|
| 703 |
un nouveau noeud. La configuration ne doit pas forcément correspondre à une |
|---|
| 704 |
configuration finale, notamment :</para> |
|---|
| 705 |
<itemizedlist> |
|---|
| 706 |
<listitem> |
|---|
| 707 |
<para> Il est souhaitable de construire des voies de communication |
|---|
| 708 |
supplémentaires afin d'assurer leur redondance. </para> |
|---|
| 709 |
</listitem> |
|---|
| 710 |
<listitem> |
|---|
| 711 |
<para> Les scripts générés supposent que le nouveau noeud doit |
|---|
| 712 |
être un noeud transmetteur ("forwarding"); ce qui n'est pas forcément vrai. </para> |
|---|
| 713 |
</listitem> |
|---|
| 714 |
<listitem> |
|---|
| 715 |
<para> Il est parfois souhaitable, une fois que le processus d'abonnement |
|---|
| 716 |
est réalisé complÚtement, de modifier les abonnements. </para> |
|---|
| 717 |
</listitem> |
|---|
| 718 |
</itemizedlist> |
|---|
| 719 |
|
|---|
| 720 |
</sect2> |
|---|
| 721 |
</sect1> |
|---|