LVM

From Tuxunix
Revision as of 15:00, 19 July 2018 by Admin (Talk | contribs) (Migrer des VG sur Baie différente)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Ajouter de l'espace au volume group déjà présent

Ajout espace sur le "/" à chaud :

#> fdisk /dev/sdb
#> n (ajout partition)
#> w (ecrire la partition)
#> vgextend VolGroup00 /dev/sdb1
#> lvextend -r -L+9G /dev/VolGroup00/LogVol00
#> resize2fs /dev/VolGroup00/LogVol00

Création d'un VG

Ajouter disque, puis :

vgcreate vg_data /dev/sdb
vgcreate vg_others /dev/sdc

Creer un VL

lvcreate -n d_data -L +9g vg_data
mkfs.ext4 /dev/vg_data/d_data
tune2fs -m 1 /dev/vg_data/d_data

Creer un LV qui utilise tout l'espace libre disponible

lvcreate -n NAME -l 100%FREE vg0

Forcer le système à détecter un nouveau disque

echo "- - -" > /sys/class/scsi_host/hostX/scan

Etendre un volumes disque sur une VM via LVM (A chaud)

  • identifier le volume à agrandir
[root@vd2401 ~]# pvs
 PV         VG        Fmt  Attr PSize  PFree
 /dev/sda3  rootvg    lvm2 a--  12.88g      0
 /dev/sda4  rootvg    lvm2 a--   4.97g   3.62g
 /dev/sdb   vg_data   lvm2 a--  10.00g      0  je veux agrandir le vg_data de 4go (donc /dev/sdb)
  • identifier son chemin scsi physique
[root@vd2401 ~]# ls -ld /sys/block/sd*/device
lrwxrwxrwx 1 root root 0 Dec 23 23:00 /sys/block/sda/device -> ../../../2:0:0:0
lrwxrwxrwx 1 root root 0 Dec 23 23:00 /sys/block/sdb/device -> ../../../2:0:2:0  ici
  • Sur vSphere Client, agrandir le disque SCSI(0:2) Disque dur 3 de la VM

Augmenter la taille de 10go à 14go, puis OK.

  • Indiquer au serveur de rescanner le disque
 echo 1 > /sys/block/sdb/device/rescan  (attention sdb dans notre chemin pour notre disk)
  • Rescanner le disk
[root@vd2401 ~]# pvresize /dev/sdb
Physical volume "/dev/sdb" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
  • Vérifier
[root@vd2401 ~]# vgs
 VG        #PV #LV #SN Attr   VSize  VFree
 rootvg      2  13   0 wz--n- 17.84g   3.62g
 vg_data     1   1   0 wz--n- 14.00g   4.00g  Ok
  • Etendre le lv
lvextend -r -L+9G /dev/vg_data/l_data

Commande utiles

Lister les informations :

pvs
lvs

Creation LV en masse

while read a b; do lvcreate -L ${b}m -n d_${a}user1 vg_soft ;done < lst_app

Reconstruire les volumes groupes

il faut déterminer les UID correspondants pour chaque volumes : Aperçues des LV manquants (pvck /dev/sdb)

lvs -a -o +devies
lvscan -a

Affiche les UUID des Volumes

vgcfgrestore vg_soft

Reconfiguration du VG depuis le backup LVM

pvcreate /dev/sde --uuid XXXX-XXXx-XXXX-XXXx-XXXX --restore file /etc/lvm/backup/vg_soft
vgcfgrestore vg_soft

activation

vgchange -ay 
pvs
lvs

On peu maintenant formater le(s) fs

mkfs.ext4 /dev/vg_soft/s_soft

Migrer des VG sur Baie différente

  • scan des nouveaux disques alloué : sscan -d && sscan -v
#> vgextend vg_xxx /dev/mapper/mpatham
#> pvmove -b /dev/mapper/mpatho /dev/mapper/mpatham
#> lvs -a -o+devices (Pourcentage d'avancement du move)

Suppression des anciens VG :

#> vgreduce vg_base /dev/mapper/mpatho

Suppression des anciens disques :

lstDevice="mpatho mpathx"

for i in $lstDevice; do
 lstSd=$(multipath -ll $i |grep sd | awk '{print $3}')
 dmsetup remove $i
 echo "remove $i"
 for j in $lstSd; do
       echo 1 >/sys/block/${j}/device/delete
       echo "Remove /sys/block/${j}/device/delete"
 done
done
  • Script sscan (RedHat) :
File:Sscan.txt