LVM
LVM
logical volume manager
逻辑 卷 管理 逻辑卷管理
(用做好的raid再做LVM不仅仅提高了磁盘的性能还能实现在线弹性调整分区大小)
lvm的基本概念:
PV::physical volume,物理卷。磁盘、分区、raid 给予物理卷属性-->物理卷
VG: volume group,卷组。由物理卷构建出来的一块大容量磁盘。
LV: logical volume,逻辑卷。是在卷组上划分出来的一个逻辑上存在的分区。一个卷组可以划分一个逻辑卷,也可以划分多个逻辑卷。
为什么要用lvm:
可以在线弹性调整分区大小
实验前先查看系统有没有安装lvm
rpm -qa|grep lvm
yum -y install system-config-lvm
pv------>vg------>lv
制作PV(物理卷):
1、准备磁盘(格式化),raid(只create后未格式化)
2、将磁盘制作成物理卷(pv)
pvcreate /dev/sdb{5,6,7,8} or /dev/md5 #pvcreate /dev/sdb1
pvscan //扫描系统上存在的pv,简要的pv信息
pvdisplay //显示pv信息,详细的pv信息
pvremove //移除pv物理卷属性,把物理卷变成一个磁盘
pvmove //将某个pv中的数据移动到另一个pv上 pvmove /dev/sdb7 /dev/sdb8
查看pv
pvs
3、创建卷组 vg
vgcreate [-s PESIZE] vgname pvname #vgcreate vgtest /dev/sdb1
root@localhost ~]# vgcreate -s 16m vgname /dev/sdb{5,6,7} ( -s 16m 定义pe块的大小)
vgscan
vgdisplay
vgremove //移除vg
vgextend //扩展
vgreduce //缩小vg 从vg中减去pv
查看vg
vgs
4、创建lv
lvcreate -L -n lvname vgname #lvcreate -L +8G -n lvtest vgtest
-l
-L:直接指定大小
-l:指定分配多少pe块给lv 同样是用来指定lv的容量大小
-n:指定lv的名称
查看lv
lvs
[root@localhost ~]# lvcreate -L 100M -n lvname vgname
[root@localhost ~]# lvcreate -l 10 -n lvname vgname
lvscan
lvdisplay
lvremove
lvextend
lvreduce
lvresize //调整大小,可以调大,可以调小 可以取代lvextend lvreduce(lvextend和lvresize用法相同)
5、格式化挂载--》开机自动挂载
mkfs -t ext4 /dev/vgname/lvname #mkfs.ext4 /dev/mapper/vgtest-lvtest
vim /etc/fstab
...
6、往lv中拷贝点东西
cp -pr ~/install.log /etc /lvm
在线扩大lv容量:
首先来查看vg中有没有剩余的pe块:(如果没有剩余pe块可增加卷组容量)
扩大卷组--往vg中添加pv
增加vg的大小
pvcreate /dev/sdb8 //增加物理卷pv
pvscan
pvdisplay
vgextend vgname /dev/sdb8 //扩大vg空间,把/dev/sdb8这个pv加入到vgname这个vg中
vgdisplay
pvdisplay /dev/sdb8
增加lv的容量
lvdisplay
lvresize -L +100M /dev/vgname/lvname //扩大lv的容量,用-L直接指定扩大多大空间
lvresize -l +10 /dev/vgname/lvname2 //...,用-l指定分配多少pe块给lv
lvextend -L +100M /dev/vgname/lvname
lvextend -l +10 /dev/vgname/lvname
lvdisplay
df -h //查看文件系统,发现文件系统大小没有变化
resize2fs /dev/vgname/lvname //格式化新增加的那部分pe块,(及扩大的lv部分)以真正增加文件系统的容量
du -sh /lvm/* //检验刚才在线增加容量有没有损坏数据
缩小lv:lvreduce -L -100M //基本不用
1.准备号格式化后的rai5(没有挂载)
2.创建pv
pvcreate /dev/md5
3.创建vg
vgcreate -s 8m dannyvg /dev/md5
4.创建lv
lvcreate -L 2048M dannylv dannyvg
5.格式化lv
mkfs -t ext4 -b 1024 /dev/dannyvg/dannylv
6.创建挂载点并挂载
mkdir /dannylv
mount /dev/dannyvg/dannylv /dannylv
7.缩减lv大小
lvreduce -L -1024M /dev/dannyvg/dannylv
lvdisplay
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了