<chapter id="createsnap"><title>Création des instantanés</title>

<para>Ce chapitre traite des instantanés de volumes et de leurs créations.</para>

<sect1 id="whatsnap"><title>Définition d'un instantané de volume</title>
<para>Un instantané de volume représente une "image figée" d'un volume. Le volume source d'un instantané de volume s'appelle un "original". Lorsqu'un instantané de volume est créé, il est strictement identique à l'original tel qu'il est à ce moment précis de sa création. Quand des changements sont effectués sur l'original, l'instantané de volume ne change pas et reste identique à l'original tel qu'il était au moment où l'instantané a été créé.</para>

<para>
L'opération de création d'instantanés de volumes permet de garder un volume en fonctionnement au moment où la sauvegarde est créée. Cette méthode est beaucoup plus pratique qu'une sauvegarde de données qui oblige à arrêter le volume pour obtenir une sauvegarde cohérente. Pour la sauvegarde avec un instantané de volume, un instantané de volume du volume est créé, puis une sauvegarde est faite à partir de cet instantané, l'original reste alors utilisable durant toute l'opération.</para>
</sect1>

<sect1 id="creatsnapobj"><title>Création d'objets instantané de volume</title>
  <para>Vous pouvez créer un objet instantané de volume à partir de n'importe quel objet de stockage non utilisé dans EVMS (disques, segments, régions, ou objets de fonctions). La taille de l'objet utilisé est la taille disponible pour l'objet instantané de volume. L'objet instantané de volume peut être plus petit ou plus grand que le volume original. Si l'objet est plus petit, le volume de l'instantané de volume pourra se remplir complètement étant donné que les données sont copiées de l'original vers l'instantané de volume, ce qui permet de laisser à l'original un niveau d'activité suffisant. Dans cette situation, l'instantané de volume est désactivé et les entrées/sorties supplémentaires sur l'instantané de volume échouent.</para>

  <para>La taille de l'objet instantané de volume sera basée sur le niveau d'activité qui sera susceptible d'exister sur l'original tout au long de la durée de vie de l'instantané de volume. Plus il y a de changements qui interviennent sur l'original et plus la durée prévue que l'instantané de volume reste actif sera longue, plus la taille de l'objet instantané de volume devra être importante. Il est clair que ce calcul n'est pas simple à faire et se fera nécessairement par tâtonnements afin de déterminer la taille adéquate de l'objet instantané de volume à utiliser pour une situation donnée. L'objectif est de créer un objet instantané de volume, ni trop petit pour éviter une désactivation si l'instantané de volume remplit le volume, ni trop grand pour ne pas gaspiller l'espace disque. Dans le cas où l'objet instantané de volume est de la même taille ou un peu plus grand que l'original, pour prendre en compte les tables de correspondances de l'instantané de volume, l'instantané de volume n'est jamais désactivé.</para>



  <para>Après avoir créé l'objet instantané de volume et enregistré les changments, l'instantané de volume sera activé (à condition que l'objet fils de l'instantané soit déjà actif). Cela représente un changement par rapport aux instantanés de volumes de EVMS 2.3.x et de ses versions précédentes, où l'instantané de volume n'était pas activé tant que l'objet n'était pas transformé en un volume EVMS. Si vous souhaitez avoir un instantané de volume inactif, ajoutez le nom de l'objet instantané de volume à la ligne «activate.exclude» dans le fichier de configuration EVMS (voir la section concernant l'activation sélective pour plus d'informations). Si à un moment ou à un autre vous décidez de désactiver un objet instantané de volume alors que le volume original est toujours actif, l'instantané de volume sera réinitialisé. La prochaine fois que l'objet instantané de volume sera activé, il reflétera l'état du volume original à ce moment précis, comme si l'instantané de volume venait d'être créé.</para>

  <para>Afin de monter l'instantané de volume, il reste encore à convertir l'objet instantané de volume en volume EVMS. Le volume peut avoir le même nom que l'objet de l'instantané de volume, ou un autre nom.</para>
</sect1>

<sect1 id="createsnapex"><title>Exemple&nbsp;: Création d'un instantané de volume</title>

  <para>Cette section détaille la façon de créer un instantané de volume avec EVMS&nbsp;:</para>

  <blockquote><example><title>Création de l'instantané de volume d'un volume</title>
      <para>Créez un nouvel instantané de volume de <filename>/dev/evms/vol</filename> sur <filename>lvm/Sample Container/Sample Region</filename>, et appelez le "snap".
      </para></example></blockquote>

<sect2 id="guicreatesnap"><title>Utilisation de l'interface EVMS</title>

  <para>Pour créer l'instantané de volume en utilisant cette interface, suivez les étapes ci-dessous&nbsp;:</para>
<orderedlist>
  <listitem><para>Sélectionnez 
  <menuchoice>
    <guimenu>Actions</guimenu>
    <guimenuitem>Create</guimenuitem>
    <guimenuitem>Feature Objects</guimenuitem> 
  </menuchoice>
  pour obtenir la liste des objets de fonction d'EVMS.
  </para></listitem>

  <listitem><para>Sélectionnez <guimenuitem>Snapshot Feature.</guimenuitem></para></listitem>
  
  <listitem><para>Cliquez sur <guibutton>Next.</guibutton></para></listitem>
  
  <listitem><para>Sélectionnez <filename>lvm/Sample Container/Sample Region</filename></para></listitem>
  
  <listitem><para>Cliquez sur <guibutton>Next.</guibutton></para></listitem>
  
  <listitem><para>Sélectionnez <filename>/dev/evms/vol</filename> dans la liste du champ <guilabel>"Volume to be Snapshotted".</guilabel></para></listitem>
      
  <listitem><para>Tapez <userinput>snap</userinput> dans le champ <guilabel>"Snapshot Object Name"</guilabel>.</para></listitem>
  
  <listitem><para>Cliquez sur <guibutton>Create</guibutton>.</para></listitem>
</orderedlist>

<para>On peut aussi effectuer la plupart des étapes de création de l'instantané de volume grâce au menu contextuel de l'interface&nbsp;:</para>
<orderedlist>
  <listitem><para>À partir de l'onglet <guimenuitem>Available Objects</guimenuitem>, faites un clic droit sur <filename>lvm/Sample Container/Sample Region</filename>.</para></listitem>
  
  <listitem><para>Cliquez sur <guibutton>Create Feature Object...</guibutton></para></listitem>
  
  <listitem><para>Poursuivez la création de l'instantané de volume en reprenant à l'étape 2 des indications données pour l'interface. Vous pouvez sauter les étapes 4 et 5 de ces indications .</para></listitem>
</orderedlist>
</sect2>

<sect2 id="ncursecreatesnap"><title>Utilisation de Ncurses</title>
  
  <para>
  
    Pour créer l'instantané de volume, suivez les étapes 
    ci-dessous&nbsp;:</para>

<orderedlist>

  <listitem><para>Sélectionnez 
  <menuchoice>
    <guimenu>Actions</guimenu> 
    <guisubmenu>Create</guisubmenu>
    <guimenuitem>Feature Objects</guimenuitem> 
  </menuchoice>
  pour obtenir la liste des objets de fonction d'EVMS.</para></listitem>

  <listitem><para>Sélectionnez <guimenuitem>Snapshot Feature</guimenuitem>.</para></listitem>

  <listitem><para>Activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Sélectionnez <filename>lvm/Sample Container/Sample Region.</filename></para></listitem>

  <listitem><para>Activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Appuyez sur la <keycap>barre d'espace</keycap> pour éditer le champ <guilabel>"Volume to be Snapshotted"</guilabel>.</para></listitem>

  <listitem><para>Mettez en surbrillance <filename>/dev/evms/vol</filename> et appuyez sur la <keycap>barre d'espace</keycap> pour sélectionner.</para></listitem>

  <listitem><para>Activez <guibutton>OK</guibutton>.</para></listitem>

  <listitem><para>Mettez en surbrillance <guilabel>"Snapshot Object Name"</guilabel> et appuyez sur la <keycap>barre d'espace</keycap> pour éditer.</para></listitem>

  <listitem><para>Tapez <userinput>snap</userinput> à l'invite  «&nbsp;::&nbsp;». Appuyez sur <keycap>Entrée</keycap>.</para></listitem>

  <listitem><para>Activez <guibutton>Create</guibutton>.</para></listitem>
</orderedlist>
  
<para>Autre possibilité, vous pouvez effectuer certaines de ces étapes à partir du menu contextuel&nbsp;:</para>
<orderedlist>
  <listitem><para>À partir de la vue <guimenuitem>Available Objects</guimenuitem>, pressez <keycap>Entrée</keycap> sur <filename>lvm/Sample Container/Sample Region</filename>.</para></listitem>
  
  <listitem><para>Activer l'élément <guimenuitem>Create Feature Object</guimenuitem> du menu.</para></listitem>
  
  <listitem><para>Poursuivez la création de l'instantané de volume en reprenant à l'étape 6 des indications pour Ncurses.</para></listitem>
</orderedlist>
</sect2>


<sect2 id="clicreatesnap"><title>Utilisation du CLI</title>
  
  <para>Utilisez la commande <command>create</command> pour créer un instantané de volume grâce au CLI. Passez le mot-clé <command>"Object"</command> en argument de la commande <command>create</command>, suivi du plug-in et de ses options, et enfin les objets.</para>

<para>Pour déterminer les options pour le plug-in que vous allez utiliser, entrez la commande suivante&nbsp;:</para>
<programlisting>query: plugins, plugin=Snapshot, list options</programlisting>

<para>Et maintenant construisez la commande create, comme suit&nbsp;:</para>
<programlisting>create: object, Snapshot={original=/dev/evms/vol, snapshot=snap}, "lvm/Sample Container/Sample Region"</programlisting>
</sect2>
</sect1>


<sect1 id="reinitsnap"><title>Réinitialisation d'un instantané de volume&nbsp;:</title>

  <para>Les instantanés de volumes peuvent être réinitialisés. Une réinitialisation provoque la suppression des données enregistrées et, dès cet instant, un nouvel instantané de volume est lancé. Un instantané de volume réinitialisé possède le même volume original, la même taille et les mêmes drapeaux inscriptibles que l'instantané de volume d'origine.
  
  Pour réinitialiser un instantané de volume, utilisez la commande Reset sur l'objet de l'instantané de volume (et non sur le volume de l'instantané de volume). Cette commande réinitialise l'instantané de volume sans que l'on soit obligé de désactiver et de réactiver manuellement le volume. L'instantané de volume doit être actif, mais démonté pour être réinitialisé.

  Cette section reprend l'exemple de la section précédente, où il s'agissait de créer un objet instantané de volume et un volume. L'objet instantané de volume s'appelle "snap" et le volume  <filename>"/dev/evms/snap"</filename>.</para>


<sect2 id="guincursereinitsnap"><title>Utilisation de l'interface EVMS  ou de Ncurses</title>
  
  <para>Pour réinitialiser un instantané de volume, suivez les étapes ci dessous&nbsp;:</para>
<orderedlist>
  <listitem><para>Sélectionnez 
  <menuchoice>
    <guimenu>Actions</guimenu>
    <guimenuitem> Other</guimenuitem> 
    <guimenuitem>Storage Object Tasks</guimenuitem>
  </menuchoice>
  </para></listitem>

  <listitem><para>Sélectionnez le volume <filename>"snap"</filename>.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Sélectionnez <guimenuitem>Reset</guimenuitem>.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guimenuitem>Reset</guimenuitem> sur le panneau d'action.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guimenuitem>Reset</guimenuitem> sur le panneau d'alerte.</para></listitem>
</orderedlist>

<para>Autre possibilité: on peut effectuer ces mêmes étapes à partir du menu contextuel&nbsp;:</para>
<orderedlist>
  <listitem><para>À partir du panneau <guimenuitem>Feature Objects</guimenuitem>, faites un clic droit (ou appuyez sur <keycap>Entrée</keycap>) sur l'objet snap.</para></listitem>
  
  <listitem><para>Cliquez sur ou activez <guimenuitem>Reset</guimenuitem> dans le menu contextuel.</para></listitem>
  
  <listitem><para>Cliquez sur ou activez <guimenuitem>Reset</guimenuitem> dans le panneau d'action.</para></listitem>
  
  <listitem><para>Cliquez sur ou activez <guimenuitem>Reset</guimenuitem> dans le panneau d'alerte.</para></listitem>
</orderedlist>
</sect2>


<sect2 id="clireinitsnap"><title>Utilisation du CLI</title>

  <para>Pour réinitialiser un instantané de volume avec le CLI, suivez les étapes ci-dessous&nbsp;:</para>
<orderedlist>
  <listitem><para>Exécutez la commande suivante dans le CLI&nbsp;:
  <programlisting>task&nbsp;: reset, snap</programlisting>
  </para></listitem>

<listitem><para>Pressez <keycap>Entrée</keycap> pour sélectionner <guimenuitem>"Reset"</guimenuitem> (le choix par défaut) lors du message d'alerte.</para></listitem>
</orderedlist>
</sect2>
</sect1>


<sect1 id="expsnap"><title>Extension d'un instantané de volume</title>
<para>
  Comme nous l'avons mentionné dans la section 11.2, comme les données sont copiées du volume original vers le volume de l'instantané de volume, l'espace disque disponible prévu pour l'instantané de volume peut se remplir complètement, générant ainsi l'invalidation de l'instantané de volume. Une telle situation peut provoquer la fin prématurée de la sauvegarde des données, puisque le volume de l'instantané de volume commencera à retourner des erreurs d'entrée/sortie après son invalidation.

  Pour résoudre ce problème, EVMS a désormais la capacité d'étendre l'espace de stockage pour un objet de l'instantané de volume pendant que le volume de l'instantané de volume est actif et monté. Cette fonction  permet de créer au départ un objet de l'instantané de volume de petite taille, puis d'étendre la taille de l'objet au fur et à mesure que l'espace se remplit.

  Afin d'étendre l'objet instantané de volume, les objets sous-jacents doivent être extensibles. Reprenons l'exemple de la section précédente, l'objet "snap" est construit sur la région LVM <filename>lvm/Sample Container/Sample Region</filename>. Quand nous parlons de l'extension de l'objet "snap", l'objet qui est en fait étendu est la région <filename>lvm/Sample Container/Sample Region</filename>, et l'objet "snap" utilise simplement le nouvel espace disponible sur cette région. Ainsi pour avoir un instantané de volume extensible, il faudra donc normalement créer l'objet instantané au-dessus des régions LVM qui ont de l'espace libre disponible supplémentaire dans leur conteneur LVM. Les objets de lien de disque [DriveLink] et certains segments de disques peuvent aussi fonctionner dans certaines conditions.

  On peut noter un aspect assez particulier de l'extension d'un instantané de volume&nbsp;: l'objet instantané et le volume ne semblent pas en fait s'étendre une fois l'opération terminée. Du fait que l'instantané de volume est sensé être une image figée du volume original, le volume de l'instantané de volume a toujours la même taille que l'original, même si l'instantané de volume a été étendu. Cependant, on peut vérifier que l'objet de l'instantané de volume utilise l'espace supplémentaire en affichant les détails de l'objet instantané de volume et en comparant le champ pourcentage de rempli [percent-full] avant et après l'opération d'extension.
</para>


<sect2 id="guincurseexpsnap"><title>Utilisation de l'interface EVMS  ou de Ncurses</title>

  <para>Pour créer l'instantané de volume avec l'interface ou avec Ncurses, suivez les étapes ci-dessous&nbsp;:</para>
<orderedlist>
  <listitem><para>Sélectionnez
  <menuchoice> 
    <guimenu>Actions</guimenu>
    <guimenuitem>Expand </guimenuitem>
    <guimenuitem>Volume </guimenuitem>
  </menuchoice>pour obtenir la liste des objets de fonction EVMS.</para></listitem>

  <listitem><para>Sélectionnez le volume <filename>/dev/evms/snap</filename>.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Sélectionnez <filename>lvm/Sample Container/Sample Region</filename>. C'est cet objet-là qui sera effectivement étendu.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Sélectionnez les options pour l'extension de la région LVM, y compris la quantité d'espace libre supplémentaire à ajouter à la région.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Expand</guibutton>.</para></listitem>

</orderedlist>

<para>Autre possibilité: on peut effectuer les mêmes étapes en utilisant le menu contextuel.</para>
<orderedlist>
  <listitem><para>À partir du panneau <guimenuitem>Volume</guimenuitem>, faites un clic droit (ou appuyez sur <keycap>Entrée</keycap>) sur<filename> /dev/evms/snap</filename>.</para></listitem>

  <listitem><para>Sélectionnez <guimenuitem>Expand</guimenuitem> à partir du menu contextuel.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Sélectionnez la région <filename>lvm/Sample Container/Sample Region</filename>. C'est l'objet qui sera réellement étendu.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Sélectionnez les options pour l'extension de la région LVM, y compris la quantité d'espace libre supplémentaire à ajouter à la région.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guimenuitem>Expand</guimenuitem>.</para></listitem>

</orderedlist>
</sect2>


<sect2 id="cliexpsnap"><title>Utilisation du CLI</title>

<para>Le CLI étend les volumes en ciblant les objets à étendre. Le CLI gère automatiquement l'extension des volumes et des autres objets au-dessus du volume dans le stock de volume. Comme pour une opération d'extension normale, le plug-in de l'objet à étendre détermine les options.

Exécutez la commande suivante pour déterminer les options pour l'extension de la région <filename>lvm/Sample Container/Sample Region</filename>&nbsp;:
  <programlisting>query:region, region=«&nbsp;lvm/Sample Container/Sample Region&nbsp;»,lo</programlisting>

  L'option à utiliser pour l'extension de cette région s'appelle <command>"add_size"</command>. Exécutez la commande ci-après pour étendre l'instantané de volume de 100 Mo&nbsp;:
<programlisting>expand:«&nbsp;lvm/Sample Container/Sample Region&nbsp;», add_size=100MB</programlisting>
</para>
</sect2>
</sect1>


<sect1 id="delsnap"><title>Suppression d'un instantané de volume</title>

  <para>Lorsqu'un instantané de volume n'est plus nécessaire, il est possible de l'enlever en supprimant le volume EVMS de l'objet instantané de volume, et ensuite en supprimant l'objet instantané de volume. Comme l'instantané de volume a enregistré l'état initial du volume original (et non le changement d'état), l'original est en permanence à jour et ne nécessite aucune modification lors de la suppression de l'instantané de volume.</para>
</sect1>


<sect1 id="rollbacksnap"><title>Restauration d'un instantané de volume</title>

  <para>Dans certaines situations, l'utilisateur peut vouloir restaurer le volume original à l'état où il était avec l'instantané de volume enregistré. Cette opération s'appelle une restauration [rollback]. Un tel scénario peut apparaître si les données du volume original sont perdues ou corrompues. La restauration de l'instantané de volume agit comme un mécanisme rapide de secours et de restauration, et il permet à l'utilisateur d'éviter une plus longue opération de restauration à partir de bandes ou autres archives.

  Une autre situation où la restauration peut être particulièrement utile est quand vous testez un nouveau logiciel. Avant l'installation d'un nouveau logiciel, créez  un instantané de volume, ayant les droits d'écriture, sur le volume cible. Vous pouvez ensuite installer le logiciel sur le volume de l'instantané de volume, au lieu de l'original, et ensuite tester et vérifier ce nouveau logiciel sur l'instantané de volume. Si le test est réussi, vous pouvez alors restaurer l'instantané de volume à la place de l'original, et ainsi installer le logiciel sur le système normal. Si un problème apparaît durant le test, il suffit simplement de supprimer l'instantané de volume, sans abîmer le volume original.

On peut effectuer une restauration lorsque les conditions suivantes sont remplies&nbsp;:
l'instantané de volume et le volume original doivent être démontés ou sinon inutilisés,
il n'y a qu'un seul instantané de volume pour un original.

Si un original a plusieurs instantanés de volumes, les instantanés de volumes non désirés doivent être supprimés avant que la restauration puisse avoir lieu.
</para>

<sect2 id="guincurserbsnap"><title>Utilisation de l'interface EVMS  ou de Ncurses</title>

<para>Suivez les étapes ci-dessous pour restaurer un instantané avec EVMS  ou Ncurses&nbsp;:</para>
<orderedlist>
  <listitem><para>Sélectionnez 
  <menuchoice>
    <guimenu>Actions</guimenu> 
    <guimenuitem>Other</guimenuitem> 
    <guimenuitem>Storage Objects Tasks</guimenuitem>
  </menuchoice></para></listitem>

  <listitem><para>Sélectionnez l'objet "snap".</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Sélectionnez <guimenuitem>Rollback</guimenuitem>.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guibutton>Next</guibutton>.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guimenuitem>Rollback</guimenuitem> sur le panneau action.</para></listitem>

  <listitem><para>Cliquez sur ou activez <guimenuitem>Rollback</guimenuitem> sur le panneau alerte.</para></listitem>

</orderedlist>

<para>Autre possibilité: on peut effectuer ces mêmes étapes avec le menu contextuel&nbsp;:</para>
<orderedlist>
  <listitem><para>
  
    À partir du panneau <guimenuitem>Feature 
    Objects</guimenuitem>, faites un clic droit (ou appuyer sur 
    <keycap>Entrée</keycap>) sur l'objet "snap".
    
  </para></listitem>

  <listitem><para>
  
    Cliquez sur ou activez <guimenuitem>Rollback</guimenuitem> 
    dans le menu contextuel.
    
  </para></listitem>

  <listitem><para>
  
    Cliquez sur ou activez <guimenuitem>Rollback</guimenuitem> sur 
    le panneauorderedlist action.
    
  </para></listitem>

  <listitem><para>
  
    Cliquez sur ou activez <guimenuitem>Rollback</guimenuitem> sur 
    le panneau alerte.
    
  </para></listitem>

</orderedlist>
</sect2>


<sect2 id="clirbsnap"><title>Utilisation du CLI</title>
<para>
Suivez les étapes ci-dessous pour une restauration avec le CLI&nbsp;:</para>
<orderedlist>
  <listitem><para>Exécutez la commande suivante dans le CLI&nbsp;:
      <programlisting>task:rollback, snap</programlisting>
  </para></listitem>

<listitem><para>Appuyez sur <keycap>Entrée</keycap> pour sélectionner "Rollback" (le choix par défaut) lors du message d'alerte.</para></listitem>
</orderedlist>
</sect2>
</sect1>
</chapter>