# Extension disque virtuel + LVM + XFS

##### Préalable

Extension du disque virtuel et reboot (arrêt physique/redémarrage) de la VM pour la prendre en compte.

Alternative à tester pour éviter le reboot : echo 1 &gt; /sys/class/block/sda/device/rescan

#### 1. CREATION D'UNE NOUVELLE PARTITION (parted &lt; 3.1)

`parted /dev/sda`

<p class="callout info">Utilisation de /dev/sda  
Bievenue sur GNU Parted ! Tapez 'help' pour voir la liste des commandes.  
(parted) print free  
Modèle: VMware Virtual disk (scsi)  
Disque /dev/sda : 387GB  
Taille des secteurs (logiques/physiques): 512B/512B  
Table de partitions : msdos  
Disk Flags:  
  
Numéro Début Fin Taille Type Système de fichiers Fanions  
32,3kB 1049kB 1016kB Espace libre  
1 1049kB 525MB 524MB primary xfs démarrage  
2 525MB 62,7GB 62,2GB primary lvm (gestionnaire de volumes logiques)  
3 62,7GB 322GB 259GB primary lvm (gestionnaire de volumes logiques)  
322GB 387GB 64,4GB Espace libre &lt;-------------  
  
(parted) mkpart  
Type de partition ? primary/primaire/extended/étendue? primary  
Type de système de fichiers ? \[ext2\]? xfs  
Début ? 322GB  
Fin ? 387GB  
  
set 4 lvm on  
  
(parted) print free  
Numéro Début Fin Taille Type Système de fichiers Fanions  
32,3kB 1049kB 1016kB Espace libre  
1 1049kB 525MB 524MB primary xfs démarrage  
2 525MB 62,7GB 62,2GB primary lvm (gestionnaire de volumes logiques)  
3 62,7GB 322GB 259GB primary lvm (gestionnaire de volumes logiques)  
4 322GB 387GB 64,4GB primary lvm (gestionnaire de volumes logiques)</p>

##### Ajout de la partition au groupe de volumes

`pvcreate /dev/sda4`  
`vgextend vg1 /dev/sda4`

#### 2. EXTENSION D'UNE PARTITION EXISTANTE (parted &gt;= 3.1)

*parted 3.1.0 n'a plus la commande resize, et pas encore resizepart qui semble revenir avec la 3.1.32*

##### Procédure 1 - Sans "resizepart"

 **SANS SORTIR DE PARTED !**  
on supprime la partition pour la recréer tout de suite à la taille maximum. On note le secteur de départ, il faudra redonner exactement le même.

`parted /dev/sda`

<p class="callout info">unit s *-&gt; (affichage en mode secteurs)*  
print all  
print free  
rm 4  
mkpart primary \[start\]s \[end\]s (ou : 100%)  
print all  
print free</p>

##### Procédure 2 - Avec "resizepart"

<p class="callout info">print *-&gt; (noter la taille max du disque, par ex 502GB)*  
resizepart 4  
Fin \[247GB\] : 502GB  
q</p>

##### Suite : Extension LVM (si nécessaire)

Affichage des informations et noms des groupes de volumes et volumes logiques

`# vgdisplay`

<p class="callout info">--- Volume group ---  
VG Name vg1  
.....</p>

`# lvdisplay`

<p class="callout info">--- Logical volume ---  
LV Path /dev/vg1/root  
.....  
--- Logical volume ---  
LV Path /dev/vg1/swap  
.....  
--- Logical volume ---  
LV Path /dev/vg1/u01  
....  
LV Size 241,63 GiB</p>

Prise en compte de l'extension dans LVM

`# pvscan`

`# pvresize /dev/sda4`

Extension du volume logique

```# lvresize -l +100%FREE /dev/rhel/u01`

`# lvdisplay`

<p class="callout info">...  
--- Logical volume ---  
LV Path /dev/rhel/u01  
...  
LV Size 301,62 GiB</p>

#### 3. EXTENSION DU SYSTEME DE FICHIERS XFS

`# xfs_growfs /u01`