Linux-磁盘扩容
2022-11-15
Linux-磁盘扩容
看b站:https://www.bilibili.com/video/BV1NK411w7DL/?spm_id_from=333.337.search-card.all.click&vd_source=388c468b983bcf7b800d0e7cfb9fc719 的教学视频笔记
⚠️此操作只适用于扩容已有目录size,不涉及挂载等前置操作。
基础概念
- lv (logical volume):逻辑卷
- vg (volume group):卷组
- pv (physical volume):物理卷
- pe (physical extent):物理区域
目录是挂载在卷组vg上的,可以通过在vg中添加lv,扩大vg的容量,从而达到该目录的lvm磁盘扩容效果。
扩容基本操作
- 查看当前挂载点
df -h
- 显示当前的lv
lvdisplay
- 显示当前的vg
vgdisplay
- 显示当前的pv
pvdisplay
- 查看磁盘内容
fdisk -l
fdisk -l | grep '/dev'
目前有sda和sdb两块硬盘(其中sdb是新增硬盘,等待将其扩容到vg)
- 创建新分区,格式化
fdisk /dev/sdb
mkfs -t ext4 /dev/sdb1
- 创建pv
pvcreate /dev/sdb1
pvscan #查看所有的pv情况
- 扩容vg
vgextend ubuntu-vg /dev/sdb1 #ubuntu-vg为待扩容的vg名称
pvscan #查看扩容结果
vgdisplay #查看扩容结果
- 扩容lv
lvdisplay #查看要扩容的lv path和lv name
lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv #扩容10G
resize2fs /dev/ubuntu-vg/ubuntu-lv
df -h #查看扩容结果
刚才的操作是将vg中Free PE的10G移到可分配的Alloc PE中,从上图看已操作成功,即完成了扩容(真正可使用的vg空间+10G)。现在要将所有的Free PE扩容到Alloc PE中,可采用:
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
resize2fs /dev/ubuntu-vg/ubuntu-lv
值得注意的是:
resize2fs命令是用来增大或者收缩未加载的“ext2/ext3/ext4”文件系统的大小。并不适用于xfs文件系统(会报错)。如果是xfs文件系统,则使用以下命令来达到同样的效果;
xfs_growfs /dev/ubuntu-vg/ubuntu-lv