Outils pour utilisateurs

Outils du site


kb:linux:donnees:changer_la_taille_d_une_partition_sans_la_demonter

Augmenter la taille d'une partition sans la démonter

Introdution

Cette page explique comment changer la taille d'une partition (non LVM) sans avoir à la démonter, y compris la partition root. Il faudra cependant démonter les partitions situé plus loin sur le disque (notamment le swap).

ATTENTION, je ne suis pas responsable des pertes potentiel des données, même si je ne n'ai jamais rencontré d'erreurs.

Cette page est utile si par exemple vous manquait de place sur un partition de VM et que vous voulais l'augmenter.

Mise en Application

Cela se décompose en cinq étapes

Etape 1 : Démonter les partitions suivantes

Ça concerne aussi la partition swap

Etape 2 : Changement de la table de partition

Voici l'étape inutile avec une partition LVM, c'est à dire changer la table de partition. Et pour cela rien de plus simple que d'utiliser fdisk

Pour cela, lancer la commande :

# fdisk /dev/vda

Vous pouvez lister les partitions avec p :

Disque /dev/vda : 30 GiB, 32212254720 octets, 62914560 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x439c67fe

Périphérique Amorçage    Début      Fin Secteurs Taille Id Type
/dev/vda1    *            2048 37750783 37748736    18G 83 Linux
/dev/vda2             37752830 41940991  4188162     2G  5 Étendue
/dev/vda5             37752832 41940991  4188160     2G 82 partition d'échange

Supprimer la partition concerné ainsi que les suivante :

Commande (m pour l'aide) : d
Numéro de partition (1,2, 2 par défaut) : 1

La partition 1 a été supprimée.

Commande (m pour l'aide) : d
Partition 2 sélectionnée
La partition 2 a été supprimée.

puis il faut les recréer la partition :
Oubliez pas de laisser de la place pour le swap.

Commande (m pour l'aide) : n
Type de partition
   p   primaire (0 primaire, 0 étendue, 4 libre)
   e   étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) :

Utilisation de la réponse p par défaut.
Numéro de partition (1-4, 1 par défaut) :
Premier secteur (2048-62914559, 2048 par défaut) :
Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (2048-62914559, 62914559 par défaut) : +28G

Une nouvelle partition 1 de type « Linux » et de taille 28 GiB a été créée.
La partition #1 contient une signature ext4.

Voulez-vous supprimer la signature ? [O]ui/[N]on : N

Puis on recréer la partition swap:

Commande (m pour l'aide) : n
Type de partition
   p   primaire (1 primaire, 0 étendue, 3 libre)
   e   étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) :

Utilisation de la réponse p par défaut.
Numéro de partition (2-4, 2 par défaut) :
Premier secteur (58722304-62914559, 58722304 par défaut) :
Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (58722304-62914559, 62914559 par défaut) :

Une nouvelle partition 2 de type « Linux » et de taille 2 GiB a été créée.

Commande (m pour l'aide) : t
Numéro de partition (1,2, 2 par défaut) : 2
Type de partition (taper L pour afficher tous les types) : 82

Type de partition « Linux » modifié en « Linux swap / Solaris »

Il faut aussi rendre la partition amorçable si celle ci l'était :

Commande (m pour l'aide) : a
Numéro de partition (1,2, 2 par défaut) : 1

L’indicateur d’amorçage de la partition 1 est maintenant activé.

Et pour finir, le moment fatidique, on valide :

Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Échec de relecture de la table de partitions.: Périphérique ou ressource occupé

Le noyau continue à utiliser l'ancienne table. La nouvelle sera utilisée lors du prochain démarrage ou après avoir exécuté partprobe(8) ou kpartx(8).

Etape 3: Recharger la table de partition par le kernel

Théoriquement inutile, mais sait on jamais.

On rentre dans le vif de la galère de la compatibilité, car là on dépends du hardware :-).

Certains disques ne supportent pas le scan des partitions par le noyaux (notamment les disques virtio).

Il faut taper la commande issue du packet parted :

# partprobe

Etape 4: Redimensionner les partitions

Il vous suffit de lancer la commande :

# resize2fs /dev/vda1

Et pour la partition SWAP, il vous faut lancer la commande :

# mkswap /dev/vda2

Etape 5: Mise en place du montage automatique

Il suffira de récupérer les UUIDs avec la commande :

# blkid
/dev/vda1: UUID="8bb4578f-ce81-4cb2-94ad-e6e97960e350" TYPE="ext4" PARTUUID="439c67fe-01"
/dev/vda2: UUID="63bd67d4-58dd-4a8d-974c-359a15f82730" TYPE="swap" PARTUUID="439c67fe-02"

Puis de les reporter dans le fichier /etc/fstab, mais là je vous laisse vous en référer a la doc :-).

Si vous avez touché a la partition swap, il vous faut remplacer le UUID dans le fichier /etc/initramfs-tools/conf.d/resume

RESUME=UUID=63bd67d4-58dd-4a8d-974c-359a15f82730

et lancer la commande :

# update-initramfs -u

puis pour conclure lancer la commande :

# mount -a
kb/linux/donnees/changer_la_taille_d_une_partition_sans_la_demonter.txt · Dernière modification: 2020/03/13 18:34 de beu