篇首语:本文由编程笔记#小编为大家整理,主要介绍了什么是逻辑卷管理器lvm?lvm设备的管理相关的知识,希望对你有一定的参考价值。
为什么使用lvm? lvm是Linux系统用于对硬盘分区进行管理的一种机制,为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上讲是可行的。但是却可能造成数据的丢失。LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理设备和底层架构和布局,就可以实现对硬盘分区的动态调整。
简单点说:我们硬盘的分区安装上lvm软件后变成物理卷pv,pe设定了物理卷pv最小存储单元,物理卷pv捆绑到一起叫vg卷组,vg卷组里再划分出来一个设备,设备叫lv逻辑卷,格式化后即可挂载使用。lv逻辑卷没有了从vg卷组里取,vg卷组没有了再划分物理磁盘添加,这样保证了lv空间永远是充足的。
图源:什么是lvm
第一步:建立物理分区并设定分区type为lvm fdisk /dev/sda,输入n建立分区 输入t更改分区类型,然后wq退出保存。最后udevadm settle,同步分区表 第二步:创建pv pvcreate /dev/sda1 第三步:创建vg vgcreate lcukyvg -s 2M /dev/sda1 ,-s设定最大存储单元pe大小为2M,存储单元越小,划分精度越高,读取速度越慢,最小128KB vgdisplay查看vg 第四步:创建lvm lvcreate -L 100M -n luckylv0 luckyvg ,-L指定大小 -n指定名称 第五步:格式化 mkfs.xfs /dev/luckyvg/luckylv0 第六步:挂载 mount /dev/luckyvg/luckylv0 /lucky 最终结果:
fdisk /dev/sda
udevadm settle
pvcreate /dev/sda1
vgcreate lcukyvg -s 2M /dev/sda1
vgdisplay
lvcreate -L 100M -n luckylv0 luckyvg
mkfs.xfs /dev/luckyvg/luckylv0
mount /dev/luckyvg/luckylv0 /lucky
第一步:拉伸lv`lvextend -L 200M /dev/mapper/luckyvg/luckylv0`##拉伸设备到200M
第二步:拉伸文件系统: xfs_growfs /lucky/ 或者 xfs_growfs /dev/luckyvg/luckylv0 ##拉伸文件系统,可以用设备或挂载点
xfs_growfs /lucky/
xfs_growfs /dev/luckyvg/luckylv0
第一步~第二步见上面lvm设备的建立:划分分区并创建pv 第三步:对容量不够的vg扩容 vgextend luckyvg /dev/sda2 ##将pv物理卷sda2加入到vg卷组中 第四步:拉伸lv lvextend -L 1500M /dev/mapper/luckyvg/luckylv0 第五步:拉伸文件系统: xfs_growfs /lucky/ ##刷新文件系统
vgextend luckyvg /dev/sda2
lvextend -L 1500M /dev/mapper/luckyvg/luckylv0
第一步:在上文创建好lvm设备的基础上,卸载并格式化为EXT4文件系统然后再挂载回去 第二步:拉伸lv和文件系统 lvextend -L 1800M /dev/luckyvg/luckylv0 ##拉伸lv到1800M resize2fs /dev/mapper/westosvg-westoslv ##刷新文件系统
lvextend -L 1800M /dev/luckyvg/luckylv0
resize2fs /dev/mapper/westosvg-westoslv
第一步:在上文创建好lvm设备的基础上,卸载并检测设备上有多大的数据e2fsck -f /dev/luckyvg/luckylv0 第二步:缩减文件设备并挂载 resize2fs /dev/luckyvg/luckylv0 500M ##缩到500M 第三步:缩减lv lvreduce -L 500M /dev/luckyvg/luckylv0 第四步:把vg里闲置的pv移走 pvs查看/dev/sda2是空的,可以把这块移走 vgreduce luckyvg /dev/sda2 ##减掉vg pvremove /dev/sda2 ##移走pv的sda2
e2fsck -f /dev/luckyvg/luckylv0
resize2fs /dev/luckyvg/luckylv0 500M
lvreduce -L 500M /dev/luckyvg/luckylv0
pvs
vgreduce luckyvg /dev/sda2
pvremove /dev/sda2
如果想移走的pv是有数据的,可以先把数据移动到其他的pv分区里,再减掉vg,移走不要的pv设备 pvmove /dev/sda1 /dev/sda2 ##1的数据移到2里
pvmove /dev/sda1 /dev/sda2
拍快照的目的是在快照上进行操作,不会对原始设备造成损害! 拍快照命令: lvcreate -L 50M -n luckylv0-backup -s /dev/luckyvg/luckylv0 ##L存储更改内容的大小 ##快照在/dev/luckyvg/目录下 测试: 第一步:挂载原始lv设备,并进入挂载点创建一些文件,然后卸载 第二步:拍快照(lvs可以查看到),然后挂载luckylv0-backup这块设备(拍的快照)到之前我们创建文件的目录!!!进入挂载点删掉创建的文件,然后卸载。 ##这样我们的操作就是在快照上进行,不会对原始设备造成损害!
lvcreate -L 50M -n luckylv0-backup -s /dev/luckyvg/luckylv0
/dev/luckyvg/
luckylv0-backup
第三步:去掉我们快照的设备lvremove /dev/luckyvg/luckylv0-backup,然后重新对原始硬盘拍快照,然后重新挂载快照设备查看我们之前的文件还在,说明我们的原始设备没有数据没有被删除,测试成功!
lvremove /dev/luckyvg/luckylv0-backup
lvm删除:umount /dev/luckyvg/luckylv0 #如果有快照还挂载着记得也卸载了lvremove /dev/luckyvg/luckylv0vgremove /dev/luckyvgpvremove /dev/sda2 --force --force #有数据的情况下要加--force --force,强制清空最后dd if=/dev/zero of=/dev/sda bs=1M count=5覆盖原数据,就是全新的设备了!