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)?
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##
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é :)
Vous traitez avec de l'espace disque sur trois (et un quatrième implicite) niveau d'abstraction:
.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.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.