Il y a quelque temps, j'ai créé un VMDK qui a été mappé sur une partition brute sur un SSD.
Le disque SSD était de 128 Go. Je l'ai partitionné sous Windows (l'hôte), j'ai rendu la seconde partition accessible à Windows (NTFS) et j'ai utilisé la première partition pour le mapper sur un VMDK.
Cette première partition a une taille d'environ 48 Go.
Quand j’ai ensuite installé Ubuntu Server dans un VM qui utilisait ce VMDK, j’ai remarqué que la taille de /dev/sda
qui me correspondait à 128 Go, mais j’ai créé la partition lors de l’installation d’Ubuntu à la taille du première partition, de sorte que /dev/sda1
est de 48 Go.
En raison du manque d'espace sur /dev/sda1
(il y a 5 Go gratuits), j'ai acheté un autre disque SSD et j'ai décidé de ne plus utiliser les mappages bruts. J'ai copié le VMDK via le gestionnaire de média virtuel sur le nouveau SSD. J'ai donc maintenant un fichier VMDK d'aprox. 44 Go (ne le prenez pas très exactement, c'est le problème MiB vs GiB vs GB).
J'ai alors remplacé le disque dur du VM par le VMDK nouvellement copié et démarré. Cela fonctionne comme prévu.
Maintenant j'ai ceci:
:~$ cat /proc/partitions
major minor #blocks name
11 0 58100 sr0
8 0 125034840 sda
8 1 46873600 sda1
8 16 488386584 sdb
8 17 181189085 sdb1
ce
~$ Sudo fdisk -l
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000271d1
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 93749247 93747200 44.7G 83 Linux
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 59B4B505-C79F-11E3-8F9C-709E29CA19D2
Device Start End Sectors Size Type
/dev/sdb1 34 362378204 362378171 172.8G Linux filesystem
et ça
:/$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.9G 0 7.9G 0% /dev
tmpfs 1.6G 9.1M 1.6G 1% /run
/dev/sda1 44G 37G 5.1G 88% /
tmpfs 7.9G 1.1M 7.9G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
windows-avconv 1.9T 1.8T 103G 95% /home/user/windows-avconv
windows-storage 1.9T 1.8T 103G 95% /home/user/windows-storage
windows-share 50G 101M 50G 1% /home/user/windows
cgmfs 100K 0 100K 0% /run/cgmanager/fs
/dev/sdb1 170G 91G 72G 56% /media/hdd
tmpfs 1.6G 0 1.6G 0% /run/user/1000
Tout cela semble indiquer que je peux simplement émettre un
Sudo resize2fs /dev/sda1
et /dev/sda1
deviendra 119.2 GiB big sans que je doive utiliser VBoxManage modifyhd <absolute path to file> --resize <size in MB>
Suis-je correct avec cette hypothèse?
Mise à jour: j’ai fait une copie de sauvegarde du VMDK et publié un
:~$ Sudo resize2fs /dev/sda1
Voici le résultat:
resize2fs 1.42.13 (17-May-2015)
The filesystem is already 11718400 (4k) blocks long. Nothing to do!
Dois-je émettre un
Sudo growpart /dev/sda 1
avant que resize2fs
puisse fonctionner?
Vous devez d’abord redimensionner la partition en procédant comme suit:
parted /dev/sda
pour entrer l'invite "(en partie)"resizepart 1
pour redimensionner la partition 1
-0
le redimensionne à la fin du disque. -
indique qu'il devrait compter à partir de la fin du disque, pas au début. Cela fait de -0 le dernier secteur du disque - ce qui convient lorsque vous voulez le rendre aussi grand que possible. Étape 4:quit
to exit partedLes méta-informations du système de fichiers doivent indiquer la taille du disque, ce que resize2fs met à jour. Ainsi, après avoir développé, exécutez resize2fs /dev/sda1
.
Il est fortement recommandé de le faire en mode utilisateur unique/mode de récupération ou avec le système de fichiers monté en lecture seule. Vous pouvez le monter en lecture seule par mount -o remount,ro /dev/sda1
.
Étendre est possible avec un système de fichiers en mode RW, mais augmente les risques de perte de données. Comme il s’agit d’une machine virtuelle et que vous pouvez facilement effectuer une sauvegarde, il peut être judicieux de le faire avec l’enregistreur de volume monté.
Addendum: lancez les commandes en tant que root pour l’effet désiré.