vagrant扩容教程

vagrant扩容教程

前期操作
1.找到Vagrantfile 文件所在的目录,本机所在目录为
dl@dldeMacBook-Pro Pro2 % pwd
/Users/myself/vagrant/php/machine/Pro2
dl@dldeMacBook-Pro Pro2 % ls
Vagrantfile    box       share2    virtual2

2.启动项目
dl@dldeMacBook-Pro Pro2 % vagrant up
Bringing machine 'default' up with 'virtualbox' provider...

3.启动成功后会生成对应的vbox目录
dl@dldeMacBook-Pro / % cd /Users/dl/VirtualBox\ VMs/Pro2_default_1618586539591_12542
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % pwd
/Users/dl/VirtualBox VMs/Pro2_default_1618586539591_12542
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % ls
Logs                  Pro2_default_1618586539591_12542.vbox-prev box-disk1.vmdk
Pro2_default_1618586539591_12542.vbox
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 %

4.查看当前可用空间,只有8.4G长期使用肯定不够,所以需要扩充虚拟机硬盘
[root@localhost vagrant]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root  8.4G  1.2G  7.2G   15% /
devtmpfs                 488M     0  488M    0% /dev
tmpfs                    497M     0  497M    0% /dev/shm
tmpfs                    497M  6.5M  491M    2% /run
tmpfs                    497M     0  497M    0% /sys/fs/cgroup
/dev/sda1                497M  119M  379M   24% /boot
vagrant                  224G  178G   46G   80% /vagrant
var_www_html             224G  178G   46G   80% /var/www/html

5\. 停止虚拟机,因为下面需要扩容了,需要先停止虚拟机

vagrant halt
扩充虚拟机配置
1.开始保存 老的uuid,进入VirtualBox VMs目录,查看并记录原磁盘uuid,留作后用,其中  902de835-da8e-467e-ab01-b8e1643c6422 为现在的uuid
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % vboxmanage showhdinfo "box-disk1.vmdk"
UUID:           95942ed1-608b-4443-b705-429a2c73db02
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/dl/VirtualBox VMs/Pro2_default_1618586539591_12542/box-disk1.vmdk
Storage format: VMDK
Format variant: dynamic default
Capacity:       10140 MBytes
Size on disk:   1591 MBytes
Encryption:     disabled
In use by VMs:  Pro2_default_1618586539591_12542 (UUID: f49f7c04-9386-46f3-be68-5a05de6ff23a)
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 %

2\. 克隆磁盘,vmdk格式无法调整大小,需要转成vdi格式
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % vboxmanage clonehd ./box-disk1.vmdk new-virtualdisk.vdi --format vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vdi'. UUID: c8bcaf5d-f4b7-407c-8c49-8f3cd3c8856f

3.# 调整克隆磁盘的大小,这里调整为200G(多了不影响,数字可以大了填写)
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % vboxmanage modifyhd new-virtualdisk.vdi --resize 209600
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

4.# 在克隆磁盘的基础上再克隆vdi格式的磁盘
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % vboxmanage clonehd new-virtualdisk.vdi resized.vmdk --format vmdk
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vmdk'. UUID: 992d2453-af92-4ab9-891d-ea647d330a0b

5.替换以及备份
windows:
ren box-disk1.vmdk box-disk1-backup.vmdk
ren resized.vmdk box-disk1.vmdk
linux:
mv box-disk1.vmdk box-disk1-backup.vmdk
mv resized.vmdk box-disk1.vmdk

dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % mv box-disk1.vmdk box-disk1-backup.vmdk
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % mv resized.vmdk box-disk1.vmdk

6.这一步没用,主要记录命令的,不用操心

dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % vboxmanage list vms
"Pro1_default_1548122083943_7572" {138d01ed-7f35-4e2d-a3d2-4b11382ab159}
"Pro2_default_1618586539591_12542" {f49f7c04-9386-46f3-be68-5a05de6ff23a}
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % vboxmanage showvminfo f49f7c04-9386-46f3-be68-5a05de6ff23a
Name:                        Pro2_default_1618586539591_12542
Groups:                      /
Guest OS:                    Red Hat (64-bit)
UUID:                        f49f7c04-9386-46f3-be68-5a05de6ff23a
Config file:                 /Users/dl/VirtualBox VMs/Pro2_default_1618586539591_12542/Pro2_default_1618586539591_12542.vbox
Snapshot folder:             /Users/dl/VirtualBox VMs/Pro2_default_1618586539591_12542/Snapshots
Log folder:                  /Users/dl/VirtualBox VMs/Pro2_default_1618586539591_12542/Logs

7\. !!!此时启动虚机或查看磁盘信息会报错,提示uuid不匹配,因为磁盘已经变了,需要改回之前记录的uuid
dl@dldeMacBook-Pro Pro2_default_1618586539591_12542 % vboxmanage internalcommands sethduuid box-disk1.vmdk 95942ed1-608b-4443-b705-429a2c73db02
UUID changed to: 95942ed1-608b-4443-b705-429a2c73db02

8 done,可以重启虚机了,可根据需要在虚机上进行磁盘分配,这里不再展开
vagrant up
正式扩容
1.进入虚拟机
vagrant reload #重新开启虚拟机
vagrant ssh # 进入虚拟机

2.查看磁盘详情
[root@localhost vagrant]# fdisk -l

磁盘 /dev/sda:219.8 GB, 219781529600 字节,429260800 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00095a8e

 设备 Boot      Start         End      Blocks   Id  System/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    20766719     9870336   8e  Linux LVM
/dev/sda3        20766720   429260799   204247040   8e  Linux LVM

磁盘 /dev/mapper/centos-root:8996 MB, 8996782080 字节,17571840 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:1065 MB, 1065353216 字节,2080768 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节

3.操作下面的,一定要按照下面的步骤操作,其中 t 3 8e 很重要
fdisk /dev/sda
按p显示分区表,默认是 sda1 和 sda2。
按n新建主分区。
按p设置为主分区。
输入3设置为第三分区。
输入一次回车设置默认磁盘位置。
再输入一次回车设置默认磁盘位置。
输入t改变分区格式
输入3选择第三分区
输入8e格式成LVM格式
输入w执行保存

4.创建物理卷
[root@localhost vagrant]# pvcreate /dev/sda3
 Physical volume "/dev/sda3" successfully created5.显示物理卷属,并找到物理卷的名字  
[root@localhost vagrant]# pvdisplay | grep "VG Name"
 VG Name               centos VG Name6.显示所有卷组的属性  
[root@localhost vagrant]# vgdisplay
 --- Volume group --- VG Name               centos System ID Format                lvm2 Metadata Areas        1 Metadata Sequence No  3 VG Access             read/write VG Status             resizable MAX LV                0 Cur LV                2 Open LV               2 Max PV                0 Cur PV                1 Act PV                1 VG Size               9.41 GiB PE Size               4.00 MiB Total PE              2409 Alloc PE / Size       2399 / 9.37 GiB Free  PE / Size       10 / 40.00 MiB VG UUID               NJWfOH-An0K-Hm9Q-8Tjs-yq2x-ZWXi-L2vP7i 7.使用vgextend命令可以动态扩展卷组,它通过向卷组中添加物理卷来增加卷组的容量。

[root@localhost vagrant]# vgextend centos /dev/sda3
 Volume group "centos" successfully extended 8.查看文件系统的名字 为 /dev/mapper/centos-root
 [root@localhost vagrant]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root  8.4G  1.2G  7.2G   15% /
devtmpfs                 488M     0  488M    0% /dev
tmpfs                    497M     0  497M    0% /dev/shm
tmpfs                    497M  6.5M  491M    2% /run
tmpfs                    497M     0  497M    0% /sys/fs/cgroup
/dev/sda1                497M  119M  379M   24% /boot
vagrant                  224G  178G   46G   80% /vagrant
var_www_html             224G  178G   46G   80% /var/www/html

9.扩展逻辑卷  lvextend指令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。

[root@localhost vagrant]# lvextend /dev/mapper/centos-root /dev/sda3
 Size of logical volume centos/root changed from 8.38 GiB (2145 extents) to 203.16 GiB (52009 extents). Logical volume root successfully resized 10.同步文件系统  
[root@localhost vagrant]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=549120 blks
 =                       sectsz=512   attr=2, projid32bit=1 =                       crc=0        finobt=0data     =                       bsize=4096   blocks=2196480, imaxpct=25
 =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
 =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 2196480 to 53257216

11.重启虚拟机
[root@localhost vagrant]# reboot
Connection to 127.0.0.1 closed by remote host.
Connection to 127.0.0.1 closed.

12.重启并校验
dl@dldeMacBook-Pro Pro2 % vagrant reload
==> default: Attempting graceful shutdown of VM...
dl@dldeMacBook-Pro Pro2 % vagrant ssh
Last login: Fri Apr 16 17:56:12 2021 from 10.0.2.2
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$ sudo su
[root@localhost vagrant]#

13 查看是否生效,这时候已经扩容好了,是不是比扩容iphone还简单
[root@localhost vagrant]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root  204G  1.2G  202G    1% /
devtmpfs                 488M     0  488M    0% /dev
tmpfs                    497M     0  497M    0% /dev/shm
tmpfs                    497M  6.5M  491M    2% /run
tmpfs                    497M     0  497M    0% /sys/fs/cgroup
/dev/sda1                497M  119M  379M   24% /boot
vagrant                  224G  178G   46G   80% /vagrant
var_www_html             224G  178G   46G   80% /var/www/html
[root@localhost vagrant]#
其他
1.开始操作硬盘
[root@Cent0S7 dnmp]# sudo fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only,until you decide to write them.
Be careful before using the write command.
2.按n新建主分区。
Command(m for help):p
Disk /dev/sda: 85.9 GB,85899345920 bytes,167772160 sectors
Units =sectors of 1*512=512 bytes
Sector size (logical/physical):512 bytes/512 bytes
I/O size(minimum/optimal):512 bytes/512 bytes
Disk 1abel type: dos
Disk identifier: 0x00091118

PI Device Boot Start En Blocks System
/dev/da1 2048 209/199 1048576 83 Linux
/dev/sda2 2099200 719999 14310400 8e Linux LVM
Command (m for help):n
Partition type:
primary (2 primary,0 extended,2 free)
d
e extended

3 按p设置为主分区
Select (default p):p
输入3设置为第三分区。

Partition number (3,4,default 3):3
First sector (30720000-167772159, default 30720000):
Using default value 30720000
Last sector,+sectors or +size{K,M,G} (30720000-167772159,default 167772159):
Using default value 167772159
Partition 3 of type Linux and of size 65.4 GiB is set

4 输入t改变分区格式
Command (m for help):t
5输入3选择第三分区

Partition number (1-3,deault 3):3
6 输入8e格式成LVM格式

Hex code (type L to list all codes):8e
Changed type of partition 'Linux' to 'Linux LVM'
 7输入w执行保存Coand (m for help):w
The partition table has been a
Calling ioct1() to re-read partition table.
MARNING:Re-reading the partition table failed with error 16: Device or resource busy.
The kernel stil1 uses the old table,The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
本作品采用《CC 协议》,转载必须注明作者和本文链接
good good study day day up
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!