web-dev-qa-db-fra.com

Pourquoi l'espace de l'image de disque virtuel (vdi) récemment redimensionné ne s'affiche-t-il pas et comment le réparer?

Je devais donner à une image VirtualBox un espace disque supplémentaire.

J'ai redimensionné mon disque virtuel conteneur avec:

VBoxManage modifyhd <absolute path to file> --resize <size in MB> //example
VBoxManage modifyhd example.vdi --resize 10000

WARNING, vous ne pouvez pas réduire la taille!

Je lance df -h sur ma machine virtuelle Ubuntu 16.04 - pas de changement.

/dev/mapper/example-vg--vg-root   5G  4.9G  50M  100% /

À ce stade, je ne connaissais rien aux groupes de volumes, mais après quelques recherches, j'ai découvert que j'avais maintenant 5 Go d'espace libre. Comment puis-je obtenir cela dans mon groupe de volumes et de là vers mon - volume logique ?

Alors, comment puis-je obtenir cet espace libre sur mon volume logique (LV) dans mon groupe de volumes (VG)?

1
Olavi Sau

La première chose à faire est de vérifier que vous n’avez pas déjà l’espace dont vous avez besoin en voyant combien d’espace libre de votre groupe de volumes.

Toutes les commandes suivantes nécessitent généralement Sudo.

Vous pouvez voir les attributs des groupes de volumes avec vgdisplay

vgdisplay

Vous devriez voir quelque chose comme ça:

     --- Volume group ---
  VG Name               example-vg
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               15.52 GiB
  PE Size               4.00 MiB
  Total PE              3972
  Alloc PE / Size       3963 / 15.48 GiB
  Free  PE / Size       9 / 36.00 MiB
  VG UUID               JZCVgU-QvdG-2dMN-ZLrO-YXHp-83bq-zItAUD

Si vous avez des extensions physiques libres ( PE ), vous pouvez simplement les ajouter (si la taille des extensions physiques couvre vos besoins, passez à l'ajout au volume logique Ctrl + F ADDING TO LOGICAL VOLUME).

Si vous ne disposez pas de suffisamment d'espace libre dans votre groupe de volumes , vous devez l'ajouter à partir de votre espace disponible, mais vous devez d'abord le partitionner.

Vous pouvez le faire avec fdisk

fdisk /dev/sda

Commencez par lister la table existante (vous devez savoir par où commencer la partition)

Dans fdisk (Command (m for help):)

p

Affichera quelque chose comme ceci:

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048   999423   997376  487M 83 Linux
/dev/sda2        1001470 32000000 30998531 14.8G  5 Extended
/dev/sda3       32002048 48779263 16777216    8G 8e Linux LVM
/dev/sda5        1001472 32000000 30998529 14.8G 8e Linux LVM

Copiez le plus haut End . Sinon, vous pourriez créer une partition entre partitions, ce qui limite la taille de la partition à l'espace entre les partitions. (comme 1 kb)

Continuez en appuyant sur n (créer une nouvelle partition)

n

Choisissez le numéro par défaut (peu importe, mais notez-le ou souvenez-vous-en)

Collez l'extrémité la plus haute pour le premier secteur et finissez par + size {K, M, V, T, P} (ou comme vous voudrez)

Cela va créer la nouvelle partition.

Vous devriez maintenant redémarrer (Sudo reboot)

Après le redémarrage, créez le volume physique pvcreate /dev/sda##THE NUMBER YOU CHOSE##

Redémarrez à nouveau si nécessaire Sudo reboot

Si vous ne vous souvenez plus du numéro, vous pouvez simplement fdisk /dev/sda ... p les énumérer.

Maintenant, étendez votre groupe de volumes vgextend example-vg /dev/sda##NUMBER##

AJOUTER AU VOLUME LOGIQUE

Sudo parted ##example-vg-path ( from vgdisplay) ##

print list ( find your /dev/mapper/example-vg--vg-root )

resizepart NUMBER

Entrez votre taille

quit

Sudo resize2fs  /dev/mapper/example--vg-root

Exécutez df -h pour vérifier.

La fin était un peu maladroite mais bon pressé :)

1
Olavi Sau

Vous traitez avec de l'espace disque sur trois (et un quatrième implicite) niveau d'abstraction:

  • Espace disque dans le fichier .vdi - Vous avez redimensionné ce fichier avec VBoxManage, mais l'espace n'a pas encore est apparu dans les deux niveaux d'abstraction suivants. Ce que vous avez essentiellement fait revient à installer un disque physique plus grand sur un ordinateur réel et à copier le contenu du disque d'origine avec dd. Vous disposez maintenant de davantage d'espace disque (virtuel), mais vous ne pouvez pas l'utiliser car les structures de données utilisées pour accéder au disque n'ont pas encore été mises à jour.
  • Partitions (ou volumes physiques, ou PV) dans le disque virtualisé - Vous devez redimensionner votre PV existant ou en créer un nouveau et l'ajouter à votre groupe de volume (VG). Voir cette question pour les pointeurs sur ce sujet.
  • Volumes logiques (systèmes de fichiers) - Une fois que vous avez développé le PV ou en avez créé un nouveau et que vous l'avez ajouté au VG, vous devez développer le volume logique. (LV) et le système de fichiers qu’il contient. La question mentionnée au point précédent décrit comment procéder.
  • Espace disque dans le système hôte - Il s'agit du quatrième niveau/du niveau d'abstraction implicite, qui est en réalité "supérieur" aux précédents. Bien que la commande VBoxManage ait probablement entraîné une modification triviale de votre utilisation de l'espace disque du système hôte, une fois que vous aurez commencé à utiliser cet espace dans l'environnement virtualisé, l'utilisation de l'espace disque physique augmentera. En supposant que vous disposiez de suffisamment d’espace disque réel, cela ne devrait pas poser de problème et cela n’affectera en rien ce que vous devez faire; Je ne le mentionne que pour être complet.

La réponse de Olavi Sau semble être correcte, mais est présentée dans l'ordre inverse de ce que vous devez réellement faire, de sorte que cela pourrait être déroutant. (C'est-à-dire que la réponse décrit les opérations de système de fichiers/LV avant les opérations de partition/PV; mais vous devez d'abord effectuer les opérations de partition/PV.) Ainsi, j'ai pensé qu'une réponse "à vol d'oiseau" serait un complément utile.

1
Rod Smith