lvm学习日记

lvm是什么?

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制

实现过程:

借用了下别人日志的图片,在此表示感谢http://dreamfire.blog.51cto.com
这里写图片描述
基本术语:
  LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,在存储卷上建立文件系统
物理存储介质(Physical storage media):
  指系统的物理存储设备:如磁盘,/dev/hda,dev/sda等
物理卷(Physical Volume,简称PV):
  指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如raid),是LVM的基本存储逻辑块,但和基本的物理介质(如分区,磁盘等)比较,却包含有与LVM相关和管理参数
卷组(Volume Group,简称VG):
  类似于非LVM系统中的物理磁盘,其由一个多多个物理卷PV组成,可以在卷组上创建一上或多个LV(逻辑卷)
逻辑卷(Logical Volume,简称LV):
  类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组(VG)之上,在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)
物理块(Physical Extent,简称PE):
  每一个物理卷PV被划分为称为PE的基本单元,具胡唯一编号的PE是可以被LVM寻址的最小单元,PE的大小是可配置的,默认为4MB,所以物理卷由大小等同的基本单元PE组成
逻辑块(logical Extent,简称LE):
  逻辑卷LV也被划分为可被寻址的基本单位,称为LE,在同一个卷组中,LE的大小和PE是相同的,并且一一对应
这里写图片描述
安装管理工具:
如果系统安装时使用了lvm ,一般都会带管理工具,如果没有检查下是否安装一lvm工具

rpm -qa |grep lvm
创建管理:

1.创建分区:
  使用分区工具fdisk创建lvm分区,方法和创建其它一般分区一样,区别是LVM的分区类型是8e,普通的是83(他用fdisk下的t修改类型)

fdisk /dev/sdb
n
e
+5G(这一步选择大小)


w
#可以重复创建多个

2.创建物理卷:
将磁盘整个物理卷创建为物理卷:

pvcreate /dev/sdb

将单个分区创建为物理卷:

pvcreate /dev/sdb5

将多个分区创建为物理卷:

pvcreate /dev/sdb{5,6}  #或者pvcreate /dev/sdb5 /dev/sdb6 

使用pvs或者 pvdisplay查看,pvdisplay也可以只指定某个pv 如:pvdiplay /dev/sdb6
3.创建卷组:

vgcreate myvg /dev/sdb{5,6} #myvg是卷组的逻辑名,后面的添加到该卷组的所有分区和磁盘

默认PE是4MB,但也可以手动指定,PE大小范围为8KB到16G,并且必须总是2的倍数,用-s指定,单位可以是bBsSkKmMgGtTpPeE

vgcreate -s 8M myvg /dev/sdb{5,6}

注:由于内核原因,PE大小决定了逻辑卷的最大大小,4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组 时指定更大的PE
使用vgs或者vgdisplay查看
4.添加新的物理卷到卷组中:

pvcreate /dev/sdb7
vgextend  myvg /dev/sdb7

5.从卷组中删除一个物理卷:
要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息
如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其它地方,然后再删除,删除物理卷的命令为

pvmove /dev/sdb5    #把数据移动其它PV上去
vgreduce myvg /dev/sdb5     #返sdb5这个PV从myvg移除
vgremove /dev/sdb5      #把sdb5这个pv删除,把里面的数据都抹除,使用pvs就看不到了

6.创建逻辑卷:
在VG名为myvg上创建一个50M的逻辑卷名为testlv

lvcreate -L 50M -n testlv myvg  #-L指定大小(支持的单位bBsSkKmMgGtTpPeE) -n 是逻辑卷的名称,myvg是卷组名

然后格式化逻辑卷

msfs.ext4 /dev/myvg/testlv

挂载到/testlv目录

mount /dev/myvg/testlv /testlv
注:挂载引用的的路径是/dev/mapper/myvg-testlv, /dev/myvg/testlv只是个软链接,链接到/dev/mapper/myvg-testlv

使用lvs或lvdisplay查看逻辑卷相关信息
7.创建文件系统:

resize2fs -p /dev/myvg/testlv  #或者resize2fs -p /dev/mapper/myvg-testlv
#然后挂载就可以使用了
mount /dev/myvg/testlv /testlv

8.删除一个逻辑卷:
a.删除逻辑卷以前首先需要将其卸载,然后删除

umount /testlv

b.删除逻辑卷

lvremove /dev/myvg/testlv  

9.扩展逻辑卷大小:
a.扩展之前请确定vg里有足够的空间可以供扩展
b.扩展物理边界

lvextend -L 3G /dev/myvg/testlv     #-L指定大小(+3G意思是扩展3G,不加就是扩展到3G) 扩展物理边界,这里用df -h 是看不到变化的

c.扩展逻辑边界

resize2fs -p /dev/myvg/testlv       #扩展逻辑边界,或者写resize2fs -p /dev/mapper/myvg-testlv

10.缩减逻辑卷大小:
a.缩减是有风险的,不能在线缩减,需要先卸载

umount /testlv

b.确保缩减后的空间大小,依然能存储原有的所有数据

e2fsck -f /dev/mapper/myvg-testlv

c.在缩减之前,应该先强行检查文件系统,以确保文件系统牌一致性状态

resize2fs /dev/mapper/myvg-testlv 3G    #缩减到3G

d.缩减物理边界

lvreduce -L 3G /dev/myvg/testlv
#会有提示:Do you really want to reduce testlv?[y/n]:  按y确定就好
#完成后会提示:Reducing logical volume testlv to 3GB
Logical volume testlv successfully resized

11.快照卷
a.生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小
b.快照卷应该是只读的
c.跟原卷在同一卷组内

lvcreate
-L: 指定大小,指定的大小需要自己估计,如果数据的增长量大于快照卷的大小,数据会损毁
-s:表示创建快照卷
-p:指定权限 r|w

#对/dev/myvg/testlv创建快照卷testlv_snap
lvcreate -L 1G -n testlv_snap -s -p r /dev/myvg/testlv 

使用lvs或者 lvdisplay可以查看
挂载快照卷:

mount /dev/myvg/testlv_snap /testlv_snap

卸载快照卷:

umount /testlv_snap

移除快照卷:

lvremove /dev/myvg/tstlv_snap
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值