Nous gérons de plus en plus de machines virtuelles basées sur Linux (Ubuntu) au travail, mais je commence à avoir du mal à développer quelque chose d'aussi simple que d'étendre le disque d'un ordinateur virtuel existant, ce qui prend littéralement des secondes à nos machines virtuelles Windows (propriétés de l'ordinateur virtuel -> entrée nouvelle taille -> ok, puis diskpart, rescan, sel vol 0, extension, tout est fait).
Toutefois, lorsque vous examinez les options sous Linux, il semble que l’on se limite à l’une de ces solutions, que vous utilisiez ou non LVM.
LVM -> Ajouter un nouveau disque virtuel, ajouter une partition sur le disque, étendre avec la nouvelle partition
LVM -> Augmenter le disque existant, ajouter une partition sur le disque existant, étendre avec la nouvelle partition.
Démarrez un ISO LiveCD GParté ou supérieur, ou augmentez la taille de la partition existante.
Il y a plusieurs raisons pour lesquelles je ne peux pas utiliser ce qui précède:
Vous vous retrouvez avec une tonne de disques durs supplémentaires, et il semble y avoir une limitation à 16 numéros mineurs pour les périphériques SCSI ( http://gparted.sourceforge.net/faq.php#faq-8 ) ?, donc après avoir augmenté le disque 16 fois, vous n’avez plus de chance.
Semblable à ce qui précède, même pire si ce n’est pas du GPT, nous ne pouvons étendre que 3 fois en supposant qu’il n’y ait pas d’autres partitions sur le disque.
Certains éléments ne peuvent pas facilement être déconnectés, il est donc impossible de redémarrer sur un Live CD.
Cela empire encore lorsque nos stratégies d'entreprise nous empêchent d'utiliser le provisionnement fin et que les ordinateurs virtuels sont stockés sur toutes les baies flash SAN où le stockage est coûteux, de sorte que nous ne pouvons pas simplement ajouter 500 Go et en finir, nous devons limiter au maximum l'espace perdu à 20-30 Go.
Ai-je raté d'autres options? comment les autres personnes gèrent-elles cela en production?, la plupart de nos contenus sont sous Ubuntu 16.04 (nous essayons de rester à jour sur la version actuelle de LTS), donc ouverts à tout ce qui fonctionnera à ce sujet, nous utilisons actuellement ext4, mais ce n'est pas le cas une exigence, mais un système de fichiers journalisé est préférable.
J'envisage sérieusement de n'utiliser NFS qu'avec NetAPP ou similaire pour nos machines virtuelles Linux, car je suis à court d'idées à ce stade, et bourre tout ce qui se développe sur le point de montage nfs.
C’est ce que j’ai trouvé, après plusieurs essais différents, et testé avec un VM exécutant Ubuntu 16.04 avec ext4 (ne pas utiliser LVM, et ne pas essayer d’augmenter le disque racine, mais juste un disque supplémentaire) sur un disque. Hôte ESXi 6.0.
Augmenter simplement la taille du disque sur la machine virtuelle, ne fait rien, dmesg
ne mentionne aucun changement.
Alors:
echo 1>/sys/class/scsi_device/2\0: 0\0:/device/rescan
dmesg mentionne maintenant un changement de capacité de l'ancienne taille à la nouvelle taille
Exécuter resize2fs/parted/partprobe à ce stade, ignore tout du fait que le nouveau disque a été ajouté, fdisk F peut voir l'espace supplémentaire disponible, mais il n'y a aucun moyen de l'ajouter réellement à la partition existante.
lancez fdisk
et supprimez la partition (oui, cela doit arriver), puis créez une nouvelle partition et la taille appropriée sera sélectionnée.
lancez resize2fs
pour développer le système de fichiers ext4.
J'espère qu'un jour Linux obtiendra un support adéquat pour la gestion du stockage. Il est ridicule de devoir supprimer des partitions pour augmenter la taille des disques en 2017.
ici ce que je suis arrivé jusqu'à présent en utilisant une machine de test
étendre le disque dur dans le backend i.e. vsphere hyperv
créer un instantané en premier
supprimez la partition à l'aide de fdisk et créez-en une nouvelle. Assurez-vous d'utiliser l'ID système 8e pour LVM
pvresize/dev/sda2 -> il s’agit d’une partition sur laquelle "/" est monté.
lvextend -l + 100% GRATUIT/dev/vg1/lv1
xfs_growfs/dev/vg1/lv1 -> ceci concerne le système de fichiers XFS. utilisez resize2fs si applicable