LVM设备的管理

LVM可以使硬盘无限扩容 无限分区

LVM分为

1.pv物理卷

2.vg物理卷组

3.lvm逻辑卷

4.pe物理拓展(最小存储单元)

在进行LVM设备的创建和管理时,可以使用监控命令进行监控

watch -n 1 'pvs;vgs;lvs;df -h' /mnt   监控命令

mkfs(只能拉伸不能缩减)

fdisk /dev/vdb   创建3个分区 用t将ip改为8e


创建修改完后,可以输入p查看

显示为上图表示修改完成 wq退出保存即可

接下来我们要做5步

1.pvcreate /dev/vdb1    创建一个pv物理卷


2.vgcreate  vg0  /dev/vdb1  创建一个物理卷组


观察监控命令,可以看到创建是成功了的

3.lvcreate  -L 300M -n lv0  vg0 创建一个lvm并从vg取用300M

上图笔者有一步命令输入错误,报错后也修改了,大家就当没看到好了-。-

4.mkfs.xfs  /dev/vg0/lv0    格式化/dev/vg0/lv0 (因为是新创建的逻辑卷,所以需要格式化后才能使用)

5.mount /dev/vg0/lv0 /mnt/   挂载

然后这个LVM就可以使用了

#####################################################################

当创建的LVM容量不足时,我们就需要将它增大

LVM增大的方法

lvextend -L 500M /dev/vg0/lv0 将lvm增大到500M(需要增大到多少就输入多少,需要注意的是,

文中的500M是指增大到,而不是增加)



因为增大部分的lv0空间(lvm命名,可以随意)并没有格式化,所以那部分空间不能够使用

而为了保证之前所存文件的完整性,我们需要通过热拉伸将没有格式化部分格式化

xfs_growfs /dev/vg0/lv0 热拉伸命令

当vg的大小不够用时,可以通过增加 pv(物理卷)的方式增加vg的大小
pvcreate /dev/vdb2

vgextend  vg0 /dev/vdb2


vg增大后,可以通过(与之前相同,不赘述了)

lvextend -L 1500M /dev/vg0/lv0
xfs_growfs /dev/vg0/lv0
然后增加部分就可以使用了

接下来我们介绍LVM的另一个模式 ext4(可以拉伸和缩减)

umount /mnt/   首先,我们需要先卸载掉之前挂载的lvm

从监控窗口可以看到挂载变成了vda1 说明下载成功了

接着输入   mkfs.ext4   /dev/vg0/lv0 将lv0格式化并转换格式

然后mount /dev/vg0/lv0 /mnt/ 挂载


mount 查看挂载格式



最后一行可以看到,ext4 说明已经转换成ext4

lvextend   -L 1800M /dev/vg0/lv0  将lvm增大到1800M

resize2fs  /dev/vg0/lv0  通过热拉伸 将没有格式化部分格式化(注意:ext4与mkfs的热拉伸命令不同)

ok,至此我们已经将lv0增大到了1800M 结下来,我们将要进行缩减操作

首先,我们需要

umount /mnt/  卸载挂载

e2fsck -f /dev/vg0/lv0 扫描设备中的文件大小(这一步看似没有什么作用,可是如果因为不扫描文件大小,

缩小大小不足以容纳文件,会造成文件损坏丢失)


最后一行有显示卷中文件大小

resize2fs /dev/vg0/lv0 1000M  接着缩减文件系统大小

mount /dev/vg0/lv0 /mnt/   挂载文件 (此时可以看到缩减的文件系统)


lvreduce -L 1000M /dev/vg0/lv0 缩减设备

当需要移除有数据的设备时,需要将数据移到其他设备上

pvmove  /dev/vdb1 /dev/vdb1  /dev/vdb2  将vdb1设备上的数据移动到vdb2(这里假设的是要移除vdb1命令根据实际情况更改)


vgreduce vg0 /dev/vdb1   将vdb1从vg0物理卷组移出


pvremove  /dev/vdb1     将vdb1移除

接下来介绍一下ext4的快照功能

首先我们先得把移除的vdb1先装回来,不然空间可能不够储存快照哦

在已经挂载的/mnt/ 下创建文件


lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 接下来我们创建快照大小为50M的/dev/vg0/lv0镜像文件

mount /dev/vg0/lv0backup /mnt/  挂载快照文件


接下来我们试验一下,删除/mnt/里的文件


统统删掉了

接下来我们

umount /mnt/   卸载快照文件
lvremove /dev/vg0/lv0backup   删除快照文件
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 重新创建

mount /dev/vg0/lv0backup /mnt/  重新挂载


这里有个小细节,笔者一开在/mnt/目录下进行卸载,引起了报错,专门截下来,用作排错的一点点小参考

ok,我们现在再进入/mnt/目录下,看看删除的文件是否恢复了呢

因为删除的是快照的缘故,文件又恢复回来了

ok,我们进行了LVM的许多操作,已经会安装LVM设备了,会装还得会删,接下来说一下LVM设备的删除

删除设备

umount /mnt/ 卸载挂载在/mnt/下的设备(如果快照还在挂载,记得卸载两次哦)
lvremove /dev/vg0/lv0backup    删除快照文件
lvremove /dev/vg0/lv0          删除lvm设备
vgremove vg0                   删除vg在已经挂载的/mnt/ 下创建文件

pvremove /dev/vdb{1..2}        删除pv

一步一步执行就好了,删除的部分就不截图了

猜你喜欢

转载自blog.csdn.net/a534945619/article/details/80284148
今日推荐