linux虚拟磁盘管理pe大小6,Linux下磁盘的高级管理——LVM逻辑卷管理

文章目录

逻辑卷是什么

逻辑卷的原理

逻辑卷的优点

lv的管理

lv的建立

xfs格式下lvm的拉伸

ext4下lvm的拉伸和缩减

lvm快照

lvm快照的原理和作用

快照的建立

lvm的删除

逻辑卷是什么

LVM:(Logical Volume Manager) ,逻辑卷管理器。

它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性。

LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样可以减少操作成本.

逻辑卷管理器解决的主要问题如下:

解决分区空间不够用或者分区空间绰绰有余的情况。

基本磁盘分区的边界是不能随意扩展的。分区大小是在刚刚划分分区的时候就决定了。但是使用逻辑卷技术之后,可利用逻辑卷来将两块独立的物理分区连接起来,它可以增加或缩减此前固定磁盘的大小。

逻辑卷的原理

为理解方便起见,我们在这里将真实存在的两个物理分区想象成

两个橙子。

如何把两个独立的橙子平均分给五个人呢,榨成橙汁就可以了!

f3ed0d018b166f87d0297bc565968631.png基本概念:

1.pv :物理卷 被命令处理过的物理分区。

指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块。

2.vg:物理卷组

被组装到一起的物理卷

3.pe: 物理块

lvm设备的最小存储单元,lvm是pe的整数倍.pe是一个一个存储小颗粒(pe 2兆 lvm 8兆等)

4.lvm: 逻辑卷

直接使用的设备,可以增大缩减并保持原有数据不变

原理详解:

逻辑卷(lv)是将几个磁盘分区或者块设备(pv,pv的id必须是8e的,pv可以位于不同的磁盘分区里,pv大小可以不一)组织起来形成一个大的扩展分区(vg,卷组,一个vg至少要包含一个pv。),该扩展分区不能直接用,需要将其划分成逻辑卷(lv)才能使用,lv可以格式化成不同的文件系统,挂载后直接使用。 lv的扩展和缩减是不会影响原有数据的,但逻辑卷缩减的风险大于逻辑卷扩展的风险。

实例应用:

微信的用户不断增加,各种数据不断增加,数据是无限的,但是最开始的某块存储设备不可能是无限大的,它肯定有个物理最大值。

因此需要通过软件完成原有存储设备的伸缩容量,可以使原来独立的两个磁盘,在逻辑上结合在一起,后续可以不断实现逻辑添加磁盘,满足更大的需求。

逻辑卷的优点

1.灵活的容量.

当使用逻辑卷时,文件系统可以扩展到多个磁盘上,可以聚合多个磁盘或磁盘分区成单一的逻辑卷.

2.可伸缩的存储池.

你可以使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备.

3.在线的数据再分配.

可以在线移动数据,数据可以在磁盘在线的情况下重新分配.比如,你可以在线更换可热插拔的磁盘.

4.方便的设备命名

逻辑卷可以按你觉得方便的方式来起任何名称.

5.磁盘条块化.

你可以生成一个逻辑盘,它的数据可以被条块化存储在2个或更多的磁盘上.这样可以明显提升数据吞吐量.

6.镜像卷

逻辑卷提供方便的方法来镜像的数据.

7.卷快照

使用逻辑卷,你可以获得设备快照用来一致性备份或者测试数据更新效果而不影响真实数据.

lv的管理

lv的建立

此实验需要使用监控命令方便观察效果。

1.mkdir /weixindata 创建一个用户使用空间的挂载目录

2.watch -n 1 "pvs;echo=====;vgs;echo=====;lvs;echo===;df -H /weixindata #pvs(表示查看pv的状态)

3.划分分区并且指定分区标签为8e

4.pvcreate /dev/vdb2 创建物理卷,将橙子榨橙汁

5.vgcreate -s 16M vg1 /dev/vdb2

#创建物理卷组,将橙子汁倒进容器里,单位是16M 容器的名字随便起,此处为vg1

-s 可指定pe的大小

6.lvcreate -L 20M -n lv1 vg1 创建逻辑卷lv1,将vg(大容器)里的橙汁倒20M倒在小杯子里,给每个人喝,这杯喝完,再倒一杯给下个人喝。

7.mkfs.xfs /dev/vg1/lv1 将lvm逻辑卷格式化之后才能挂载

8.mount /dev/vg1/lv1 /weixindata

9.df -H

watch -n 1 "pvs;echo=====;vgs;echo=====;lvs;echo===;df -H /weixindata

fe8563a442267e44b91b5d653425adae.png2.

5f3763a0e11bfbfb159270ad1d45e487.png最实验的虚拟机里原来的/dev/vdb1已经是一个逻辑卷了,并不是这里操作的。

ae9b76ac2a6e4ad685961ca0df67314a.png1c3b1a23212cddc244a81719023cdb57.png3.创建pv(将/dev/vdb2 橙子榨橙汁,做成物理卷)

30006409ca276e1abf16ccf6c8136862.pnga525602742ea0b3543b02fc3bc4e6b5b.pnge788b1399b4206d04419a9a1170a723d.png4.准备将20M拿出来放在杯子里让人喝,(放在物理卷里让系统使用)但实际并不是20,而是32M

e72363880826af0a72ea93f3293a2f95.png

5.格式化文件系统

7178633ece9728f6665de8464d084fc5.png

69c0909436290172c63bd2fbc2bb60988.png

xfs格式下lvm的拉伸

情况一:当vg剩余容量充足的情况(一个橙子够喝时)

lvextend -L 100M /dev/vg1/lv1 #拉伸lv的大小

xfs_growfs /dev/vg1/lv1 #同步拉伸文件系统的大小

1.lvextend -L 100M /dev/vg1/lv1 实际做了 但是没截图

ac7ced886103ded3107465cd3b31be25.png

a68436584832eca3b754832fb0b76f3c.png

情况二:vg的剩余容量不足时(需要再拿个新橙子)

1.再次建立分区并修改标签为8e

2.pvcreate /dev/vdb3 #榨橙汁

3.vgextend vg1/dev/vdb3 #将新榨的橙汁倒进之前的vg1大杯子

4.lvextend -L 550M /dev/vg1/lv1 #拉伸lv

5.xfs_growfs /dev/vg1/lv1 #拉伸文件系统

1.建立新的lvm分区/dev/vdb3

36d0630a27d0622912eb041ff388fd42.png79016464dc1427e19271b3fda7ff94ca.png2.f4ec3df4f58ec5ba452c22de34a38784.png

vgextend vg1 /dev/vdb3 将果汁导进去vg1大杯子

lvextend -L 550M /dev/vg1/lv1 拉伸lvm

实际做了但是忘记截图

79ee573108124a1b1f11e30f2f6d5498.png3.17528d4d91fba94ac600ba000673da03.png

xfs格式不支持缩减

ext4下lvm的拉伸和缩减

ext文件系统可缩减。

实验前的准备

umount /weixindata

mkfs.ext4 /dev/vg1/lv1

mount /dev/vg1/lv1 /weixindata

blkid

27a4ec69e54142014862d26d37cb3301.png

e656ad2d118fa04851ad6f718831b028.png902c0f104bdd70732213b79a2af80fbc.png

拉伸

lvextend -L 580M /dev/vg1/lv1 #扩展lvm设备

resize2fs /dev/vg1/lv1 #拉伸文件系统

2b1ec0818fb35dd54237f3aa222baf9d.png2ea1a944643f45ae6640a63321660ae5.png

缩减

1.umount /weixindata

2.e2fsck -f /dev/vg1/lv1 #扫描设备里的内容,直接缩减会损坏设备,会报错

3.resize2fs /dev/vg1/lv1 100M

4.lvreduce -L 100M /dev/vg1/lv01 缩减lvm设备到100M (-l 代表缩减了多少)

5.mount /dev/vg1/lv1 /weixindata

6.df -H /weixindata

9b65d1de063ff5d4385f17a670215102.pngb81a5c64c5926cd630d013d7085421db.png8b654dfd5bf658acabef28be1eaa8f78.png7bb70c8cfd8f645325a0666547424c84.png

移除空闲的pv

将vdb3上的数据移动到vdb2上,然后将vdb3空闲出来。

pvmove /dev/vdb3 /dev/vdb2 #将vdb3上的数据移动到2

vgreduce vg1 /dev/vdb3 将橙汁拿走

pvremove /dev/vdb3

3271b3d4b7e7d3700b1d23c889a1e8eb.png811662e9296ac45f62e22fe4ad3bc40c.png

lvm快照

lvm快照的原理和作用

逻辑卷可以支持快照功能。

快照的工作原理:

保存数据某一时刻的状态。快照刚刚建立的时候,它的大小是空的,需要指定它的大小。

快照是访问原文件的另一条路径。

快照是在数据改变之前将数据原封不动的保存到快照空间里面。

注意数据变化的幅度不能超过给定快照空间的大小,否则快照将崩溃。

快照的作用:

对某一时刻数据状态的备份提供另一条访问路径,通过快照来备份数据到其它位置,备份完成后,快照就没用了,卸载和移除该快照卷。快照空间的大小取决于数据改变的频度和所需要使用的时间长度,即有限的时间内原文件数据改变的空间大小。

在快照上读内容,在母盘上写内容。

快照的建立

umount /weixindata

lvcreate -L 20M -n lv0-backup -s /dev/vg1/lv1 指定快照lv0backup的大小为20M

lvdisplay #查看lvm状态 或者lvs

mount /dev/vg1/lv0-backup /weixindata

a6d0473d803019e15ef920a58c33b4d5.png

测试:给快照放超过它本身大小的数据,快照会被撑破

dd if=/dev/zero of=/weixindate/file bs=1M count=50

会写入,但是快照会被自动卸载,再次mount会失败。

因为被撑爆了,可以重新照一张照片。

1ee53095ab93654ac4fd06bd17936ec5.png64b7be7515f090f21ab71adcd7bac239.png

f1b33268055f0d72034acc243bc3f2a2.png

lvm的删除

正常删除时

umount /weixindata

lvremove /dev/vg1/lv0-backup

lvremove /dev/vg1/lv1

vgremove vg1

pvremove /dev/vdb2

1edb01e644d1b713f90d8d48a94c7616.png9db11b83ee519161b6e7639443cc60b1.png

删除vg中出现问题的设备

当设备被误删时,会报错(No device found PV…),因为lvm不能识别该设备,

vgreduce --removemissing vgname

vgremove vgname

pvremove /dev/vdbx

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值