Osobiście uważam, że łatwiej będzie dołączyć dodatkowy wirtualny dysk twardy i zamontować go w odpowiednim miejscu, na przykład, /opt
i przenieść swoje rzeczy, rsync
aby obejść ten problem, w końcu kukiełkowe włóczęgi są do celów testowych.
Powód dlaczego : VBoxManage modifyhd
działa tylko z natywnym obrazem VDI. Jednak błędne skrzynki podstawowe są w zasadzie eksportowane OVF / OVA przy użyciu VMDK
formatu.
Zobacz dokumenty VirtualBox
--resize x
Opcja (gdzie x jest pożądana nową całkowitą przestrzeń w megabajtach) pozwala na zmianę potencjału istniejącego obrazu; dostosowuje to logiczny rozmiar dysku wirtualnego bez znacznego wpływu na rozmiar fizyczny. [37] Obecnie działa to tylko w przypadku formatów VDI i VHD i tylko w przypadku dynamicznie przydzielanych wariantów, i można go używać tylko do zwiększania (a nie zmniejszania) pojemności.
Aby zwiększyć pojemność dysku dla Vagrant Base Box
Kroki są
Aby móc zmienić rozmiar dysku twardego, musisz najpierw przekonwertować go na VDI, np. VBoxManage clonehd in.vmdk out.vdi --format VDI
A następnie ponownie podłączyć (korzystanie z GUI jest łatwiejsze).
Zmień rozmiar, używając, VBoxManage modifyhd box.vdi --resize 15360
co zwiększa pojemność do 15 GB.
Zmienia to jednak tylko pojemność dysku, a następnie trzeba będzie rozszerzyć system plików dla gościa. Na przykład użyj resize2fs -p -F DEVICE
dla ext {3,4}.
resize2fs
. Powodzenia!Znalazłem najprostszy sposób rozwiązania tego problemu:
Zainstaluj tę wtyczkę:
vagrant plugin install vagrant-disksize
Edytuj
Vagrantfile
:vagrant halt && vagrant up
vagrant reload
źródło
sudo cfdisk /dev/sda
narzędzia, aby zmienić rozmiar/dev/sda1
partycji na całą nowo dostępną przestrzeń. Potem powiedziałem mojemusudo resize2fs -p -F /dev/sda1
Zautomatyzowałem dodawanie dysku do mojego pliku Vagrantfile:
Gdzie
add_new_disk.sh
skrypt powłoki wygląda następująco:Ten skrypt jest przeznaczony dla pudełka centos 6.4 , ale można go łatwo dostosować do Ubuntu.
Zamiast dodawać dysk, inne opcje obejmują:
źródło
config.vm.provider :virtualbox do |vb|
bloku, aby wszystko było bardziej jasnelvextend
, spróbujlvextend -l +100%FREE /dev/VolGroup/lv_root
zamiast tegoMożesz użyć wtyczki, która pozwoli ci określić rozmiar dysku https://github.com/sprotheroe/vagrant-disksize
źródło
zrzeczenie się odpowiedzialności: odpowiedz najprawdopodobniej dotyczy tylko dystrybucji za pomocą logicznego zarządzania woluminami, takich jak rhel, dla których ma zastosowanie następujący przypadek użycia:
Korzystam z oficjalnej skrzynki Vagrant 7.2 Red Hat Enterpise oficjalnie udostępnionej przez red hat .
(potrzebujesz konta programisty rhel, które możesz utworzyć za darmo)
Podczas instalacji niepokoiło mnie to, że dostępnych było tylko 8 GB:
Jak widać, większość miejsca została już zajęta przez instalację Rhel.
Odkryłem jednak, że grupa woluminów odpowiadająca
/dev/mapper/VolGroup00-root
systemowi plików ma dodatkową przestrzeń (która, jak sądzę, pod względem wirtualnego pudełka została przydzielona dynamicznie)Jedyne, co pozostało do zrobienia, to:
a ) Zwiększ rozmiar naszego logicznego woluminu o powiedzmy 10G
sudo lvextend -L+10G /dev/VolGroup00/root
i
b ) Zaktualizuj główny system plików, aby dowiedział się o tej zmianie
sudo xfs_growfs /dev/mapper/VolGroup00-root
(proszę zauważyć, że przynajmniej dla rhel 7.2
resize2fs
nie zadziała w tym celu).Następnie do mojego systemu plików była dostępna dodatkowa przestrzeń:
... brak interwencji na poziomie wirtualnej skrzynki
źródło