LVM逻辑卷快速入门

LVM逻辑卷技术

简介

raid磁盘阵列技术,提高硬盘的读写效率,以及保证数据的安全性,raid的缺点是在于当配置好磁盘阵列组,容量大小已经是限定的,当磁盘容量不足的时候想要扩容磁盘的空间就非常麻烦,不同的分区相对独立,没有关系,可能空间利用率很低。如果某一分区满了,默认磁盘管理是无法直接扩容的,只能重新分区,重新分配容量大小,创建文件系统步骤较为繁琐,合并分区时还得重新格式化磁盘分区,还必须进行数据备份。

lvm逻辑卷管理技术它是将一个或多个硬盘在逻辑上进行合并,相当于一个大的磁盘区使用,当你的空间不足时,可以直接去其他硬盘中拿来容量去使用,这就是一个动态的磁盘容量管理技术。lvm相对普通的磁盘分区管理,有较大的灵活性。

lvm的使用方式

  • 基于分区形式创建lvm

    硬盘的多个分区,由lvm同一进行管理为卷组,可以弹性的调整卷组的大小,加入新硬盘,可以充分利用磁盘容量。文件系统是创建在逻辑卷上,逻辑卷可以根据需求改变大小(总容量控制在卷组中)
    
  • 基于硬盘创建lvm

    多块硬盘做出逻辑卷,将整个逻辑卷同一管理,对分区进行动态扩容
    

lvm的常见名称

PP  物理分区,lvm创建在物理分区之上 
PV  物理卷,处于LVM的最底层,一般一个PV对应一个PP
PE  物理区域,PV中可以用于分配的最小存储单位,同一个VG中所有的PV中的PE大小相同
VG  卷组,建立在PV之上,可以划分为多个PV
LE  逻辑扩展单元,组成LV的基本单位,一个LE对应一个PE
LV  逻辑卷,建立在VG之上,是一个可以动态改变大小的分区

LVM原理

LVM是通过交换PE的方式,达到弹性变更文件系统大小的,简而言之就是先把磁盘容量汇总成VG(volume group)再分区(LV)

剔除原本LV中的PE,实现减少LV的容量
把其他PE添加到LV,实现增大LV的容量
一般默认PE大小是4M,LVM最多由65534个PE,所以LVM最大的VG是256G单位
PE是LVM最小存储单位,类型文件系统的block单位,因此PE大小影响VG容量
LV如同/dev/sd[a-z]的分区概念

优点

文件系统可以跨多个磁盘,大小不会受磁盘限制
可在系统允许的情况下,动态扩展文件系统大小
可以增加新的磁盘到LVM的存储池中

LVM配置流程

1.物理分区阶段,针对物理磁盘或者分区,进行fdisk格式化,修改系统的id,默认是83,改为十六进制的8e类型,是lvm类型
2.PV阶段,通过pvcreate,pvdisplay将Linux分区处理为物理卷PV
3.VG阶段,通过vgcreate,vgdisplay将创建好的物理卷PV处理为卷组VG
4.LV阶段,通过lvcreate将卷组分为若干个了卷LV
5.通过mkfs对LV格式化,最后挂载lv使用

说了这么多废话,其实它很简单,相当于就是lvm创建在pp物理分区(实际磁盘分区或者磁盘)上,(一个pv对应着一个pp),把PV的容量融合在一起就是VG卷组,再把VG卷组分成多个LV逻辑卷。而LV逻辑卷由若干LE逻辑扩展单元组成,LE又是由多个物理区域PE(最小存储单位)组成。

简单一句话就是先把磁盘添加pv属性,再把PV的容量融合成VG,最后把VG拆分成LV逻辑卷挂载使用。就这么三步。

物理卷PV管理命令

pvcreate   创建物理卷,将普通的分区加上PV属性
pvscan     查看物理卷信息
pvdisplay  查看各个物理卷的详细参数
pvremove   删除物理卷

卷组VG管理命令

vgcreate	创建卷组
vgscan		查看卷组信息
vgdisplay	查看卷组详细参数
vgreduce    缩小卷组,把物理卷从卷组中删除
vgextend	扩展卷组,把某个物理卷添加到卷组中
vgremove	删除卷组
vgrename 	修改名字

逻辑卷LV管理命令

lvcreate
用于创建LVM的逻辑卷
安装:yum install lvm2 -y

参数:
-L  指定逻辑卷大小,单位为kKmMgGtT
-l  指定逻辑卷的大小(LE数)
-n  后面跟着逻辑卷名
-s  创建快照

lvcreate	创建逻辑卷
lvscan		查看逻辑卷信息
lvdisplay	查看逻辑卷的详细参数
lvextend	增大逻辑卷大小
lvreduce	缩小逻辑卷大小
lvremove	删除逻辑卷

实践操作

1.选择两块硬盘,创建PV
[root@localhost ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde

[root@localhost ~]# pvcreate /dev/sdb /dev/sdc
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

2.创建卷组
[root@localhost ~]# vgcreate  vg1 /dev/sdb /dev/sdc
  Volume group "vg1" successfully created

3.分别查看PV和VG的信息
如下命令可以:
pvs;pvscan;pvdisplay
vgs;vgscan;vgdisplay

4.创建逻辑卷,进行使用
[root@localhost ~]# lvcreate -n lv1 -L +500M vg1
  Logical volume "lv1" created.

5.检查lv信息
lvdisplay   也可以使用lvs或lvscan查看简要信息

6.对刚创建的LV1逻辑卷进行格式化文件系统
 mkfs.xfs  /dev/vg1/lv1 

7.挂载使用
[root@localhost ~]# mkdir /test_lv1
[root@localhost ~]# mount /dev/vg1/lv1 /test_lv1
# 还可以写入开机自动挂载文件中,
[root@localhost ~]# echo -e "/dev/vg1/lv1  /test_lv1 xfs defaults 0 0" >> /etc/fstab 
[root@localhost ~]# tail -1 /etc/fstab 
/dev/vg1/lv1  /test_lv1 xfs defaults 0 0

8.放点数据测试一下
[root@localhost test_lv1]# df -hT |grep lv1
/dev/mapper/vg1-lv1 xfs       497M   26M  472M   6% /test_lv1
[root@localhost test_lv1]# mv  /opt/* ./
[root@localhost test_lv1]# du -h
173M	.
[root@localhost test_lv1]# df -hT |grep lv1
/dev/mapper/vg1-lv1 xfs       497M  199M  298M  41% /test_lv1

#总结:可以根据需求选择磁盘数量,也可以通过命令增加或缩小卷组容量

扩容

针对lv逻辑卷的扩容操作,只有卷组中容量够用,就可以对lv逻辑卷扩容

1.先卸载lv设备
umount /dev/vg1/lv1 
 
2.扩容
[root@localhost ~]# lvextend -L +10G /dev/vg1/lv1 
  Size of logical volume vg1/lv1 changed from 500.00 MiB (125 extents) to <10.49 GiB (2685 extents).
  Logical volume vg1/lv1 successfully resized.

3.挂载使用
[root@localhost ~]# mount /dev/vg1/lv1  /test_lv1
[root@localhost ~]# df -hT |grep lv1
/dev/mapper/vg1-lv1 xfs       497M  199M  299M  40% /test_lv1
# 发现容量没有发送变化

4.调整xfs文件系统的大小,否则读取不到容量
[root@localhost ~]# xfs_growfs /dev/vg1/lv1 
#查看lv1是否正确调整了空间容量
[root@localhost ~]# df -hT |grep lv1
/dev/mapper/vg1-lv1 xfs        11G  201M   11G   2% /test_lv1
[root@localhost ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-ao---- <10.49g   

删除lvm

1.卸载lv设备
umount /dev/vg1/lv1

2.删除逻辑卷
[root@localhost ~]# lvremove /dev/vg1/lv1
Do you really want to remove active logical volume vg1/lv1? [y/n]: y
  Logical volume "lv1" successfully removed

4.删除VG卷
[root@localhost ~]# vgremove vg1
  Volume group "vg1" successfully removed

5.删除物理卷设备
[root@localhost ~]# pvremove /dev/sdb /dev/sdc
  Labels on physical volume "/dev/sdb" successfully wiped.
  Labels on physical volume "/dev/sdc" successfully wiped.

6.检查所有lvm相关信息
[root@localhost ~]# lvs
[root@localhost ~]# vgs
[root@localhost ~]# pvs
[root@localhost ~]# 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值