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édentes Révision précédente
Prochaine révision
Révision précédente
systeme:lvm [Le 04/01/2007, 12:50]
82.246.25.88
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​breezy dapper edgy brouillon}} 
- 
- 
----- 
- 
- 
-{{tag>​breezy dapper edgy brouillon}} 
- 
-====== LVM ====== 
- 
- 
- 
-===== Introduction ===== 
- 
->LVM sont les initiales de "​Logical Volume Manager",​ ou gestionnaire de volume logique en bon français. L'​utilisation de volumes logiques, remplace en quelque sorte le partitionnement des disques. C'est un système beaucoup plus souple, qui permet par exemple de diminuer la taille d'un système de fichier pour pouvoir en agrandir un autre, sans se préoccuper de leurs emplacement sur le disque. ​ 
- 
-  * Avantages de LVM : 
-    * Pas de limitations "​étranges"​ comme avec les partitions (primaire, etendue etc) 
-    * On ne se préoccupe plus de l'​emplacement exacte des données 
-    * On peut conserver quelques Giga-octets de libre pour pouvoir les ajouter n'​importe ou et n'​importe quand. 
-    * Les opérations de redimensionement deviennent quasiment sans risques, contrairement au redimensionement des partitions. 
- 
-  * Inconvénients de LVM : 
-    * Une fois que LVM a "pris le control"​ d'un disque ou d'une partition, Windows ne pourra plus y accéder (aucun driver LVM sous windows à ma connaissance). 
-    * Toute l'​administration de LVM se fait en ligne de commande (ce qui pour moi est un avantage mais bon ;) 
- 
- 
-===== But de ce document ===== 
- 
-Découvrir le principe de LVM, créer un ou deux volumes logiques SANS MODIFIER SON SYSTEME EXISTANT.\\ 
-La "​conversion"​ de son système pour le migrer entièrement vers LVM ne fait donc pas parti de ce document pour l'​instant,​ 
-mais au moins, vous aurez les bases pour le faire ;) 
- 
- 
-===== Pré-requis ===== 
- 
-  * Un disque ou une partition libre 
-  * Ne pas etre allergique à la ligne de commande 
-  * Avoir un peu de temps et l'​esprit grand ouvert ;) 
- 
- 
-===== Installation ===== 
- 
-<​code>​ sudo apt-get install lvm2 </​code>​ 
- 
-Voila... Ok j'​avoue,​ c'​était la partie la plus facile. Maintenant, avant d'​utiliser réellement LVM, il faut comprendre un peu de vocabulaire. Ne vous inquiétez pas si tout n'est pas encore tres clair, ca viendra en fur et à mesure, en passant à la pratique. 
- 
- 
-===== Notions et Vocabulaire ===== 
- 
- 
-==== Volume physique ===== 
- 
-Un volume physique ou "​pv"​ pour "​physical volume"​ est tout simplement un disque ou une partition. Bref, c'est un espace de stockage bien réel (autrement dit un device de la forme /dev/hdc2 par exemple), que l'on va confier à LVM. 
-Bien evidement, tout ce qui etait present sur la partition sera effacé. 
- 
-==== Groupe de volume ===== 
- 
-Un groupe de volume ou "​vg"​ pour "​volume group" est, comme son nom l'​indique,​ un ensemble de volume physiques. On a donc un ou plusieurs volumes physiques dans un groupe de volume, et pour utiliser LVM, il faut obligatoirement au moins un groupe de volume. Habituellement,​ sur les gros serveurs, on essaye de regrouper les disques en fonction de leur caracteristiques (capacités,​ performances etc). Pour un particulier,​ le fait de mettre plusieurs disques dans un meme groupe de volume peut permettre "​d'​étaler"​ un systeme de fichier sur plusieurs disques, et d'​avoir donc /home par exemple qui utiliserai 2 disques. Une telle configuration est tout de meme assez dangereuse en cas de perte d'un disque... De plus, cela n'​apporterai aucun gain de performance contrairement à du raid0 par exemple. 
- 
-==== volume logique ===== 
- 
-Un volume logique ou "​lv"​ pour "​logical volume"​ est ce que nous allons utiliser au final. Un volume logique est un espace "quele part dans un groupe de volume"​ ou on peut mettre un systeme de fichier. C'est donc ce qui remplace les partitions. On peut donc utiliser un volume logique pour mettre la swap, un pour /home etc. Peut on mettre / sur un volume logique ? Oui et non. Techniquement,​ oui, ca fonctionne maintenant a peu pres correctement. Mais grub peut se montrer capricieux dans certaines configurations. Donc, a moins d'​utiliser lilo, je vous conseille vivement d'​eviter les ennuis inutiles pour commencer et de ne pas tenter tout de suite d'​installer votre systeme avec un / sur un volume logique. Plus tard peut etre ;) 
- 
- 
-===== Création ===== 
- 
-Bien, passons à la pratique ! \\ 
-Puisque nous allons passer toutes les commandes en tant que root, je vous conseil de passer root "une bonne fois pour toute" : 
-<​code>​ sudo su - </​code>​ 
-Voila, maintenant que votre prompt est un #, cela m'​evitera (et vous evitera) d'​avoir à mettre sudo devant chaque commande.\\ 
-Bonne nouvelle, les commandes LVM sont extremement simple à utiliser, elles integrent toutes une aide en ligne très bien faite, claire, courte, mais suffisante. De plus, leur nom se "​devine"​ assez facilement :\\ 
-  * Toutes les commandes agissant sur les volume physiques commencent par pv. 
-  * Toutes les commandes agissant sur les groupes de volume commencent par vg. 
-  * Toutes les commandes agissant sur les volumes logiques commencent par lv. 
- 
-La premiere chose à faire est de créer **un disque physique**, en donnant une partition à LVM. 
-Essayer la commande suivante pour connaitre la liste des commandes disponibles pour les volumes physiques : 
-<​code>​ man -k pv </​code>​ 
-Parmi toutes les commandes que cela renvoi, on remarque "​pvcreate",​ ca doit etre celle la ;) Cette astuce fonctione avec toutes les commandes LVM et permet de les retrouver facilement. 
- 
-==== Création d'un disque physique ==== 
- 
-** J'​utilise /dev/hdc2 pour l'​exemple,​ adaptez à votre cas ! Toutes les données de cette partition seront éffacées !** 
- 
-<​code>​ pvcreate /dev/hdc2 </​code>​ 
- 
-Si tout s'est bien passé, aucun message d'​erreur n'​apparait. 
->Je veux utiliser la totalité d'un disque, hdc ou sda par exemple, puis-je faire pvcreate /dev/hdc ? (sans numéro de partition)\\ 
-Oui et non... Techniquement,​ oui pas de probleme. Seulement le fait que votre disque ne soit meme plus partitioné pourrait vous poser probleme un jour ou l'​autre. Je vous conseil plutot de faire une seule partition (primaire) utilisant tout le disque dur. Ensuite lancez la commande en utilisant cette partition : pvcreate /dev/hdc1\\ 
- 
-Il existe pas mal d'​options lors de la création d'un groupe de volume... Mais continuons de faire au plus simple. Le seul parametre indispensable sera de lui donner un nom, nous utiliserons les valeurs par defaut pour tout le reste. Pour  
-une raison que j'​expliquerai plus tard, donnons lui un nom tres court (2 ou 3 caracteres). Par exemple : "​mvg"​ pour "mon vg".\\ 
- 
-Pour connaitre la syntaxe de la commande vgcreate (comme de toutes les autres commandes LVM) tapez simplement son nom : 
-<​code>​ vgcreate </​code>​ 
-La syntaxe est donc : vgcreate VolumeGroupName PhysicalVolume [optionelement d'​autres PhysicalVolume]\\ 
-Allons y : 
-<​code>​ vgcreate mvg /dev/hdc2 </​code>​ 
-Si tout se passe bien, vous avez maintenant un groupe de volume, contenant un disque physique. Vous pouvez optenir d'​autres informations sur ce groupe de volume en tapant : 
-<​code>​ vgdisplay </​code>​ 
- 
-==== Création d'un volume logique ==== 
- 
-Nous y voila... Cette fois ci nous allons vraiment créer un espace que l'on pourra ensuite "​formater"​ en ext3 par exemple. 
-Comme precedement,​ le plus simple est de commencer par jeter un oeil sur la syntaxe de la commande : 
-<​code>​ lvcreate </​code>​ 
-Les deux options vraiment importantes sont -n pour son nom, et -L pour sa taille. Le parametre principal est  
- 
-"​OriginalLogicalVolume"​. Alors, qu'est ce que c'est que ce machin la ? En fait, cela fait reference au nom chemin complet d'​accès au device du volume logique. Avec les partitions, on avait des nom du genre /dev/hda3 etc. Avec lvm, on utilise aussi des devices dans /dev, mais le chemin est de la forme : **/​dev/​nom_du_vg/​nom_du_lv**\\ 
- 
-Autrement dit, si on decide d'​appeler notre volume logique toto, le nom du device de ce volume logique sera : /​dev/​mvg/​toto\\ 
-Simple non ? Allons y pour la création, comme c'est un test, je fais un petit volume, 1 Go seulement : 
-<​code>​ lvcreate -n toto -L 1g /​dev/​mvg/​toto </​code>​ 
- 
-==== Création d'un systeme de fichier ==== 
- 
-A partir de maintenant, /​dev/​mvg/​toto peut etre utilisé dans toutes les situations et avec toutes les commandes qui atendent quelque chose de la forme /dev/... Par exemple : 
-<​code>​mkfs -t ext3 /​dev/​mvg/​toto 
-mkdir /essai 
-mount /​dev/​mvg/​toto /essai 
-df -h </​code>​ 
-Et normalement,​ /​dev/​mvg/​toto ​ devrait etre monté sur /essai. Regardez bien la ligne correspondante. Si on avait choisi un nom de vg ou de lv plus long, la sortie de df aurait été modifiée, car le nom aurait "​touché"​ les valeures... Il aurait été obligé de passer des lignes, et l'​affichage aurait été plus difficile à lire. Techniquement,​ choisir des noms "​longs"​ pour les vg et les lv ne pose aucun probleme, mais c'est l'​affichage qui sera parfois délicat. Pour cette raison uniquement, je préconise de se limiter à 7 caracteres au total (donc par exemple 3 pour le vg et 4 pour le lv, ou 2 et 5, comme vous voulez). 
->​Pourquoi est il ecrit /​dev/​mapper/​mvg-toto et pas /​dev/​mvg/​toto ? 
-Avec LVM en version 1, c'est bien /​dev/​mvg/​toto qui aurait été affiché. Depuis la version 2, lvm utilise le device mapper, ce qui permet pas mal de chose (comme crypter les volumes logiques etc). Pour simplifier, disons que ces deux notations "/​dev/​mvg/​toto"​ et "/​dev/​mapper/​mvg-toto"​ sont synonymes. Dans la pratique, je vous conseille quand meme d'​utiliser plutot la forme "/​dev/​mvg/​toto",​ certaines commandes ne passeront pas autrement. 
- 
- 
-===== Suppression ===== 
- 
-Rien de plus simple : 
-<​code>​umount /essai 
-lvremove /​dev/​mvg/​toto 
-</​code>​ 
-Attention, une fois un volume logique effacé, il est **totalement impossible** de récupérer les données qu'il contenait. 
- 
-===== Redimensionement ===== 
- 
-Il est tres facile d'​augmenter ou de diminuer la taille d'un volume logique. Mais attention, la taille d'un lv n'a pas de lien direct avec la taille de ce qu'il contient (swap ou système de fichier). Le lv est une boite, le système de fichier est le contenu de la boite. Augmenter la taille sans augmenter la taille du contenu ne pose pas de problème, mais l'​inverse... 
-Bref, plus d'​informations quand j'​aurai le temps :o) 
- 
- 
-===== Mieux comprendre ou aller plus loin ===== 
- 
- 
-==== Notion d'​extend ==== 
- 
-Un extend, ou "​physical extend"​ aussi appelé "​PE"​ est un tout petit morceau d'un groupe de volume. En fait, au moment de la création d'un groupe de volume, le ou les disques sont découpés en morceaux de quelques Mo (4 Mo par defaut). Lorsque on crée un volume logique, LVM va utiliser autant de PE que nécessaires. La taille d'un volume logique sera donc toujours un multiple de la taille d'un extend. 
- 
- 
-==== LVM + RAID === 
- 
-Il est tout a fait possible d'​utiliser LVM sur un volume en Raid software. Une fois que le raid à été crée (/dev/md0 par exemple) il suffit de le donner à LVM, avec la commande habituelle : pvcreate /dev/md0\\ 
-Dans ce cas, je ne crois pas qu'on puisse partitioner /dev/md0, donc on donne tout le disque sans partitionnement. 
- 
- 
- 
- 
- 
- 
-==== Références ==== 
- 
-  * [[http://​www.lea-linux.org/​cached/​index/​Leapro-pro_sys-lvm.html]] : Article un peu vieux (lvm1) mais plus complet que le mien... 
- 
-\\ 
----- 
- 
-Contributeurs : [[utilisateurs:​hoper]] 
  
  • systeme/lvm.1167911453.txt.gz
  • Dernière modification: Le 04/01/2007, 12:51
  • (modification externe)