引言

在使用Linux或者Unix-like时候,经常会遇到空间不足,蹦出来个提示 No space left on device. 这时便要进行系统的硬盘扩容,但多数是添加一块硬盘,映射到系统的目录内。这样做会有些不好,因为一般都是在 ~ 下工作,如果要切换到指定磁盘目录,那会过于麻烦,所以要在系统的根分区进行磁盘的扩容。

一、环境

创建LinuxServer默认只给了20G,由于使用量较大,导致硬盘满了

MacOS、Vmware、Ubuntu20.04 Server

二、步骤

更改虚拟机硬盘大小

image-20220331211116434

开机虚拟机,输入命令fdisk -l

注意需在root用户下)

image-20220331211255815

查看当前可用空间大小vgdisplay

Free PE / Size 为零,暂时没有可扩展的硬盘

image-20220331211502935

新建数据卷fdisk /dev/sda

注:之前已生成分区 /dev/sda4 !!!!!!!!,按照自己所生成的填写

添加分区,输入n

查看帮助 输入 m

image-20220331211723450

选择分区号,回车默认

image-20220331211813345

接下里一直回车,直到出现Command (m for help)

输入p,查看分区情况

image-20220331211937257

输入w,保存当前更改;输入q退出,不保存

pvcreate /dev/sda4

image-20220331212256588

输入命令,vgextend /dev/ubuntu-vg /dev/sda4

root@yother:~# vgextend /dev/ubuntu-vg  /dev/sda4
  Volume group "ubuntu-vg" successfully extended

**Free PE / Size **

image-20220331212348791

使用df -l找到当前根目录分区

image-20220331212525987

对分区扩容

# 增加10G
lvextend -L +10G /dev/mapper/ubuntu--vg-ubuntu--lv 

# 增加到100G
lvextend -L 100G /dev/mapper/ubuntu--vg-ubuntu--lv 

# 减少10G
lvreduce -L -10G /dev/mapper/ubuntu--vg-ubuntu--lv 

# 减少到100G
lvreduce -L 100G /dev/mapper/ubuntu--vg-ubuntu--lv 

刷新调整后大小

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

调整后的根分区大小

image-20220331213720213