將 Vagrant 的 CentOS 映象擴容到 800G

it書童發表於2019-08-19

vagrant 預設的 centos7.2box 的容量只有 8G...

8G?!

黑人問號

能做得了什麼?這點容量撐不了幾周就爆滿。也許官方是出於輕便化的考量,但作為要在 vagrant 上搭建各種開發環境的開發人員,8G 的容量只能讓 vagrant 淪為雞肋。

幸好,網上有大神們總結如何給vagrant擴容。以下是我參照教程後的實操過程,擴容到了800G, 親測可用!

擴容效果

看完覺得太難操作的,也可直接下載我擴容好的映象

連結:https://pan.baidu.com/s/1pDWPsuImUPGhrSlh3... 密碼:u1eg

準備階段

  • 關閉虛擬機器
$ vagrant halt
  • 轉換映象
$ cd ~/VirtualBox\ VMs/centos_default_1533259579120_24934
$ VBoxManage clonehd "centos-vm-disk1.vmdk" "clone-disk1.vdi" --format vdi
  • 擴充套件映象
$ VBoxManage modifyhd "clone-disk1.vdi" --resize 819200 # 擴充套件到800G
  • 重新掛載磁碟到虛擬機器,並啟動虛擬機器
$ VBoxManage storageattach centos_default_1533259579120_24934 --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium clone-disk1.vdi
$ vagrant up # 開啟虛擬機器
$ vagrant ssh # 進入虛擬機器

虛擬機器內擴容

以下是在虛擬機器內操作

  • 檢視磁碟,並格式化
$ sudo fdisk -l
$ sudo fdisk /dev/sda
# 按p顯示分割槽表,預設是 sda1 和 sda2。
# 按n新建主分割槽。
# 按p設定為主分割槽。
# 輸入3設定為第三分割槽。
# 輸入兩次回車設定預設磁碟起始位置。
# 輸入t改變分割槽格式
# 輸入3選擇第三分割槽
# 輸入8e格式成LVM格式
# 輸入w執行
  • 重啟虛擬機器
$ sudo reboot

再次登入虛擬機器

  • 建立物理卷
$ sudo pvcreate /dev/sda3
  • 檢視卷組,擴充套件到相應卷組
$ sudo vgdisplay
$ sudo vgextend centos /dev/sda3
  • 擴充套件到相應邏輯卷
$ sudo lvextend -l +100%FREE  /dev/mapper/centos-root
  • 更新檔案系統
$ sudo xfs_growfs /dev/mapper/centos-root

大功告成

至此,擴充套件成功...

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  799G  2.5G  797G   1% /
devtmpfs                 299M     0  299M   0% /dev
tmpfs                    308M     0  308M   0% /dev/shm
tmpfs                    308M  4.3M  304M   2% /run
tmpfs                    308M     0  308M   0% /sys/fs/cgroup
/dev/sda1                497M  164M  334M  33% /boot
none                     112G   81G   32G  72% /vagrant
tmpfs                     62M     0   62M   0% /run/user/1000

回到物理主機,可將原來的映象刪除

$ rm -f centos-vm-disk1.vmdk

文獻參考

本作品採用《CC 協議》,轉載必須註明作者和本文連結

it書童

相關文章