Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLucille Landry Modifié depuis plus de 8 années
1
Le LVM Leopoldo Ghielmetti (2006-03-12) ● Qu'est-ce que c'est? ● Logical Volumes vs. Partitions ● Exemple ● Les Physical Volumes ● Les Volume Groups ● Les Logical Volumes ● Les Extents
2
Le LVM Leopoldo Ghielmetti (2006-03-12) ● Les mapping modes ● Les snapshots ● Manipulations sur un système LVM
3
Le LVM: Qu'est-ce que c'est? Leopoldo Ghielmetti (2006-03-12) ● LVM = Logical Volume Manager (Gesteur de Volumes Logiques) ● Implémenté pour Linux par Heiz Mauelshagen ● Intégré dans le noyau depuis le 2.4 (1997)
4
Le LVM: Partitions vs. Logical Volumes Leopoldo Ghielmetti (2006-03-12) Vs. hda1 hda2 hda3 swap root home
5
Le LVM: Les partitions Leopoldo Ghielmetti (2006-03-12) hda1 hda2 hda3
6
Le LVM: Les partitions Leopoldo Ghielmetti (2006-03-12) ● Permettent de découper l'espace disque en morceaux ● Permettent une gestion de l'espace disque selon les besoins ● Permettent d'isoler les différentes parties du système (/, var, home, tmp,...) et les espaces spéciaux (swap, raw,...)
7
Le LVM: Les partitions Leopoldo Ghielmetti (2006-03-12) ● Ne permettent pas (ou très difficilement) de modifier la place réservée ● Ne permettent pas d'ajouter la place disque à souhait ● Limitent la disponibilité de la place disque dans le cas ou on l'aurait besoin ailleurs.
8
Le LVM: Le logical volume Leopoldo Ghielmetti (2006-03-12) swap root home
9
Le LVM: Les logical volumes Leopoldo Ghielmetti (2006-03-12) ● Permettent de découper l'espace disque en morceaux ● Permettent une gestion de l'espace disque selon les besoins ● Permettent d'isoler les différentes parties du système (/, var, home, tmp,...) et les espaces spéciaux (swap, raw,...) ● Permettent de grouper plusieurs disques en un seul grand disque virtuel
10
Le LVM: Les logical volumes Leopoldo Ghielmetti (2006-03-12) ● Permettent de modifier la place réservée ● Permettent d'ajouter ou d'enlever des disques à souhait ● Permettent de déplacer la place libre d'un volume à l'autre si besoin
11
Le LVM: Exemple Leopoldo Ghielmetti (2006-03-12) M. Toto décide de découper son système (80Go) selon le schéma suivant: swap/dev/hda11Go /boot/dev/hda2100Mo //dev/hda32Go /home/dev/hda476.9Go De façon à avoir plein de place pour ses fichiers MP3.
12
Le LVM: Exemple Leopoldo Ghielmetti (2006-03-12) Mlle Tata décide quant à elle de découper son système selon le schéma suivant: /boot/dev/hda1100Mo swap/dev/vg00/swap1Go //dev/vg00/root2Go /home/dev/vg00/home76.9Go Pour les mêmes raisons.
13
Le LVM: Exemple Leopoldo Ghielmetti (2006-03-12) Après un certain temps d'utilisation du système nos chers utilisateurs décident d'installer sur leur machine la suite OpenOffice avec des bitmap pour créer des présentations pour un cours pour le GULL, mais voilà que la partition / ne contient plus assez de place pour accueillir l'application (qui est très gourmande en place disque). Que faire?
14
Le LVM: Exemple Leopoldo Ghielmetti (2006-03-12) La solution qui se présente à M. Toto n'est pas de tout repos. Il sera obligé à choisir parmi les solutions suivantes: – repartitionner son disque dur. – effacer ou déplacer des fichiers de / afin de libérer de la place – créer des liens symboliques partout dans son disque afin de déplacer des répertoires de / à /home
15
Le LVM: Exemple Leopoldo Ghielmetti (2006-03-12) Pour Mlle Tata la solution est toute simple, il lui suffit de réduire la taille du volume logique home et de la donner au volume logique root! Dans le cas ou il faut rajouter un disque supplémentaire la solution LVM simplifie aussi le travail, il suffit pour cela de déclarer le nouveau disque et le tour est joué.
16
Le LVM: Sur un gros système Leopoldo Ghielmetti (2006-03-12) Dans le cas d'un gros système les avantages du LVM sont encore plus évidentes car il s'agit de pouvoir isoler plusieurs groupes de travail voir de pouvoir remplacer ou mettre à jour des disques défaillants sans interrompre l'exploitation. Pour cela le LVM est d'un grand aide. C'est pour cette raison que les premiers développements de ce système ont été fait pour les gros systèmes Unix.
17
Le LVM: Les PV Leopoldo Ghielmetti (2006-03-12) hda1 hda2 hdb1 sda1 md0 sdc vg00 swap root home tmp var
18
Le LVM: Les PV Leopoldo Ghielmetti (2006-03-12) ● Un PV est un Physical Volume c'est à dire un Volume Physique. ● Il s'agit de n'importe quelle unité de stockage physique (un block device), normalement c'est une partition d'un disque dur ou un disque dur tout entier, mais il peut aussi s'agir d'un volume RAID logiciel, d'une carte mémoire ou tout autre support. ● Un PV sert comme lieu de stockage des données d'un Volume Group et peut être ajouté et enlevé d'un Volume Group selon les besoins.
19
Le LVM: Les VG Leopoldo Ghielmetti (2006-03-12) hda1 hda2 hdb1 sda1 md0 sdc vg00 swap root home tmp var
20
Le LVM: Les VG Leopoldo Ghielmetti (2006-03-12) ● Un VG est un Volume Group ou Groupe de Volumes. C'est l'ensemble regroupant des PV et des Logical Volumes et qui s'occupe de repartir les derniers sur la place disponible dans les premiers ● Il est possible d'avoir plusieurs VG sur un système ● Un VG peut avoir plusieurs PV mais un PV peut appartenir au maximum à un seul VG
21
Le LVM: Les LV Leopoldo Ghielmetti (2006-03-12) hda1 hda2 hdb1 sda1 md0 sdc vg00 swap root home tmp var
22
Le LVM: Les LV Leopoldo Ghielmetti (2006-03-12) ● Un LV est un Logical Volume soit un Volume Logique. C'est l'équivalent d'une partition sur un système non-LVM ● Un LV appartient à un VG et à un seul par contre il peut se trouver reparti sur plusieurs PV
23
Le LVM: Les PE et les LE Leopoldo Ghielmetti (2006-03-12) PEPE PEPE PEPE PEPE PV VG LELE LELE LELE LELE LV0 LELE LELE LELE LELE LELE LV1
24
Le LVM: Les PE et les LE Leopoldo Ghielmetti (2006-03-12) ● Un PE est un Physical Extent ● Un LE est un Logical Extent Un PE et un LE ont la même taille et sont l'unité minimale qui peut être gérée dans un système LVM. Chaque LE correspond à un PE sur un PV. Les PE peuvent être alloué à n'importe que LV mais un PE peut appartenir à seulement un LV à la fois.
25
Le LVM: Pour résumer Leopoldo Ghielmetti (2006-03-12) VG00 Logical Volumes Physical Volumes PV0 PEPE PV1 PEPE PV2 PEPE PV3 PEPE LV1 LELE LV2 LELE LV0 LELE LELE Applications
26
Le LVM: mapping modes Leopoldo Ghielmetti (2006-03-12) ● linear: Ce mode affecte à un LV un suite plus ou moins contiguë de PE dans un ou plusieurs PV PV0PV1 LV 0..20 51..90 21..50 90..99 0 99
27
Le LVM: mapping modes Leopoldo Ghielmetti (2006-03-12) ● striped: Ce mode affecte à un LV des PE alternés sur deux (ou plus) PV. PV0PV1 LV 0,2,4,6,...98 1,3,5,7,..99 0 99
28
Le LVM: mapping modes Leopoldo Ghielmetti (2006-03-12) Si on utilise le mode striped il faut faire attention que dans le cas du LVM1 il n'est pas possible d'éteindre un LV au delà des PV ou il a été créé. Dans le cas d'un LVM2 il est possible mais il faut dans ce cas faire attention à comment on étend le LV. Il est en effet possible d'étendre un LV striped sur un PV en mode linear ou sur des PV avec un stripe différent, p.e un LV striped 2 qui est étendu sur un striped 4.
29
Le LVM: mapping modes Leopoldo Ghielmetti (2006-03-12) ● étendre un striped volume Dans ce cas on a étendu le volume en linear PV0 PV1 LV 0,2,4,6,...58 1,3,5,7,..59 0 99 PV2 PV3 50..70 71..99
30
Le LVM: les snapshots Leopoldo Ghielmetti (2006-03-12) ● Un snapshot permet de prendre une « photo » d'un LV à un moment donné et de présenter toujours des données inchangées même si les applications continuent à travailler sur l'original LV snap shot Application
31
Le LVM: les snapshots Leopoldo Ghielmetti (2006-03-12) ● Permet d'effectuer une copie d'un LV à un instant donné ● Les applications peuvent continuer à utiliser le LV d'origine sans se soucier du snapshot ● Le snapshot peut être utilisé sans déranger le LV d'origine: – Backup à un instant T – LiveCD sur CD-ROM
32
Le LVM: les snapshots Leopoldo Ghielmetti (2006-03-12) ● Sur LVM1 les snapshots sont en lecture seule ● Sur LVM2 ils sont en lecture/écriture. Ceci permet p.e. de tester une application sur une base de données sans que celle-ci puisse réellement modifier les données de la base. Après le test il suffit d'éliminer le snapshot et de reprendre la partition originale. ● Attention: si vous migrez de LVM1 à LVM2 effacez d'abord tous vos snapshots!
33
Le LVM: Manipulations sur un LVM Leopoldo Ghielmetti (2006-03-12) ● Plusieurs outils sont mis à disposition par LVM – pour la manipulations des PV – pour la manipulation des VG – pour la manipulation des LV ● D'autres outils sont mis à disposition par le FS – e2fsadm ● D'autre encore font partie des distributions – YaST (pour la SuSE)
34
Le LVM: La manipulation des PV Leopoldo Ghielmetti (2006-03-12) ● Pour la manipulation des PV on à les outils suivants: – pvchange# change les attributs – pvcreate# initialise un PV – pvdisplay# affiche les informations détaillées – pvmove# déplace les PE d'un PV à un autre – pvremove# élimine un PV – pvs# affiche les informations – pvscan# cherche les PV
35
Le LVM: La manipulation des VG Leopoldo Ghielmetti (2006-03-12) ● Pour la manipulation des VG on à les outils suivants: – vgcfgbackup# sauvegarde de la configuration – vgcfgrestore# récupération de la configuration – vgchange# change les attributs – vgck# vérifie l'état des metadata – vgconvert# convertit un VG de LVM1 à LVM2 – vgcreate# crée un nouveau VG – vgdisplay# affiche les informations détaillées – vgexport# exporte un VG
36
Le LVM: La manipulation des VG Leopoldo Ghielmetti (2006-03-12) – vgextend# étend un VG – vgimport# importe un VG exporté – vgmerge# réunit deux VG – vgmknodes# crée les noeuds dans /dev – vgreduce# réduit un VG – vgremove# élimine un VG – vgrename# renomme – vgs# affiche les informations – vgscan# cherche les VG – vgsplit# divise en deux un VG
37
Le LVM: La manipulation des LV Leopoldo Ghielmetti (2006-03-12) ● Pour la manipulation des LV on à les outils suivants: – lvchange# change les attributs – lvcreate# crée un LV – lvdisplay# affiche les informations détaillées – lvextend# étend un LV – lvreduce# réduit un LV – lvremove# élimine un LV – lvrename# renomme un LV
38
Le LVM: La manipulation des LV Leopoldo Ghielmetti (2006-03-12) – lvresize# change la taille – lvs# affiche les informations – lvscan# cherche les LV
39
Le LVM: La manipulation du LVM Leopoldo Ghielmetti (2006-03-12) ● Le LVM lui même à des outils qui sont: – lvm# celui qui fait tout :-) – lvmchange# change les attributs (obsolete) – lvmdiskscan# montre tous les candidats – lvmsadc# non implémenté – lvmsar# non implémenté
40
Le LVM: L'amusement commence Leopoldo Ghielmetti (2006-03-12)
41
Le LVM: Initialiser un PV Leopoldo Ghielmetti (2006-03-12) ● La première opération à effectuer dans le cas ou on crée un système LVM est d'initialiser les PV. Pour ce faire on utilise la commande pvcreate (voir le manuel): – pvcreate /dev/sdb# pour un disque entier – pvcreate /dev/sdc1# pour une partition ● S'il y a un problème à initialiser le volume essayez de l'effacer avec la commande dd. – dd if=/dev/zero of=/dev/diskname bs=1k count=1 – blockdev --rereadpt /dev/diskname
42
Le LVM: Créer un VG Leopoldo Ghielmetti (2006-03-12) ● Pour créer un VG utiliser la commande vgcreate (voir le manuel): – vgcreate myvg /dev/sdb /dev/sdc1
43
Le LVM: Avant d'utiliser un VG Leopoldo Ghielmetti (2006-03-12) ● Juste après le démarrage il est nécessaire de dire au système d'analyser les disques pour voir quels sont les VG disponibles: – vgscan ● Pour ensuite activer le VG souhaité avec la commande vgchange: – vgchange -a y myvg # pour l'activer – vgchange -a n myvg # pour le désactiver
44
Le LVM: Création d'un LV Leopoldo Ghielmetti (2006-03-12) ● La création d'un LV se fait avec la commande lvcreate: – lvcreate -L 100M -n mylv1 myvg # pour un LV de 100Mo en mode linear – lvcreate -i 2 -L 100M -n mylv2 myvg # pour un LV de 100Mo en mode striped (2 stripes)
45
Le LVM: Initialisation d'un LV Leopoldo Ghielmetti (2006-03-12) ● On peut initialiser un LV avec le système de fichiers que l'on préfère ● Il est quand même préférable d'utiliser un FS capable d'exploiter les capacité du LVM, p.e. ext2, ext3, reiserfs,... ● Utiliser p.e. les commandes: – mkreiserfs /dev/myvg/mylv1 – mke2fs -j /dev/myvg/mylv2 ● On peut ensuite utiliser les FS normalement
46
Le LVM: Agrandir un VG Leopoldo Ghielmetti (2006-03-12) ● Pour agrandir un VG utiliser la commande vgextend: – vgextend myvg /dev/sdb2 /dev/sdc2
47
Le LVM: Libérer un PV Leopoldo Ghielmetti (2006-03-12) ● S'il faut enlever un PV d'un VG car le support doit être remplacé ou que l'on désire utiliser le PV pour un autre VG il faut utiliser la commande pvmove: – pvmove /dev/sdb1 /dev/sdc1 ● Attention: le module dm-mirror doit être chargé sinon ce sera impossible d'effectuer l'opération
48
Le LVM: Interdire un PV Leopoldo Ghielmetti (2006-03-12) ● Si on ne désire pas qu'un PV puisse être utilisé pour stoker des données il faut l'interdire. Pour cela on peut utiliser la commande vgchange: – vgchange -xn /dev/sdb1 ● Ceci est très utile avant d'utiliser la commande pvmove sans spécifier de destination, de cette façon le volume interdit ne sera pas utilisé: – pvmove /dev/sdc1 # déplace les données de sdc1 ailleurs
49
Le LVM: Réduire un VG Leopoldo Ghielmetti (2006-03-12) ● Pour réduire un VG utiliser la commande vgreduce: – vgreduce myvg /dev/sdb2 /dev/sdc2 ● Attention: Il faut d'abord s'assurer que les PV ne soient pas utilisés avec la commande pvdisplay avant d'enlever un PV d'un VG. Si tel n'est pas le cas utiliser la commande pvmove pour déplacer les données.
50
Le LVM: Agrandir un LV Leopoldo Ghielmetti (2006-03-12) ● Pour agrandir un LV utiliser la commande lvextend ou lvresize: – lvextend -L +200M /dev/myvg/mylv1 – lvresize -L +200M /dev/myvg/mylv2
51
Le LVM: Agrandir un FS Leopoldo Ghielmetti (2006-03-12) ● Pour agrandir un filesystem ext2/3 sans le démonter il faut avoir le patch ext2online installé dans le kernel (utiliser e2fsck avant l'opération): – resize2fs /dev/myvg/mylv2 2G – e2fsadm -L +1G /dev/myvg/mylv2 # combinelvextend et resize2fs ● Un reiserfs peut toujours être agrandi même s'il est monté: – resize_reiserfs -s +1G /dev/myvg/mylv1
52
Le LVM: Création d'un snapshot Leopoldo Ghielmetti (2006-03-12) ● La création d'un LV se fait aussi avec la commande lvcreate: – lvcreate -s -L 50M -n mysnap /dev/myvg/mylv1 ● Attention: Un snapshot utilise des ressources du système et il est permis de l'utiliser tant que sa taille ne dépasse pas la taille spécifiée. Autrement il se désactive et ses données sont perdues. Il est toujours préférable de déactiver/détruire un snapshot après utilisation.
53
Le LVM: Utiliser un snapshot Leopoldo Ghielmetti (2006-03-12) ● Utiliser un snapshot se fait le plus naturellement possible. Il suffit de le monter et de commencer à l'utiliser ● Ses données seront isolées du LV d'origine ce qui permet p.e. d'effectuer des backups du LV sans déranger les applications en train de tourner
54
Le LVM: Détruire un snapshot Leopoldo Ghielmetti (2006-03-12) ● Pour détruire un snapshot utiliser la commande lvremove comme s'il s'agissait d'un normal LV: – lvremove /dev/myvg/mysnap ● Pour détruire un snapshot il faut qu'il soit démonté
55
Le LVM: Réduire un FS Leopoldo Ghielmetti (2006-03-12) ● Pour réduire un filesystem ext2/3 sans le démonter il faut avoir le patch ext2online installé dans le kernel (utiliser e2fsck avant l'opération): – resize2fs /dev/myvg/mylv2 1G – e2fsadm -L -1G /dev/myvg/mylv2 # combineresize2fs et lvreduce ● Un reiserfs doit aussi être démonté avant de pouvoir le réduire: – resize_reiserfs -s -1G /dev/myvg/mylv1
56
Le LVM: Réduire un LV Leopoldo Ghielmetti (2006-03-12) ● Pour réduire un LV utiliser la commande lvreduce: – lvreduce -L -200M /dev/myvg/mylv2 – lvresize -L -200M /dev/myvg/mylv1 ● Attention: Il est impératif de réduire le FS avant de réduire le LV correspondant car aucune vérification n'est faite par LVM. Réduire le LV avant de réduire le FS cause presque sûrement la perte des données et la corruption du FS
57
Le LVM: Renommer un LV Leopoldo Ghielmetti (2006-03-12) ● Renommer un LV se fait avec la commande lvrename qui s'utilise comme la commande mv: – lvrename /dev/myvg/mylv2 /dev/myvg/mylv3
58
Le LVM: Fusionner deux VG Leopoldo Ghielmetti (2006-03-12) ● Il est possible de fusionner deux VG avec la commande vgmerge: – vgmerge -d myvg1 myvg2 # fusionne les données de myvg2 dans myvg1 ● Après cette commande myvg2 n'existe plus ● Il faut désactiver myvg2 avant d'effectuer l'opération en utilisant la commande vgchange: – vgchange -an myvg2
59
Le LVM: Exporter un VG Leopoldo Ghielmetti (2006-03-12) ● Si on désire déplacer un support d'un système à un autre il faut exporter les VG qu'il contient de façon que le système ne soit pas dérangé. Pour cela on utilise la commande vgexport: – vgexport myvg ● Le VG doit être désactivé avant l'exportation: – vgchange -an myvg
60
Le LVM: Importer un VG Leopoldo Ghielmetti (2006-03-12) ● Un VG exporté peut être à nouveau importé dans le système avec la commande vgimport: – vgimport myvg ● Il faut précéder cette commande par un vgscan pour redécouvrir les VG disponibles: – vgscan
61
Le LVM: Détruire un LV Leopoldo Ghielmetti (2006-03-12) ● Pour détruire un LV utiliser la commande lvremove: – lvremove /dev/myvg/mylv1 ● Il est possible de désactiver le LV avant de l'éliminer avec la commande lvchange, mais ce n'est pas obligatoire. Par contre il est nécessaire de le démonter avant l'opération.
62
Le LVM: Renommer un VG Leopoldo Ghielmetti (2006-03-12) ● On renomme un VG avec la commande vgrename: – vgrename myvg1 myvg ● Le VG doit être désactivé avant l'opération
63
Le LVM: Diviser un VG Leopoldo Ghielmetti (2006-03-12) ● Un VG peut aussi être divisé en deux par la commande vgsplit: – vgsplit myvg myvg3 /dev/sdc3 ● Dans cet exemple le PV sdc3 est extrait de myvg pour être affecté au VG myvg3 qui sera créé en conséquence
64
Le LVM: Détruire un VG Leopoldo Ghielmetti (2006-03-12) ● Pour détruire un VG utiliser la commande vgremove: – vgremove myvg ● Avant de détruire un VG il faut le désactiver avec la commande vgchange. ● Tous les LV doivent être détruit avant d'effectuer cette opération. vgremove ne permet pas d'éliminer un VG qui contient encore des LV.
65
Le LVM: Détruire un PV Leopoldo Ghielmetti (2006-03-12) ● Un PV devenu inutile peut être détruit avec la commande pvremove: – pvremove /dev/sdb1
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.