Lsvg
| Fiche express | |
|---|---|
| Domaine | Stockage (LVM) — informations et conversion de volume group |
| Commande | lsvg
|
| Contexte | AIX — équivalent Linux : `vgdisplay`/`vgs` |
| Voir aussi | Mkvg · Lspv · Lslv · Chvg |
lsvg affiche les informations et la configuration d'un volume group (VG) AIX — état, type (normal/big/scalable), volumes physiques et logiques membres. Cette page couvre aussi la conversion d'un VG vers un type supérieur (big, scalable), une opération qui s'appuie largement sur `lsvg` pour valider chaque étape.
Usage de base
lsvg -l rootvg # volumes logiques du VG rootvg
lsvg -l $(lsvg) # volumes logiques de tous les VG du système
lsvg -o # VG actuellement actifs (varied on)
lsvg -o | lsvg -ip # + détail des PV de chaque VG actif
lsvg -M nomvg # correspondance partitions physiques/logiques (mapping)
cat /etc/filesystems # filesystems définis (équivalent AIX de /etc/fstab)
Deux zones de métadonnées sous-tendent chaque VG :
- VGDA (Volume Group Descriptor Area) — métadonnées du VG (structure, PV membres, LV membres, mapping des partitions physiques, politiques de distribution/miroir), répliquée sur chaque PV du VG.
- VGSA (Volume Group Status Area) — état de synchronisation des copies miroir de chaque partition physique.
lqueryvg -tAp hdisk0 # interroger directement le VGDA d'un disque
lsfs -q /chemin/du/fs # taille de bloc et type d'un filesystem précis
Caractéristiques par type de VG
| Caractéristique | Normal VG (original) | Big VG | Scalable VG |
|---|---|---|---|
| Nombre max. de PV | 32 disques physiques | 128 disques physiques | 1024 disques physiques |
| Taille max. de PP | 128 Mo | 128 Mo | 1 Go |
| Nombre max. de PP par PV | 1016 PP par PV | 1016 PP par PV | plusieurs milliers de PP par PV |
| Nombre max. de LV | 256 | 512 | 4096 |
| Nombre max. total de PP par VG | 32 768 PP (32 × 1016) | 65 536 PP (64 × 1016) | 2 097 152 PP (selon la taille de PP choisie) |
| VGDA | 1 PP par PV | 1 PP par PV | optimisée, plusieurs PV peuvent partager la VGDA |
| Compatibilité | Toutes versions AIX | AIX 4.3.3 et plus | AIX 5.3 et plus |
Le "facteur" (normal/big VG)
Un normal ou big VG a un facteur multiplicateur (par défaut 1) qui augmente sa limite de PP par PV — ce facteur n'est pas affiché directement, il se déduit :
lsvg nomvg | grep "MAX PPs per VG"
Facteur = (MAX PPs per PV) ÷ 1016
| Normal VG (original) | Big VG | Scalable VG | |
|---|---|---|---|
| Valeur par défaut | 1 | 1 | N/A (concept différent) |
Valeur max. (chvg -t) |
16 | 64 | N/A |
| PP par PV max. | 1016 × facteur (max 16 256 avec facteur=16) | 1016 × facteur (max 65 024 avec facteur=64) | pas limité par facteur |
| Effet sur le total de PP par VG | 32 768 × facteur (524 288 max) | 130 048 × facteur (8 322 048 max) | jusqu'à 2 097 152 PP au total |
| Effet sur le VG | augmente l'espace disque utilisable sans conversion | augmente l'espace disque utilisable sans conversion | concept remplacé par une architecture plus évolutive |
| Commande d'augmentation | chvg -t <facteur> <nom_du_vg> |
chvg -t <facteur> <nom_du_vg> |
N/A |
| Quand augmenter ? | quand le nombre de PP par PV approche 1016 | quand le nombre de PP par PV approche le max | quand les limites du Big VG sont atteintes |
| Quand passer au niveau supérieur ? | quand facteur=16 est insuffisant | quand facteur=64 est insuffisant | N/A |
Politiques d'allocation des partitions
La politique d'allocation détermine comment les partitions physiques d'un volume logique sont réparties sur le(s) disque(s) du VG :
lslv -m nomlv # mapping détaillé
lslv nomlv | grep POLICY # politique actuelle
| Politique | Description | Avantages | Inconvénients |
|---|---|---|---|
| INTER (inter-physical volumes) | alloue des partitions sur plusieurs disques physiques de manière séquentielle circulaire | meilleure tolérance aux pannes ; distribution de charge équilibrée | performances potentiellement réduites pour les gros fichiers |
| INTRA (intra-physical volume) | remplit un disque physique avant de passer au suivant | meilleures performances pour les accès séquentiels ; moins de mouvements de bras des disques | tolérance aux pannes réduite ; distribution de charge inégale |
| EDGE (bord) | alloue des partitions au bord extérieur du disque en priorité | accès plus rapide (partie la plus rapide du disque) | fragmentation des données ; capacité limitée au bord du disque |
| MIDDLE (milieu) | alloue des partitions au milieu du disque en priorité | moins de mouvements de bras pour certains workloads | moins optimal pour les disques modernes |
| CENTER (centre) | alloue des partitions à partir du centre vers l'extérieur | réduit la distance moyenne de déplacement du bras | performances variables selon le type de disque |
| INNER (intérieur) | alloue des partitions sur les cylindres intérieurs du disque | optimisé pour certains types de disques spécifiques | généralement plus lent sur les disques modernes |
| SEQUENTIAL (séquentielle) | alloue les partitions de manière contiguë quand possible | performances optimales pour les accès séquentiels ; moins de fragmentation | sensible aux pannes de disque ; peut causer des goulots d'étranglement |
| PARALLEL (parallèle) | répartit les partitions sur plusieurs disques pour un même LV | accès parallèle possible ; performances accrues pour les applications multi-threads | plus complexe à gérer ; fragmentation potentielle |
La politique se fixe à la création du LV, ou se modifie après coup :
mklv -y nomlv -a politique_allocation -e politique_miroir -t type_lv nomvg nb_LP
chlv -a politique_allocation nomlv # valeurs : m (middle), c (center), e (edge), ie (inner edge), i (inner)
chlv -p permission nomlv # valeurs : r (read-only), w (read-write)
chlv -t type nomlv # valeurs : jfs, jfs2, paging, etc.
Vérifications avant une conversion
⚠️ Si le volume group est mal équilibré, le passage en mode big peut être refusé — une fragmentation excessive peut aussi réduire les performances après conversion.
lspv -p nomdupv # répartition des PP sur un disque
lsvg -p nomduvg # répartition des PV du VG
reorgvg nomdupv # réorganiser/défragmenter si nécessaire
syncvg -v nomduvg # s'assurer que toutes les données sont synchronisées
Convertir un Normal VG en Big VG
lsvg bbvg | grep "MAX PPs per VG" # déterminer le type/facteur actuel
Quand le facteur (chvg -t) a atteint son maximum, il faut passer en Big VG :
lsvg -p bbvg
chvg -B bbvg
lspv -M hdisk4
lspv -M hdisk3
migratelp bblv/920 hdisk3/489
migratelp bblv/921 hdisk3/490
lsvg -p bbvg
chvg -B bbvg
lsvg -p bbvg
Convertir un Normal (ou Big) VG en Scalable VG
La conversion nécessite un VGDA plus grand pour gérer les structures de données plus complexes du Scalable VG (liste des PV/LV, mappings des PP, politiques de distribution/miroir — le VGDA est stocké au début et à la fin de chaque disque physique pour la redondance ; le système doit créer un nouveau VGDA adapté pendant la conversion). Si l'espace nécessaire n'est pas disponible, la conversion échoue.
Vérifier l'absence de partitions "stale" (copies miroir désynchronisées) avant de convertir :
lsvg -M bbvg | grep -i stale
L'opération se fait à froid (VG désactivé) :
varyoffvg bbvg
chvg -G bbvg
varyonvg bbvg
lsvg nomduvg # "MAX PVs" est maintenant 1024
Journal de reorgvg
alog -ot lvmcfg | tail -3 # dernières entrées du journal LVM
alog -ot lvmcfg | tail -3 | grep workdir # répertoire de travail utilisé par reorgvg