
Agrandir une partition primaire sur Debian
Lorsque l’on héberge un serveur Debian sur une plateforme ESXI, on peut être amené à étendre la taille d’un disque virtuel. Après plusieurs recherches sur le Net, voici un petit résumé des commandes à passer.
Attention, cela fonctionne sur une partition primaire, mais pas sur les partitions de type étendue.
Bien sûr, cela fonctionne aussi sur une serveur qui n”est pas hébergé sur une plateforme virtualisée.
1. Agrandir le disque dans ESXI.
Après être connecté sur le vSphere client, accéder à la machine virtuelle dans l’inventaire, effectuer un clique droit sur celle-ci. Choisir dans le menu l’action ”Modifier les paramètres.” Idéalement il faut éteindre la machine virtuelle avant. Néanmoins si cela n’est pas possible, on verra un peu plus bas, qu’il existe un petit script assez sympa dans ce cas.
Ensuite dans l’écran de paramétrage choisir le disque, puis agrandir son espace alloué. Il ne reste plus qu’a valider.
Si la machine est éteinte, l’allumer. Dans ce cas, Debian va reconnaître le changement de la taille du disque. Si la machine n’était pas éteinte lors du changement, la modification risque de ne pas être reconnue. Dans ce cas, il suffit de faire passer ce petit script avec la commande suivante :
1 |
rescan-scsi-bus.sh -r |
Le changement de la taille d’un disque ne suffit pas. Il va falloir modifier la partition, et le faire prendre en compte par le système de fichier.
2. Modification de la partition dans Debian.
Attention, il va falloir être très vigilant sur les commandes suivantes, car cela pourrait altérer totalement le disque. Dans le cas où il y a plusieurs partitions sur le disque, seule la dernière pourra être étendue.
Le principe est le suivant :
- Il faut démonter la partition;
- Supprimer la partition;
- Recréer une nouvelle partition plus grande; (Attention à bien respecter le même bloc de départ que celle qui vient d’être effacée)
- Supprimer le journal;
- Agrandir le système de fichier;
- Recréer le journal;
- Pour finir, remonter la partition.
Let’s go !
1 |
umount /dev/sdb1 |
On récupère le point de départ de bloc de la partition avant de la supprimer.
1 |
fdisk -l |
Ensuite on supprime la partition, puis on la recrée :
1 2 3 4 5 6 7 8 9 |
fdisk /dev/sdb d # pour effacer la partition (delete) 1 # pour indiquer la partition sdb1 n # pour recréer la partition p # pour recréer une partition primaire 1 # parce que c'est la partition 1 que l'on veut créer [Enter] # pour accepter le bloc proposé, à savoir le premier bloc disponible, le même que celui de la partition effacée. [Enter] # pour accepter le bloc de fin, qui par défaut, est le dernier bloc disponible w # pour enregistrer les changements dans la table de partitions |
Suppression du journal et vérification de l’intégrité des données.
1 2 |
tune2fs -O ^has_journal /dev/sdb1 fsck -f -y /dev/sdb1 |
On agrandit le système de fichier :
1 |
resize2fs /dev/sdb1 |
Pour finir, on recrée le journal et on remonte la partition.
1 2 |
tune2fs -O has_journal /dev/sdb1 mount /dev/sdb1 |
Voila, l’opération est terminé.
La partition a été agrandie sans perdre de donnée, enfin j’espère pour vous.