lvm磁盘管理
lvm里面的磁盘管理逻辑有点复杂,要想能被lvm命令调用,必须得变成逻辑卷 lv,逻辑卷lv是哪里来的捏,是从卷组(vg)上划分的,卷组(vg)是哪里来的捏,是以物理硬盘上的存储为基础的PV组成的。
逻辑如下
物理硬盘---上到服务器或者虚拟机上面---用命令fdisk进行分区,变成多个物理卷pv-----再把物理卷PV组合成卷组VG-----再从VG上划分出逻辑卷LV------最后挂载使用,写入fstab开机自启。
实验准备
1.在虚拟机上新增一块20G的磁盘
2.ls /dev/sd* 查看新增磁盘已被识别到编号为sdb
df -h 未识别到sdb 是因为磁盘还没格式化,文件系统还识别不到。
3.将新增的20G磁盘sdb,创建4个4G的主分区
继续重复第一步的操作,直到把4个分区全部建出来
4.创建物理卷pv
pvcreate /dev/sdb{1,2,3,4}
创建完成后可以查看一下
pvs
5.创建卷组VG,并且此处可以-s选项指定PE(LE)的大小,默认PE大小4M
vgcreate vg1 /dev/sdb1
vgcreate -s 16M vg2 /dev/sdb2
VGS查看发现以16M为PE块的磁盘空间变小了,因为块越大读写速度越快,浪费的空间也越多。
6.创建逻辑卷lv
lvcreate -n lv1 -L 1G vg1
lvcreate -n lv2 -l 32 vg1
lvs
因为vg1的基本块的默认值是4M 所以已-l 块计数的lv2大小为128M
7.格式化与挂载
将lv1格式化成ext4的文件系统
mkfs.ext4 /dev/vg1/lv1
mkdir /lv1
mount /dev/vg1/lv1 /lv1
echo "/dev/vg1/lv1 /lv1 ext4 defaults 0 0" >> /etc/fstab 追加到开机挂载
lvs查看详情
8.逻辑卷lv扩容
因为LV是从VG中创建的,所以在扩容前需要先查看VG的空间情况
lvextend -L +1G /dev/vg1/lv1 成功增加1个G
lvextend -L +1G /dev/vg1/lv2 成功增加1个G
df -h 发现文件系统未更新
这是因为ext4文件系统需要使用 resize2fs +逻辑卷名称更新。xfs文件系统使用xfs_growfs 挂载点更新。
resize2fs /dev/vg1/lv1
df -h
文件系统已更新
9.扩容VG
扩容卷组就比较简单,只要物理卷PV还有空间,直接加进来就行
pvs
这里vg1的空间已经不足了,将pv sdb3加入到vg1给vg1扩容
vgextend vg1 /dev/sdb3
vgs查看扩容情况,vg1总空间已变成8G,剩余空间变成4.5G了
10.当系统版本到了centos7后可以使用lvextend -r 的命令使文件系统自动扩容
df -h 查看文件系统中lv1的情况
执行命令 lvextend -L +2G -r /dev/vg1/lv1
df -h
发现文件系统已扩容之4G大小
11.删除lvm
umount卸载----lvremove移除逻辑卷LV-----vgremove移除卷组VG-----pvremove移除物理卷PV
以删除lv2为例
命令如下,因为我这里vg1在使用中,所以删除不了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现