Ich persönlich denke , es wird einfacher sein , eine zusätzliche virtuelle Festplatte zu befestigen und es zu einem richtigen Einhängepunkt zu montieren, zum Beispiel /opt
und Ihre Sachen bewegen sich über Verwendung , rsync
um dieses Problem zu arbeiten, nachdem alle, Puppen Vagabund - Boxen sind für Testzwecke.
Grund warum : Funktioniert VBoxManage modifyhd
nur mit nativem VDI-Image. Vagabundierende Basisboxen werden jedoch grundsätzlich im OVF / OVA- VMDK
Format exportiert .
Siehe VirtualBox-Dokumente
Mit der --resize x
Option (wobei x der gewünschte neue Gesamtspeicherplatz in Megabyte ist) können Sie die Kapazität eines vorhandenen Bilds ändern. Dies passt die logische Größe eines virtuellen Laufwerks an, ohne die physische Größe wesentlich zu beeinflussen. [37] Dies funktioniert derzeit nur für VDI- und VHD-Formate und nur für die dynamisch zugewiesenen Varianten und kann nur zum Erweitern (nicht zum Verkleinern) der Kapazität verwendet werden.
So erhöhen Sie die Kapazität der Festplatte für die Vagrant Base Box
Schritte sind
Um die Größe der Festplatte ändern zu können, müssen Sie sie zuerst in VDI konvertieren, z. B. VBoxManage clonehd in.vmdk out.vdi --format VDI
und sie dann erneut anfügen (die Verwendung der GUI ist einfacher).
Ändern Sie VBoxManage modifyhd box.vdi --resize 15360
die Größe mit, wodurch die Kapazität auf 15 GB erhöht wird.
Dies ändert jedoch nur die Laufwerkskapazität. Anschließend müssen Sie das Dateisystem für den Gast erweitern. Verwenden Sie beispielsweise resize2fs -p -F DEVICE
für ext {3,4}.
resize2fs
. Viel Glück!Ich habe diesen einfachsten Weg gefunden, um dieses Problem zu lösen:
Installiere dieses Plugin:
vagrant plugin install vagrant-disksize
Bearbeiten Sie die
Vagrantfile
:vagrant halt && vagrant up
vagrant reload
quelle
sudo cfdisk /dev/sda
Tool verwendet , um die Größe meiner/dev/sda1
Partition an den gesamten neu verfügbaren Speicherplatz anzupassen . Dannsudo resize2fs -p -F /dev/sda1
Ich habe das Hinzufügen der Festplatte in mein Vagrantfile automatisiert:
Wo das
add_new_disk.sh
Shell-Skript so aussieht:Dieses Skript ist für eine Centos 6.4- Box gedacht , kann aber leicht an Ubuntu angepasst werden.
Anstatt eine Festplatte hinzuzufügen, stehen folgende Optionen zur Verfügung:
quelle
config.vm.provider :virtualbox do |vb|
Block hinzugefügt werden , um die Dinge klarer zu machenlvextend
, versuchen Sie eslvextend -l +100%FREE /dev/VolGroup/lv_root
stattdessenSie können das Plugin verwenden, mit dem Sie die Festplattengröße https://github.com/sprotheroe/vagrant-disksize angeben können
quelle
Haftungsausschluss: Die Antwort ist höchstwahrscheinlich nur für Distributionen mit logischem Volume-Management wie Rhel anwendbar, für die der folgende Anwendungsfall gilt:
Ich habe mit der offiziellen Red Hat Enterpise 7.2 vagrant Box offiziell von rotem Hut bereitgestellt .
(Sie benötigen einen Rhel-Entwickler-Account, den Sie kostenlos erstellen können.)
Bei der Installation war ich beunruhigt darüber, dass nur 8 GB verfügbar waren:
Und wie Sie sehen, war der größte Teil des Platzes bereits von der Rhel-Installation belegt.
Ich stellte jedoch fest, dass die dem
/dev/mapper/VolGroup00-root
Dateisystem entsprechende Datenträgergruppe über zusätzlichen Speicherplatz verfügte (der meiner Meinung nach in Bezug auf die virtuelle Box dynamisch zugewiesen wurde).Die einzigen Dinge, die noch zu tun waren, waren:
a ) Erhöhen Sie die Größe unseres logischen Volumens um beispielsweise 10 G
sudo lvextend -L+10G /dev/VolGroup00/root
und
b ) Aktualisieren Sie Ihr Root-Dateisystem, damit es von dieser Änderung Kenntnis erhält
sudo xfs_growfs /dev/mapper/VolGroup00-root
(Bitte beachten Sie, dass zumindest für Rhel 7.2
resize2fs
für diesen Zweck nicht funktioniert).Danach stand meinem Dateisystem zusätzlicher Speicherplatz zur Verfügung:
... kein Eingriff auf Virtualbox-Ebene
quelle