Outils pour utilisateurs

Outils du site


disk_lvm

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
disk_lvm [2010/12/11 13:32]
thierry
disk_lvm [2011/07/11 22:35] (Version actuelle)
thierry
Ligne 47: Ligne 47:
   /​dev/​mainvol/​win2k   /​dev/​mainvol/​win2k
  
-==== Redimensionner un volume logique ====+==== Redimensionner un volume logique ​EXT3/​EXT2 ​====
 On veut redimenssionner le disk principale, et c'est impossible tant qu'on est dessus.\\ On veut redimenssionner le disk principale, et c'est impossible tant qu'on est dessus.\\
 Donc, booter sur un live-cd, genre Kubuntu (le cd gparted est pas complet): Donc, booter sur un live-cd, genre Kubuntu (le cd gparted est pas complet):
Ligne 60: Ligne 60:
   # /​etc/​init.d/​lvm start   # /​etc/​init.d/​lvm start
 Ok ! La command "''​lvs''"​ doit fonctionner et monter les volumes logiques.\\ Ok ! La command "''​lvs''"​ doit fonctionner et monter les volumes logiques.\\
 +
 +Afin de s'​assurer que le volume est "​sain",​ forcer une verification du systeme de fichiers:
 +  # e2fsck -C 0 -f /​dev/​mainvol/​main
 +
 +(facultatif?​) Virer le journal ext3: 
 +  # tune2fs -O ^has_journal /​dev/​mainvol/​main
 +
 Augmenter de 7G le disk en "''/​dev/​mainvol/​main''"​ : Augmenter de 7G le disk en "''/​dev/​mainvol/​main''"​ :
   # lvresize -L +7G mainvol/​main   # lvresize -L +7G mainvol/​main
-Forcer une verification du systeme ​de fichiers: + 
-  # e2fsck -f /​dev/​mainvol/​main +Redimensionner le système ​de fichiers ​(ext2) ( à la (nouvelle) taille du disk ) : 
-Redimensionner ​le système de fichiers+  # resize2fs -p /​dev/​mainvol/​main 
-  # resize2fs ​/​dev/​mainvol/​main+ 
 +Tester ? 
 +  # e2fsck ​-C 0 -f /​dev/​mainvol/​main 
 + 
 +(facultatif?​) Remettre ​le journal
 +  # tune2fs -j /​dev/​mainvol/​main
  
 C'est bon. On peut rebooter sur (ou remounter le) disk. C'est bon. On peut rebooter sur (ou remounter le) disk.
Ligne 137: Ligne 149:
  
 C'est chouette. C'est chouette.
 +
 +==== agrandir *a chaud* un volume LVM ====
 +
 +C'est pas plus compliqué que:
 +
 +  lvextend -L +SIZE <​VOLUME_LVM>​
 +
 +Exemple:
 +  # lvextend -L +50G /​dev/​vg0/​sfr_mobile_general ​
 +  Extending logical volume sfr_mobile_general to 250,00 GB
 +  Logical volume sfr_mobile_general successfully resized
 +
 +=== Ext 3 ===
 +
 +Lien: http://​michael-prokop.at/​blog/​2006/​08/​01/​ext3-online-resizing/​
 +
 +Et a chaud, avec *EXT3* (et un noyau > 2.6.10 ) :
 +
 +Aprés avoir agrandi le volume LVM:
 +  resize2fs -p <​VOLUME_LVM> ​
 +
 +Exemple:
 +  # resize2fs -p /​dev/​vg0/​sfr_mobile_general ​
 +  resize2fs 1.41.3 (12-Oct-2008)
 +  Le système de fichiers de /​dev/​vg0/​sfr_mobile_general est monté sur /​mnt/​sfr-mobile-general ; le changement de taille doit être effectué en ligne
 +  old desc_blocks = 13, new_desc_blocks = 16
 +  En train d'​effectuer un changement de taille en ligne de /​dev/​vg0/​sfr_mobile_general vers 65536000 (4k) blocs.
 +  Le système de fichiers /​dev/​vg0/​sfr_mobile_general a maintenant une taille de 65536000 blocs.
 +
 +Durée de l'​opération:​ 2 minutes.
  
 ==== reduire ( shrink ) une partition ==== ==== reduire ( shrink ) une partition ====
Ligne 145: Ligne 187:
   *http://​www.howtoforge.com/​linux_resizing_ext3_partitions   *http://​www.howtoforge.com/​linux_resizing_ext3_partitions
   *http://​www.tldp.org/​HOWTO/​LVM-HOWTO/​reducelv.html   *http://​www.tldp.org/​HOWTO/​LVM-HOWTO/​reducelv.html
 +
 +On adapte pour LVM , bien sur.
 +
 +Soit une partition du LVM nommé "/​dev/​vgfiler/​test"​ et de 300 G !
 +
 +Soit en "​k"​ :
 +  # lvs --units k /​dev/​vgfiler/​test
 +    LV   ​VG ​     Attr   ​LSize ​        ​Origin Snap%  Move Log Copy%  Convert
 +    test vgfiler -wi-ao 314572800,​00K
 +
 +  # df -h
 +  /​dev/​mapper/​vgfiler-test
 +                      296G   ​80G ​ 201G  29% /mnt/test
 +
 +  # mount
 +  /​dev/​mapper/​vgfiler-test on /mnt/test type ext3 (rw,acl)
 +
 +On souhaite la réduire a 100G.
 +
 +D'​abord on "​unmount":​
 +  # umount /mnt/test
 +
 +Nombre de block:
 +  # fdisk -s /​dev/​vgfiler/​test
 +  314572800
 +
 +( 314572800 / 1024^2 = 300 )
 +
 +S'​assurer que le systeme de fichiers est stable, sinon corriger:
 +  # e2fsck -C 0 -p -f /​dev/​vgfiler/​test
 +  /​dev/​vgfiler/​test : 328140/​19660800 fichiers (0.6% non contigus), 22172792/​78643200 blocs
 +(le **''​-C 0''​** , c'est pour afficher la "​progression"​)
 +
 +Transformer de ext3 en ext2, en virant le "​journal"​ :
 +  # tune2fs -O ^has_journal /​dev/​vgfiler/​test
 +
 +Re-tester (?) :
 +  # e2fsck -C 0 -f /​dev/​vgfiler/​test
 +
 +Quel est la taille minimum possible ? (par curiosité) :
 +  # resize2fs -P /​dev/​vgfiler/​test
 +  resize2fs 1.41.3 (12-Oct-2008)
 +  Taille minimale estimée du système de fichiers : 21237927
 +
 +C'est la taille en "​block"​ de 4k ???? A priori oui: (21237927*4)/​1024^2 = 81 G
 +
 +Toutefois, on va reduire a 95G et non pas 100G. On se créé une petite marge de 5% pour ecarter une erreur d'​approximation lors de la reduction de la partition LVM sous-jacente... car 100G en ext2/3, n'​equivaut pas 100G en LVM ! on ne parle pas de la même chose (il me semble).
 +
 +Donc, réduire en 95G ( au lieu de 100G ) .
 +  # resize2fs -p /​dev/​vgfiler/​test 95G
 +  resize2fs 1.41.3 (12-Oct-2008)
 +  Resizing the filesystem on /​dev/​vgfiler/​test to 24903680 (4k) blocks.
 +  ...
 +  ( Il y 4 passes... )
 +  Le système de fichiers /​dev/​vgfiler/​test a maintenant une taille de 24903680 blocs.
 +( 24903680*4)/​1024^2 = 95G )
 +
 +Dans mon cas, ca prend du temps car j'ai bien rempli le volume en tout sens avant de faire ce test: donc, il y a un certain nombre de blocks a deplacer...
 +
 +Reduire la partion LVM a 100G (en non pas 95G !):
 +
 +  # lvresize -L 100G /​dev/​vgfiler/​test
 +    WARNING: Reducing active logical volume to 100,00 GB
 +    THIS MAY DESTROY YOUR DATA (filesystem etc.)
 +  Do you really want to reduce test? [y/n]: y
 +    Reducing logical volume test to 100,00 GB
 +    Logical volume test successfully resized
 +
 +(on aura pu utiliser reduce ?)
 +
 +Un coup d'​oeil:​
 +  # lvs /​dev/​vgfiler/​test
 +    LV   ​VG ​     Attr   ​LSize ​  ​Origin Snap%  Move Log Copy%  Convert
 +    test vgfiler -wi-a- 100,00G
 +
 +Attribuer le delta de "​5%"​ au systeme de fichiers:
 +  # resize2fs -p /​dev/​vgfiler/​test
 +  resize2fs 1.41.3 (12-Oct-2008)
 +  Resizing the filesystem on /​dev/​vgfiler/​test to 26214400 (4k) blocks.
 +  Début de la passe 1 (max = 40)
 +  Extension de la table d'​i-noeudsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +  Le système de fichiers /​dev/​vgfiler/​test a maintenant une taille de 26214400 blocs.
 +(C'est assez rapide...)
 +
 +On est assuré de bien avoir une partition et un systeme de fichiers de 100G !
 +
 +Re-verifier le systeme de fichiers:
 +
 +  # e2fsck -C 0 -f /​dev/​vgfiler/​test
 +
 +Ajouter le journal pour transformer la partition de ext2 en ext3 :
 +  # tune2fs -j /​dev/​vgfiler/​test
 +
 +Si besoin, virer l'​interval de "​fsck"​ (pour les gros volumes reposant sur un RAID puiiiiissant ):
 +  # tune2fs -i 0 /​dev/​vgfiler/​test
 +
 +Et voila. Reste plus qu'a remounter.
 +
 +  # mount /​dev/​vgfiler/​test /mnt/test -o rw,acl
 +
 +  # df -h
 +  /​dev/​mapper/​vgfiler-test
 +                       ​99G ​  ​80G ​  ​14G ​ 86% /mnt/test
  
 === methode 2 === === methode 2 ===
Ligne 444: Ligne 589:
  
 Et voila. Et voila.
 +
 +=== limites ===
 +
 +Pas trop, mais quand même une belle: **On ne peut pas reduire la taille d'une partition XFS**
 +
 +Donc, ces défauts sont:
 +  *Moins universel que Ext3/Ext2
 +  *Moins souples que Ext3/Ext2
 +
 +Avec la prochaine arrivé de Ext4 en Stable (on est en Janv-2011 là), l'​interet de XFS se réduit.......
  
 ==== snapshot ==== ==== snapshot ====
disk_lvm.1292070737.txt.gz · Dernière modification: 2010/12/11 13:32 par thierry