Vagrant box 增加磁盤容量方法


 

一直以來都是以vagrant+docker作為開發環境,可是久而久之,原Box自帶的8G容量就捉襟見肘了。時不時需要手動刪除一些東西。

dfhold

Virtualbox 本身只支持vdi硬盤文件格式的擴容,對vmdk 格式的卻不支持。但是卻提供vmdk到vdi格式的轉化,正好可以利用這一功能進行擴容。

1. 關閉虛擬機, 從Virtualbox頁面查看硬盤文件地址(選中虛擬機->右鍵->設置->存儲)。進到文件所在目錄后執行:

$ VBoxManage clonehd box-disk1.vmdk box-disk1.vdi –format VDI

2. 給vdi格式硬盤文件擴容

$ VBoxManage modifyhd box-disk1.vdi –resize 20000

3. 從Virutalbox存儲界面刪除原硬盤文件,然后再加入新的VDI格式硬盤文件

4. vagrant up啟動虛擬機,然后vagrant ssh進入

5. 利用cfdisk工具創建主分區,謹記選擇格式為Linux LVM (8e)

$ sudo cfdisk /dev/sda

cfdisk

6. 利用pvcreate命令給新的分區創建物理卷

$ sudo pvcreate /dev/sda3
successfully created

7. 查看VG Name,我自己的VG Name是centos

$ sudo pvdisplay | grep "VG Name"
VG Name centos

8. 將新分區擴展到centos這個組

$ vgextend centos /dev/sda3
Volume group "centos" sucessfully extended

9. 擴展邏輯分區

$ lvextend /dev/mapper/centos-root /dev/sda3

10. resize並且生效

$ resize2fs /dev/mapper/centos-root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/debian-605/root is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/debian-605/root to 4937728 (4k) blocks.
The filesystem on /dev/debian-605/root is now 4937728 blocks long.

centos 7下,這一步會出錯

resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/centos-root
Couldn't find valid filesystem superblock.

resize2fs

這時,只需要使用xfs_growfs命令替換就行了

xfs_grouwfs /dev/mapper/centos-root

至此,大分告成。vagrant reload重啟虛擬機查看效果
dfh

於是乎,媽媽再也不用擔心我的虛擬機磁盤沒容量了。

參考文章:

https://gist.github.com/christopher-hopper/9755310
//blog.lenss.nl/2012/09/resize-a-vagrant-vmdk-drive/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM