Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
fr:lvm_snapshot [2016/12/23 20:43] – [Créer/supprimer un volume] zatalyzfr:lvm_snapshot [2017/07/17 10:04] – [Alternative : copier le clone sur un autre serveur] zatalyz
Ligne 34: Ligne 34:
 Si le volume est à utiliser pour du stockage, il faut le formater et lui attribuer un système de fichier : Si le volume est à utiliser pour du stockage, il faut le formater et lui attribuer un système de fichier :
   mkfs.ext4 /dev/NOM_VG/NOM_LV   mkfs.ext4 /dev/NOM_VG/NOM_LV
 +
 +Vérifier que tout va bien en la montant : 
 +
 +  mkdir /mnt/lv
 +  mount /dev/NOM_VG/NOM_LV /mnt/lv
 +
 +L'ajouter dans le système où elle sera montée (donc depuis une VM si ce n'est pas depuis le système hôte, et dans ce cas ce sera ''/dev/xvdXX''), dans /etc/fstab pour que ce soit monté au démarrage :
 +
 +  /dev/NOM_VG/NOM_LV /mnt/lv ext4 defaults 0 2
  
 Pour supprimer un volume, s'assurer qu'il est démonté, puis simplement : Pour supprimer un volume, s'assurer qu'il est démonté, puis simplement :
Ligne 46: Ligne 55:
 Il faut que la taille du volume soit en rapport avec la table de partition du volume. Il faut que la taille du volume soit en rapport avec la table de partition du volume.
  
-==== lvextend ====+==== lvextend : augmenter ====
 On commence par augmenter la taille du volume. On peut soit dire combien on veut ajouter (''--size'', soit donner tout de suite la taille finale à laquelle on veut arriver (''-size'') : On commence par augmenter la taille du volume. On peut soit dire combien on veut ajouter (''--size'', soit donner tout de suite la taille finale à laquelle on veut arriver (''-size'') :
  
Ligne 76: Ligne 85:
   * http://www.microhowto.info/howto/increase_the_size_of_an_ext2_ext3_or_ext4_filesystem.html   * http://www.microhowto.info/howto/increase_the_size_of_an_ext2_ext3_or_ext4_filesystem.html
  
-==== lvresize ====+==== lvresize : augmenter ou réduire ====
  
-<WRAP center round important 60%> +''lvresize'' est plus puissant car il permet d'étendre ou de réduire. Mais si on réduit en dessous du dernier bit utilisé sur le volume, on va avoir droit à un volume corrompu((C'est ce qui s'est passé à mon dernier test, donc <wrap hi>sauvegardez ce qu'il y a sur le volume avant.</wrap> Mais je ne connaissais pas toutes ces options)).
-Bien que la proposition suivante soit dans la doc d'Ubuntu, il me semble que l'appliquer bêtement va créer des soucis.+
  
-''lvresize'' est plus puissant car il permet d'étendre ou de réduire. Mais si on réduit en dessous du dernier bit utilisé sur le volumeon va avoir droit à un volume corrompu. C'est ce qui s'est passé à mon dernier testdonc <wrap hi>sauvegardez ce qu'il y a sur le volume avant.</wrap> +Il faut d'abord réduire la taille du système de fichierpuis réduire la partition elle-mêmesans quoi la partition se corrompt
-</WRAP>+
  
 +Si la partition est en ext2, 3 ou 4, on utilise resize2fs. 
 +
 +Pour connaître la taille minimale de la partition : 
 +  resize2fs -P /nom/de/la/partition
 +
 +Pour réduire à 50G par exemple :
 +  resize2fs /nom/de/la/partition 500G
  
 Utiliser ''lvresize'' (dans l'exemple, on réduit à 100Go) : Utiliser ''lvresize'' (dans l'exemple, on réduit à 100Go) :
-  lvresize -L 100g /dev/mapper/svg-ca+  lvresize -r -L 100g /dev/mapper/svg-ca 
 + 
 +En théorie, avec l'options -r, pas besoin de faire ''resize2fs'' avant, il fera le redimmensionnement du système de fichier puis de la partition. L'option -L indique la taille finale que l'on souhaite obtenir. 
  
 <WRAP center round important 90%> <WRAP center round important 90%>
Ligne 130: Ligne 147:
  
 Un snapshot conserve toutes les modifications apportées au LV d'origine, afin de pouvoir les rejouer à l'envers, soit à la volée si on utilise le snapshot comme périphérique, soit lors d'un merge. Ansi il est vide au départ et se remplit au fur et à mesure que des modifications sont apportées au LV d'origine. Un snapshot conserve toutes les modifications apportées au LV d'origine, afin de pouvoir les rejouer à l'envers, soit à la volée si on utilise le snapshot comme périphérique, soit lors d'un merge. Ansi il est vide au départ et se remplit au fur et à mesure que des modifications sont apportées au LV d'origine.
 +
 +
 +==== Utilisation du snapshot pour cloner une VM ====
  
 Ici je vais expliquer comment dupliquer une VM en utilisant des snapshots pour réduire le temps d'inactivité. Le cas pratique est la copie de Lirria pour faire Spofu. Ici je vais expliquer comment dupliquer une VM en utilisant des snapshots pour réduire le temps d'inactivité. Le cas pratique est la copie de Lirria pour faire Spofu.
  
  
-==== Création du snapshot ====+=== Création du snapshot ===
  
 La création du snapshot sert pour deux raisons : La création du snapshot sert pour deux raisons :
Ligne 148: Ligne 168:
 La création du snapshot prenant quelques secondes, la VM est arrêté moins d'une minute. La création du snapshot prenant quelques secondes, la VM est arrêté moins d'une minute.
  
-==== Copie du LV ====+=== Copie du LV ===
  
 Le snapshot contenant l'état du LV figé au moment de sa création, il suffit de le copier, on peut utiliser dd sur une partition de même taille que la partition d'origine. Le snapshot contenant l'état du LV figé au moment de sa création, il suffit de le copier, on peut utiliser dd sur une partition de même taille que la partition d'origine.
Ligne 166: Ligne 186:
 La dernière commande étant très longue, on peut aller faire autre chose. La dernière commande étant très longue, on peut aller faire autre chose.
  
-==== Création de la VM ====+=== Création de la VM ===
  
 On va reprendre la configuration et les données de lirria, en modifiant ce qui est nécessaire, à savoir l'adresse IP, et le nom. Que ce soit le nom d'hôte dans la VM, ou le nom de la VM dans XEN. On va reprendre la configuration et les données de lirria, en modifiant ce qui est nécessaire, à savoir l'adresse IP, et le nom. Que ce soit le nom d'hôte dans la VM, ou le nom de la VM dans XEN.
Ligne 200: Ligne 220:
 </WRAP> </WRAP>
  
 +==== Alternative : copier le clone sur un autre serveur ====
 +<WRAP center round important 60%>
 +En cours de test. Copier une VM est très long, ce n'est pas forcément la façon la plus rapide de procéder, mais parfois, c'est utile.
 +</WRAP>
 +
 +Une fois le snapshot créé, le copier (= en faire un clone) pour pouvoir relancer la VM de base rapidement.
 +
 +Dans l'exemple ici, on va cloner liria pour en faire spofu, et envoyer spofu sur un autre serveur. 
 +
 +On commence par éteindre liria, faire son snapshot, puis copier ce dernier (sur le même disque dur) avant de relancer liria. 
 +
 +  screen -DR
 +  xl shutdown lirria
 +  lvcreate -s -L 50G -n liria-disk-snap /dev/groska/liria-disk
 +  lvcreate -L 50G -n spofu-disk groska
 +  dd if=/dev/groska/liria-disk-snap of=/dev/groska/spofu-disk
 +  xl create /etc/xen/liria.cfg
 +
 +Copiez avec dd avant de relancer liria, sinon le snapshot va enregistrer les modifications et c'est le bazar. À noter, vous pouvez du coup créer un snapshot plus petit que le LV de base, du moment qu'il copie tout ce qui est dessus ; le snapshot n'aura pas le temps de se remplir et ça accélérera le transfert. 
 +
 +Ensuite, on vérifie que nos deux serveurs peuvent [[fr:connexion_serveur_admin|communiquer via ssh]], on installe ''pv'' si ce n'est pas fait (cela permet de suivre la progression de l'échange). On prépare sur le serveur d'accueil une place (on ne peux pas directement copier dans /dev/, ça met du bazar), puis on envoie. La commande suivante est à exécuter depuis le serveur primaire vers le serveur secondaire (toujours sous screen ou tmux pour qu'une déconnexion ssh ne casse pas la commande) :
 +  dd if=/dev/groska/spofu-disk bs=4096 | pv | ssh root@192.168.0.20 dd of=/dev/nuxru/spofu-disk bs=4096
 +
 +Il faut ensuite vérifier que le transfert s'est bien passé et donc comparer le checksum des deux volumes : 
 +  md5sum /dev/groska/spofu-disk
 +  md5sum /dev/nuxru/spofu-disk
 +
 +Une fois transféré, on peut étendre la VM (voir [[fr:lvm_snapshot#lvextendaugmenter|plus haut]]) afin d'avoir de la place ensuite. 
  
 ==== Autre usage des snapshots : utilisation du merge ==== ==== Autre usage des snapshots : utilisation du merge ====
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/lvm_snapshot.txt · Dernière modification : 2023/06/19 07:42 de zatalyz

Licences Mentions légales Accueil du site Contact