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

 

posted @   叮伱格斐呃  阅读(152)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
Live2D
欢迎阅读『LVM』
点击右上角即可分享
微信分享提示