Sie senden modifyhd die UUID der VM (von vagrant zur Verfügung gestellt), während sie die UUID der VDI erwartet.
Sie müssen den absoluten Pfad zur tatsächlichen VDI-Datei oder ihrer UUID verwenden. Sie können den folgenden Befehl verwenden, um die UUID der VDI abzurufen: VBoxManage showhdinfo <filename>
(siehe VirtualBox - Wie überprüft man die UUID eines VDI? )
Ich habe einen neuen Datenträger erstellt, den älteren hinzugefügt und erweitert.
Meine Vagrant-Datei:
%Vor%Dies wird neue Festplatte in
erstellen %Vor% und fügen Sie in Ihrer Box hinzu. Die neue Festplatte hat 60 GB
Meine Shell provision.sh
Dieses Skript wurde von SHC box bseller / oracle-standard . Den vollständigen Code finden Sie in meinem Projekt oracelbox in GitHub
Ich habe mir das angesehen und ich habe keine Möglichkeit gefunden, das direkt zu tun. Sie können den Effekt jedoch mithilfe von Ansible als Bereitsteller erzielen. Zunächst einmal ist es mit Vagrant definitiv möglich, eine zweite Festplatte zu erstellen und hinzuzufügen, die Sie beliebig mit Ansible hinzufügen und mounten können.
Ansible kann jedoch auch lokale Befehle (auf dem Host) ausführen. Dies ist mit Ansibels local_action
-Feature. Ich habe es hier verwendet, um eine Vagrant-VM nach einem Kernel neu zu starten Aktualisieren Sie den Host und sagen Sie ihm, dass er warten soll, bis er neu gestartet wurde. Sie können jedoch mit dem Befehl oder den Shell-Aktionen die HD-Kennung suchen, die VM herunterfahren und die Festplatte konfigurieren und dann neu starten. Zumindest in der Theorie.
Obwohl die Frage alt ist, sah ich keine Antwort akzeptiert.
The given path 'e87d8786-88be-4805-9c2a-45e88b8e0e56' is not fully qualified
wird angezeigt, weil die UUID e87d8...
VirtualBox vm UUID ist, nicht die UUID Ihres SATA-Speicherplattengeräts. Sie finden die UUID des Speichergeräts nach VBoxManage showvminfo e87d8786-88be-4805-9c2a-45e88b8e0e56|grep vdi
. Das Ersetzen von :id
mit der SATA-Speicher-UUID in Vagrantfile modifyhd Zeile.
Es hat mein Problem gelöst.
OK ... Gelöst ...
VBoxManage.exe wan't in meinem Pfad, also was ich getan habe, war zu gehen (Sie müssen zu diesem Pfad gehen):
C: \ Programme \ Oracle \ VirtualBox
verwendet dann den Befehl:
VBoxManage.exe modifyhd "C: \ Benutzer \ MyUser \ VirtualBox VMs \ Computername \ HDName.vdi" --resize 20480
Für 20 GB Größe ein HD
Das funktioniert NICHT: "C: \ Programme \ Oracle \ VirtualBox \ VBoxManage.exe" "Modifyhd" C: \ Benutzer \ MyUser \ VirtualBox VMs \ Computername \ HDName.vdi "- Resize 20480
Sie müssen im Pfad sein: C: \ Programme \ Oracle \ VirtualBox
Sie können stattdessen eine neue Festplatte hinzufügen. Verwenden Sie zuerst die GUI der virtuellen Box, um eine weitere hinzuzufügen virtuelle Festplatte
Verwenden Sie dann fdisk, um eine primäre Festplattenpartion zu erstellen
%Vor%Machen Sie eine neu erstellte Festplattenpartition zu einem ext4 Dateisystem
%Vor%Mounten Sie die Festplattenpartition in ein Verzeichnis
%Vor%Tags und Links vagrant virtualbox