写在前面
几台服务器用的ubuntu server 22.04
系统,由于服务器磁盘分配不合理,导致一段时间后磁盘容量不足,重置系统磁盘后,挂了一个5T
的磁盘,结果发现实际系统只使用了100G
,剩下的磁盘容量全部没用上。解决了一下,于此记录。
一、基于liunx系统的磁盘管理方式
-
第一种:
ubuntu server 18.04
之前会有/dev/sda1 、 /dev/sda2 、 /dev/sda3
等,需要调整时需要用fdisk
进行分区,然后格式化成ext4
文件系统,再挂载到系统中使用 -
第二种:
ubuntu server 18.04
之后挂载的磁盘设备不再是/dev/sda1
,而是/dev/mapper/ubuntu--vg-ubuntu--lv
。有一个叫LVM(逻辑卷管理器)
更加灵活高效且动态对逻辑卷进行新建、删除、调整、合并等操作。
二、使用LVM调整磁盘容量
-
查看挂载的磁盘大小,执行
fdisk -l
-
明显看到有
5T
,但是看不到具体的分配情况,执行lsblk
-
看到
ubuntu--vg-ubuntu--lv
使用了100G
,实际sda
挂载是5T
, -
也可以这样查看,执行
df -h
-
用LVM扩大磁盘有2种方式
# 按比例扩容,这里比例是100%,手动刷新文件系统 lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # 按比例扩容,这里比例是100% lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # 固定值扩容,这里增加10GB lvextend -r -L 10GB /dev/mapper/ubuntu--vg-ubuntu--lv # 参数说明 # -r表示自动修改文件系统的大小,如果不带这个参数的话,执行完成后还需要使用resize2fs命令修改文件系统 # -L等同于--size,表示调整数值 # -l等同于--extents,表示按比例调整
-
这里我使用按比例扩容,手动刷新文件系统的方式
lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
-
马上查看磁盘情况,执行
lsblk
-
可以看到生效了,但是此时并未完全写入系统,换一种方式查看,执行
df -h
-
这里看到还未更新,需要执行手动刷新文件系统,
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
-
刷新完成,再次查看,执行
df -h
-
这里已经更新了,查看下逻辑卷情况,执行
lvdisplay
容量已经更新,到这里扩容完成
三、docker下的问题
基于以上方式扩容后,记得要重新启动docker
服务,systemctl restart docker
,因为docker
那边没有更新
评论区