需求
默认的Oracle Database 19c Vagrant Box的磁盘为34GB。
最近在做数据库升级实验,加之导入AWR dump数据,导致空间不够。
因此需要对磁盘进行扩容。
扩容方法1:预先扩容
此方法参考文档Vagrant, how to specify the disk size?。
指在Vagrant Box尚未创建之前,修改Vagrantfile。
首先安装Vagrant插件:vagrant-disksize:
vagrant plugin install vagrant-disksize
然后修改Vagrantfile:
vagrant.configure('2') do |config|
config.vm.box = ...
config.disksize.size = '50GB'
end
注意,虚机生成成功后,需要把config.disksize.size = … 这句删除掉
然后运行vagrant up
就可以了。
在程序运行的初始阶段,就可以看到磁盘大小被改成了设置的值:
数据库安装正常,时间和不扩容的没有区别。完成后,在操作系统中可以看到相应的信息:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda2 8:2 0 36.5G 0 part
│ ├─vg_main-lv_swap 252:1 0 4G 0 lvm [SWAP]
│ └─vg_main-lv_root 252:0 0 32.5G 0 lvm /
└─sda1 8:1 0 500M 0 part /boot
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 951M 0 951M 0% /dev
tmpfs 963M 0 963M 0% /dev/shm
tmpfs 963M 17M 947M 2% /run
tmpfs 963M 0 963M 0% /sys/fs/cgroup
/dev/mapper/vg_main-lv_root 33G 14G 19G 43% /
/dev/sda1 497M 136M 362M 28% /boot
tmpfs 193M 0 193M 0% /run/user/1000
vagrant 473G 257G 217G 55% /vagrant
# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name vg_main
PV Size 36.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 9346
Free PE 0
Allocated PE 9346
PV UUID yPArM2-80p6-bXNd-q0ko-rLdK-2inN-LpZ4bq
可以看到,磁盘是50G的,但根分区仍是33G。
剩下的部分可参见文章Linux扩展根文件系统
扩容方法2:后续扩容
是指Vagrant Box创建后,进行的扩容。
和方法1是类似的,只不过不用vagrant plugin,而是利用VirtualBox来扩容物理磁盘。剩下的操作和方法1就一样了。