Outils pour utilisateurs

Outils du site


linux:admin:lvm:lvm

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux:admin:lvm:lvm [2013/01/15 13:56] – créée aurelialinux:admin:lvm:lvm [2016/08/17 12:49] (Version actuelle) aurelia
Ligne 1: Ligne 1:
-Le Logical Volume Manager est un système de gestion avancée et très souple des volumes de stockage pour les distributions Linux.+==== Présentation ==== 
 + 
 +Le Logical Volume Manager est un système de gestion avancée et très souple des volumes de stockage pour les distributions Linux. Il permet de s'affranchir des limites que l'on peut rencontrer avec le système de partitionnement classique.
 Généralement fourni avec l'OS, le package lvm peut être téléchargé ou installé si vos dépôts yum ou apt sont configurés. Généralement fourni avec l'OS, le package lvm peut être téléchargé ou installé si vos dépôts yum ou apt sont configurés.
  
 +Le LVM prend en compte les disques physiques (que ce soit un disque interne, en RAID matériel, logiciel, ou des disques en provenance d"un SAN), nommés Physical volumes (PV) par LVM.
 +
 +Il regroupe un ou plusieurs PV en Volume Group (VG). Pour le système, le VG est vu comme une sorte de métadisque et sert de base pour les manipulations LVM.
 +
 +Au sein de ce VG, il est possible de créer des découpages logiques, appelés Logical volumes (LV).
 +Ces LV nous intéressent pour créer des systèmes de fichiers (filesystems ou FS).
 +
 +==== Schéma explicatif ====
 +{{ :linux:admin:lvm:lvm.png?nolink |}}
 +
 +==== Commandes ====
 +Liste des commandes générales LVM :
 +
 +  * lvm
 +  * lvmchange
 +  * lvmdiskscan  
 +  * lvmsadc      
 +  * lvmsar
 +
 +Liste des commandes pour actions sur les PV :
 +  * pvchange   
 +  * pvcreate   
 +  * pvdisplay  
 +  * pvmove     
 +  * pvremove   
 +  * pvresize   
 +  * pvs  
 +  * pvscan
 +
 +Sur les VG :
 +  * vgchange      
 +  * vgconvert     
 +  * vgdisplay     
 +  * vgextend      
 +  * vgmerge       
 +  * vgreduce      
 +  * vgrename      
 +  * vgscan
 +  * vgck         
 +  * vgcreate      
 +  * vgexport      
 +  * vgimport      
 +  * vgremove      
 +  * vgs           
 +  * vgsplit
 +
 +Sur les LV :
 +  * lvchange     
 +  * lvcreate     
 +  * lvextend     
 +  * lvremove     
 +  * lvresize     
 +  * lvscan
 +  * lvconvert    
 +  * lvdisplay    
 +  * lvreduce     
 +  * lvrename     
 +  * lvs
 +
 +==== Exemple ====
 +
 +L'application concrète des manipulations LVM peut se retrouver dans la création d'un FS 
 +(Note : Veuillez vous référer  avant cela à une explication sur le partitionnement et les systèmes de fichiers)
 +
 +Sur un serveur tout beau tout neuf, je veux créer un FS réservé à Oracle.
 +
 +Imaginons que j'ai un serveur toto sur lequel sont présentes 2 grappes de 2 disques en RAID 01.
 +La première grappe est constituée de 2 disques de 172 Go et la seconde de 2 disques de 600 Go.
 +Je décide de séparer le système (qui ira sur le premier RAID ou device /dev/sda*) et l'applicatif (second RAID soit /dev/sdb). 
 +
 +Pour voir les volumes disponibles sur mon serveur via l'OS, je peux faire :
 +<code>
 +root@toto:/root# more /proc/partitions
 +major minor  #blocks  name
 +
 +        142737408 sda
 +           522081 sda1
 +        142207380 sda2
 +      16  585498624 sdb
 +</code>
 +La commande lvmdiskscan est aussi très utile. Elle scanne le système à la recherche de tous les disques / partitions éligibles.
 +
 +Je dois faire entrer ma partition /dev/sdb dans le système LVM car celle-ci me servira à installer mes applications dont Oracle.
 +Pour cela, je déclare le disque voulu en PV au niveau LVM d'après le nom de device:
 +<code>
 +pvcreate /dev/sdb
 +</code>
 +Pour voir les PV déclarés:
 +<code>
 +root@toto:/root# pvs
 +  PV         VG      Fmt  Attr PSize   PFree
 +  /dev/sda2  rootvg  lvm2 a-   135.59G 51.22G
 +  /dev/sdb   vg_appli lvm2 a-   558.37G 558.37G
 +</code>
 +(On voit que les vg on déjà été créés mais faites comme si de rien n'était au niveau VG et PFree :-X )
 +
 +Ensuite je vais utiliser le PV /dev/sdb pour faire mon VG vg_appli.
 +<code>
 +vgcreate vg_appli /dev/sdb
 +</code>
 +Pour voir les VG du serveurs :
 +<code>
 +
 +root@toto:/root# vgs
 +  VG      #PV #LV #SN Attr   VSize   VFree
 +  rootvg    1  13   0 wz--n- 135.59G 51.22G
 +  vg_appli    15   0 wz--n- 558.37G 558.37G
 +</code>
 +
 +Voici donc les deux "métadisques" à partir desquels nous allons organiser l'arborescence du serveur.
 +Ici, les deux VGs permettent une séparation nette entre rootvg qui contiendra tout ce qui est relatif au système, et vg_appli qui contiendra tout ce qui est relatif à d'éventuelles applications (serveur Web, serveur de base de données, etc.). Mais vous organisez vos données comme vous voulez ... LOL
 +
 +Nous allons maintenant organiser le VG vg_appli en volumes logiques (LV).
 +Je souhaite créer un découpage logique dans mon VG qui sera réservé à Oracle et qui, selon les préconisations constructeur ou de votre entreprise ;-), devra faire 11Go.
 +<code>
 +lvcreate -n lv_oracle -L 11G vg_appli
 +</code>
 +Je viens de créer mon LV oracle, de 11 Go sur le VG vg_appli.
 +
 +Pour voir la liste des LV de mon serveur :
 +<code>
 +root@toto:~# lvs|grep oracle
 +  lv_oracle        vg_appli  -wi-ao  11G
 +</code>
 +Le nom de device de mon LV est : /dev/vg_apps/lv_oracle.
 +<code>
 +root@toto:/dev/vg_apps# ls -lrt|grep oracle
 +lrwxrwxrwx  1 root root 29 Jan 11 14:22 lv_oracle -> /dev/mapper/vg_apps-lv_oracle
 +</code>
 +
 +Pour que les données soient accessibles dans l'arborescence de mon serveur, je vais créer mon point de montage.
 +<code>
 +mkdir /apps/oracle
 +mkfs.ext4 -L /apps/oracle /dev/vg_appli/lv_oracle
 +mount -t ext4 /dev/vg_apps/lv_oracle /apps/oracle
 +</code>
 +Je viens de créer un FS en ext3 appelé /apps/oracle.
 +
 +Pour voir si mon FS est bien monté (donc si les données sont accessibles) sur mon serveur :
 +
 +<code>
 +root@toto:~# mount|grep oracle
 +/dev/vg_apps/lv_oracle on /apps/oracle type ext4 (rw)
 +</code>
 +
 +Ajouter la ligne dans le fstab
 +<code>
 +/dev/vg_apps/lv_oracle /apps/oracle ext4 defaults 00
 +</code>
linux/admin/lvm/lvm.1358258161.txt.gz · Dernière modification : 2013/01/15 13:56 de aurelia