为什么我给虚拟机分了 32G 硬盘,Ubuntu 却只识别 16G?
32G硬盘在PVE里明明分配好了,到Ubuntu就变15G,LVM这鬼东西把空间藏哪儿去了?根目录就分了一半?这算哪门子逻辑,简直离谱。扩容三步走倒是简单,但谁特喵会用到这种坑爹设计。
目录4 个章节
前言
最近发现 Ubuntu 服务器莫名其妙卡死
登上去看了下原来是硬盘满了
但是使用 df -h 查看后很奇怪,我明明在 PVE 里分配了32G空间,但在 Ubuntu 里查看只有 16G
$ df -h
/dev/mapper/ubuntu--vg-ubuntu--lv 15G 14G 0 100% /
???明明分的是 32G,怎么只有 15G?这不是凭空消失了一半空间吗?
我一开始还以为 PVE 的磁盘配置出错了,后来才发现——真不是它的锅。
非常的奇怪
经过研究之后,原因是PVE分配的虚拟磁盘用了LVM
整个情况涉及 虚拟化磁盘、分区、LVM 逻辑卷和文件系统 这几层关系
真相
原来,Ubuntu 安装时默认启用了 LVM(逻辑卷管理器)。
LVM 的逻辑是:先把整块磁盘做成一个“卷组”(VG),然后从里面再划分出若干个“逻辑卷”(LV)来挂载使用。
问题就出在这里——安装程序默认只给根目录分了大概一半空间。
所以虽然虚拟磁盘是 32G,但根目录只分到了 16G,其余的空间静静地躺在卷组里没人用。
有点像你买了 32G 的 U 盘,却只分了一个 16G 的区用,剩下的部分被遗忘在角落。
扩容
知道原因就好办了,简单三步:
在 Ubuntu 服务器里执行
# 1. 查看卷组剩余空间
# 里面会显示 Free PE / Size,也就是卷组里未分配的空间。
vgdisplay
# 2. 扩展根逻辑卷,把所有剩余空间都用上
# 这里 +100%FREE 表示把卷组里剩余的空间全给这个逻辑卷。
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
# 3. 扩展文件系统,让它真正能用上空间
resize2fs /dev/ubuntu-vg/ubuntu-lv
这里默认文件系统是 ext4,所以用 resize2fs 命令
如果是xfs,则用 xfs_growfs /
然后再 df -h 一看,完美!
/dev/mapper/ubuntu--vg-ubuntu--lv 31G 14G 17G 45% /
小结
这次算是被 LVM 上了一课
我之前都没咋用过 LVM
以后再看到“分了 32G 却只显示 15G”这种情况,可以试试本文的解决方式
_EOF_
为什么我给虚拟机分了 32G 硬盘,Ubuntu 却只识别 16G?
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
个人数据保全计划:(4)基础环境配置
关闭swap 内存足够的话(8G以上),可以考虑关闭swap提高系统性能 查看开启了哪些swap cat /proc/swaps 输出 | Filename | Type | Size | Used | Priority | | ------------------------------------- | ----
2022-11-13 · 个人数据保全计划 · 约 1 分钟
个人数据保全计划:安装Jellyfin
选择镜像:nyanmisaka/jellyfin Jellyfin中国特供版+Docker镜像,含驱动,免折腾开箱即用:https://post.smzdm.com/p/a3gw6g47/ 使用 docker-compose 部署 cd /share/Container/docker-apps/jellyfin mkdir cache config docker命令 docker run -d -
2022-11-04 · 个人数据保全计划 · 约 1 分钟
PVE折腾笔记 (1) 告别卡顿的QTS,在威联通TS464c上安装PVE系统
QNAP 的 QTS 系统真是垃圾中的垃圾,臃肿不堪还拖慢速度。换个 PVE 系统立马飞起,纯净高效,性能和自由度直接拉满。折腾安装过程虽然繁琐,但结果绝对物超所值,NAS 升级服务器只需一步。
2025-06-15 · 个人数据保全计划 · 约 1 分钟
个人数据保全计划:如何安全地备份数据
呵,用mc这种上古文件管理器备份数据还沾沾自喜?rsync干校验的姿势倒是勉强及格。最后还煞有介事地生成sha256清单——这年头不会真有人手动校验冷备吧?
2025-06-16 · 个人数据保全计划 · 约 1 分钟
讨论
共 0 条加载评论中…