Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:linux:lvm [2008/09/15 17:59] benoit |
informatique:linux:lvm [2018/12/28 06:55] (Version actuelle) benoit [Resizer un Logical Volume] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== LVM ====== | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | Diagramme des différentes couches de l'architecture LVM. | ||
+ | |||
+ | {{informatique:linux:lvm.jpg}} | ||
+ | |||
+ | ===== Fonctionnement ===== | ||
+ | |||
==== Créer un volume groupe et des files systèmes ==== | ==== Créer un volume groupe et des files systèmes ==== | ||
Ligne 14: | Ligne 24: | ||
mkdir /products | mkdir /products | ||
echo "/dev/rootvg/lvproducts /products ext3 defaults 0 0" >> /etc/fstab | echo "/dev/rootvg/lvproducts /products ext3 defaults 0 0" >> /etc/fstab | ||
+ | | ||
+ | |||
+ | ==== Agrandir un volume group ==== | ||
+ | Pour ajouter un nouveau volume dans un volume group : | ||
+ | vgextend zimbravg /dev/sdc1 | ||
Ligne 44: | Ligne 59: | ||
+ | :!: Remarque : Certaines version de LVM utilisent XFS, il faut donc utiliser ''xfs_growfs'' à la place de ''resize2fs''. Exemple : | ||
+ | xfs_growfs /dev/rootvg/lvusr | ||
Ligne 85: | Ligne 102: | ||
lvchange -a n /dev/rootvg/homelv | lvchange -a n /dev/rootvg/homelv | ||
+ | ==== Déplacer les données d'un PV à un autre PV faisant partie d'un même VG ==== | ||
+ | Pour déplacer les données de /dev/sdd1 vers /dev/sdb1 : | ||
+ | pvmove /dev/sdd1 /dev/sdb1 | ||
+ | ==== Snapshots ==== | ||
+ | Le snapshot permet de faire une sauvegarde d'un LogicalVolume à un instant T. Ceci permet surtout de restaurer rapidement un fichier si celui-ci a été effacé par erreur. | ||
- | + | === Créer un SnapShot === | |
- | ==== Snapshot ==== | + | Pour prendre une image du volume logique ''/dev/rootvg/rootlv'' (monté sur /) à un instant T, lancer : |
- | Le snapshot permet de faire une sauvegarde du FS à un instant T. Ceci permet surtout de restaurer rapidement un fichier si celui-ci a été effacé par erreur. | + | |
- | + | ||
- | Pour prendre une image du volume ''/dev/rootvg/rootlv'' à un instant T, lancer | + | |
lvcreate -L100M -s -n root_snapshot_$(date +%Y-%m-%d-%H%M) /dev/rootvg/rootlv | lvcreate -L100M -s -n root_snapshot_$(date +%Y-%m-%d-%H%M) /dev/rootvg/rootlv | ||
- | Ce volume de SnapShot est de 100Mo, tant qu'il y a moins de 100Mo modifié sur le volume ''/dev/rootvg/rootlv'' le snapshot restera **actif** au delà le SnapShot se **désactivera** et ne sera plus accessible. | + | :!: Ce SnapShot est de 100Mo, tant qu'il y a moins de 100Mo modifié sur ''/dev/rootvg/rootlv'' le SnapShot restera **actif** au delà il se **désactivera** et ne sera plus accessible. |
- | Pour restaurer un fichier, il suffit de monter le volume ''root_snapshot_2008-09-15-0303'' | + | === Accès au SnapShot === |
+ | |||
+ | Pour avoir accès au SnapShot, il suffit de monter le volume logique ''/dev/rootvg/root_snapshot_2008-09-15-0303'' | ||
mkdir -p /SNAPSHOT/root_snapshot_2008-09-15-0303 | mkdir -p /SNAPSHOT/root_snapshot_2008-09-15-0303 | ||
mount /dev/rootvg/root_snapshot_2008-09-15-0303 /SNAPSHOT/root_snapshot_2008-09-15-0303 | mount /dev/rootvg/root_snapshot_2008-09-15-0303 /SNAPSHOT/root_snapshot_2008-09-15-0303 | ||
- | On trouvera la même arborescence que ''/dev/rootvg/rootlv'' dans ''/SNAPSHOT/root_snapshot_2008-09-15-0303'' saut qu'il y aura nos ancien fichiers. Donc pour restaurer le fichier ''toto.txt'' il suffit de faire : | + | On trouvera la même arborescence que ''/'' dans ''/SNAPSHOT/root_snapshot_2008-09-15-0303'' sauf qu'il y aura nos anciens fichiers. Donc pour restaurer par exemple le fichier ''/home/user/toto.txt'' il suffit de faire : |
cp /SNAPSHOT/root_snapshot_2008-09-15-0303/home/user/toto.txt /home/user/toto.txt | cp /SNAPSHOT/root_snapshot_2008-09-15-0303/home/user/toto.txt /home/user/toto.txt | ||
- | + | Pour qu'un user ait accès à son snapshot, sans faire appel à l'administrateur on peut par exemple créer un lien symbolique ainsi | |
cd /home/user | cd /home/user | ||
ln -s /SNAPSHOT/root_snapshot_2008-09-15-0303/$PWD /$PWD/.snapshot | ln -s /SNAPSHOT/root_snapshot_2008-09-15-0303/$PWD /$PWD/.snapshot | ||
+ | === Supprimer un SnapShot === | ||
+ | umount /dev/rootvg/root_snapshot_2008-09-15-0303 | ||
+ | lvremove /dev/rootvg/root_snapshot_2008-09-15-0303 | ||
+ | |||
+ | === Stratégie des SnapShots === | ||
+ | |||
+ | Idéalement il faut allouer 20% du VolumeGroup pour les SnapShots. La taille de chaque SnapShot devra être définis selon la fréquence et l'historique désiré. | ||
+ | |||
+ | ==== Thin Provisionning ==== | ||
+ | |||
+ | :!: Attention, le thin provisionning nécessite beaucoup de rigueur dans la supervision les volumes | ||
+ | |||
+ | Le ThinPool est le volume physiquement alloué : | ||
+ | Creation d'un Thin Pool : | ||
+ | lvcreate -L 100M -T datavg/mythinpool | ||
+ | |||
+ | Nous faisons ci-dessous un volume supérieur à celui physiquement alloué : | ||
+ | Puis le volume thin : | ||
+ | lvcreate -V200M -T datavg/mythinpool -n thinvolume | ||
+ | Faire les deux en une seule ligne de commande : | ||
+ | lvcreate -L100M -T datavg/mythinpool -V200M -n thinvolume |