virtualbox给CentOS7虚拟机磁盘扩容
问题
生产背景
- 我们项目还在推广期间,客户采购我们的交通设备(信号机、边缘盒子、雷达等),免费提供软件平台
- 客户一般给我们提供已有的旧服务器作为服务部署环境,而且大多数是windows server服务器,而且大多数客户设备只在专网环境运行,不提供接入互联网
- 为了屏蔽不同客户的服务器环境,我们使用centos7虚拟机部署,在centos7里部署我们的应用
- 为了解决无网络环境下部署,我们先在公司的windows机器里,使用virtualbox安装centos7虚拟机,在虚拟机里将所有需要的软件和应用部署好,再把整个虚拟机导出ova文件,拿到客户那儿部署
扩容问题
- 由于我本机硬件条件限制,只给虚拟机分配了50G磁盘存储,部署客户现场后接入100多个路口,很快磁盘被撑满了,这时候就需要扩容了
- 在virtualbox扩容到100G后,使用
df -h
发现空间还是50G,查了下,发现是新分配的空间未得到使用 - 现将所有流程介绍下
扩容
virtualbox设置扩容
-
界面左上角的
设置
按钮,点击选择虚拟介质管理
-
选择自己的磁盘,下面可以拖动或者输入磁盘大小(只能改大)
-
点击右下角的
应用
按钮即可 -
这个时候,查看虚拟机信息界面,可以看到磁盘空间已经增加了
-
实际上,启动虚拟机,进去后,
df -h
会发现可用空间没增加。这时候只是修改号配置,还需要后面的步骤,才会实际生效
centos7里新建磁盘分区
df -h
查看磁盘可用空间,可以看出,这里的磁盘空间实际上还是50G(我的初始设置)
- 使用命令
lsblk
查看磁盘情况,可以看到sda实际上已经是220G了,但是实际使用的还是50G - 使用命令
fdisk -l
查看磁盘列表,可以看到现在有2个盘sda1
、sda2
- 使用命令
fdisk /dev/sda
修改磁盘/dev/sda
,利用剩余空间,新建一个盘sda3
- 具体按键为:m n p enter enter enter w (m获取提示,n新建磁盘分区,enter键使用默认,w保存并退出)
- 可以看到创建了默认磁盘分区 sda3,大小170G(剩余空间 220-50),根据最后的提示,重启
reboot
后生效
- 等待重启完成后,继续操作,把新分区
sda3
使用权限给系统
centos7里使用新分区
- 使用命令
ls /dev/sd*
查看已有分区,可以看到咱们的新分区,使用lsblk
也可以看到
- 使用命令
pvcreate /dev/sda3
创建pv - 使用命令
vgextend centos /dev/sda3
扩展vg - 使用命令
lvextend -L +169.9G /dev/mapper/centos-root
扩展lv ,注意不能写170G,否则会报错 - 使用命令
xfs_growfs /dev/mapper/centos-root
使系统重新读取大小 - 所有操作执行完成,
df -h
查看,会看到已生效