提醒:本文最后更新于 468 天前,其中某些信息可能已经过时,请谨慎使用!
你似乎正在查看一篇很久远的文章。
为了你这样的访客,我特地保留了我的历史博文。不要笑话过去的我,用温柔的目光看下去吧。
  • 情况说明

虚拟机安装ubuntu 20.04 Server之后发现分配的80G磁盘只有39.5G,并没有完全使用磁盘。

  • 介绍

安装linux按照传统的分区方式,选择custom,会给磁盘划分出sda1, sda2.....。这些在linux里称之为分区 partition,然后分别把/,/home,/var等挂载到各个分区。但是随着LVM技术的推广,现在安装ubuntu如果采用默认的格式化整个磁盘的方式来安装,安装完成后会发现磁盘空间没有占满,原本分配的磁盘只会占用一半。

其实,如果你使用的是一台只有一块磁盘的Ubuntu笔记本电脑,并且你不需要像实时快照这样的扩展功能,那么你或许不需要LVM。相反,如果你想要轻松地扩展或者想要将多块磁盘组成一个存储池,那么LVM或许正是你所寻找的。

  • 查看: df -h    
  • 查看可用块设备及它们之间的依赖关系: lsblk   

从图中可以看出,实际磁盘空间有79G,但是有一半没有被挂载。

查看磁盘个数和分区情况:fdisk -l  

下图可以看出,/dev/sda1、/dev/sda2、/dev/sda3是分区,相当于windows下c,d,e盘。而计算/dev/sda1、/dev/sda2、/dev/sda3确实对应了真实的硬盘/dev/sda的容量,也就是说确实被Ubuntu完全识别出来了。那么为什么Ubuntu挂载少了(注意,挂载是基于分区的)?原来这里没有直接挂载在物理分区上,而是把/挂载在了逻辑分区 LVM 上,而这里显示的/dev/mapper/ubuntu--vg-ubuntu--lv是一块逻辑分区文件(逻辑分区以文件形式存在)。它本身只有40G,所以挂载在它之上的 / 就只有39.5G

  • 扩展

接下来就是扩展磁盘输入下面命令把所有剩余空间都给ubuntu--vg-ubuntu--lv

sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

或者你你只想给部分

sudo lvextend -L 10G /dev/mapper/ubuntu--vg-ubuntu--lv

成功之后输入df -h发现磁盘容量并没有重新计算

输入命令重新计算:resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

再次df -h查看,已经重新计算,至此结束。