逻辑卷lvm:
可大可小
lvm是pe的整数倍 pe 物理扩展
lvm2 pe最小1k,最大2T
指定pe大小:vgcreate -s 16m vg0 /dev/vdb5,默认是4M
vgdisplay 查看pe大小
创建逻辑卷:
逻辑卷可以认为它是一杯橘子汁,硬盘可以理解为一个橘子,橘子汁的大小可以改变,但是橘子的大小却不能改变。所以硬盘转化为逻辑卷可以这么理解:首先,拿一个橘子(一块硬盘或者一个物理分区),把橘子榨成汁(这个橘子汁就对应的是物理卷),然后把橘子汁倒入一个容器中,这个容器是可大可小的(容器对应的是物理卷组),最后,需要多少橘子汁,倒出多少橘子汁(橘子汁对应的是逻辑卷),如果容器里的橘子汁不够了,就再拿一个橘子,榨成汁,倒入容器中。
1.创建一个分区;并将标签改为8e
2.partprobe 同步分区列表
3.pvcreate /dev/vdb2 将物理分区转化为物理卷 橘子榨汁
4.vgcreate liminggroup /dev/vdb2 将物理卷添加到物理卷组 橘子汁到入一个容器中
5.lvcreate -L 50M -n limingdata liminggroup 从物理卷组拿出一部分,这部分就是逻辑卷
6.mkfs.xfs /dev/liminggroup/limingdata 格式化逻辑卷
7.mount /dev/liminggroup/limingdata /limingdata 将逻辑卷挂载到/limingdata中。
监控命令:
watch -n 1 'pvs;echo ----;vgs;echo ----;lvs;echo ----;df -h /weixindata'
拉伸逻辑卷:
如果物理卷组比较充足的情况下可以直接从物理卷拿走,因为我创建的分区是100M,所以此时的物理卷组最多分出去100M
1. lvextend -L 90M /dev/liminggroup/limingdata 拉伸逻辑卷limingdata到90M,此时的物理卷组只有100M,所以在不增加物理卷组的情况下,最多拉伸到100M。
2. xfs_growfs /dev/liminggroup/limingdata grow是生长的意思,此命令就是给逻辑卷limingdata生长文件系统,因为逻辑卷已经增加了,所以相应的文件系统也必须增加。
如果物理卷组不够的情况下,就需要在重新把一块物理分区转化为物理卷,然后把物理卷添加到物理组,在进行上面的拉伸
测试:
1.fdisk /dev/vdb n添加-->t改标签位8e “重新买个橘子“。如下图:我再分出一个物理分区,大小也是100M。
2.partprobe 同步分区表
3.pvcreate /dev/vdb3 将/dev/vdb3转化为物理卷 把买来的橘子榨成汁
4.vgextend liminggroup /dev/vdb3 将物理卷添加到物理卷组 把榨到的橘子汁到入总容器中
5.lvextend -L 180M /dev/liminggroup/limingdata 拉伸逻辑卷limingdata到180M 取容器中的一部分橘子汁
6.xfs_growfs /dev/liminggroup/limingdata 给逻辑卷limingdata添加文件系统
监控命令:
watch -n 1 'pvs;echo ----;vgs;echo ----;lvs;echo ----;df -h /limingdata'
缩减逻辑卷:
xfs文件系统只支持拉伸,不支持缩减,所以需要将文件系统换为ext4
文件系统为ext4时的拉伸:
1.umount /limingdata 卸载逻辑卷,如果不进行卸载就不能更改文件系统
2.mkfs.ext4 /dev/liminggroup/limingdata 改变逻辑卷文件系统为ext4
3.mount /dev/liminggroup/limingdata /limingdata 挂载逻辑卷
4.lvextend -L 190M /dev/liminggroup/limingdata 拉伸逻辑卷到190M
5.resize2fs /dev/liminggroup/limingdata 逻辑卷扩展后,需要添加文件系统,但这里不需要写大小

文件系统为ext4时的缩减:
跟拉伸不同的是:缩减要注意逻辑卷内的数据大小,不能缩到比数据大小还小。其次,先缩减文件系统,再缩减逻辑卷大小,且文件系统需要标明缩减到多少。
1.umount /limingdata 卸载逻辑卷
2.e2fsck -f /dev/liminggroup/limingdata 扫描逻辑卷的内容,数据。防止缩减破坏数据
3.resize2fs /dev/liminggroup/limingdata 50M 缩减文件系统到50M
4.mount /dev/liminggroup/limingdata /limingdata 挂载逻辑卷
5.lvreduce -L 50M /dev/liminggroup/limingdata 缩减逻辑卷到50M
如果逻辑卷足够大到剩余出一个物理卷,那么此时可以将这个物理卷迁移出来,如果想要把有数据的物理卷迁移出来,就需要先把这个物理卷的数据迁移到另外一个物理卷上,然后再迁移这个物理卷
测试:
1.pvmove /dev/vdb2 /dev/vdb3 先把vdb2的数据移动到vdb3
2.vgreduce liminggroup /dev/vdb2 然后移出物理卷组的vdb2
3.pvremove /dev/vdb2 移出物理卷
逻辑卷快照:
如果不小心删掉逻辑卷,那么数据丢失会很麻烦。可以通过快照的方式,在快照下操作逻辑卷,就不会造成这样的问题
测试:
1.mount /dev/liminggroup/limingdata /limingdata 挂载逻辑卷
2.touch /limingdata/file{1..4} 在挂载目录下创建文件
3.umount /limingdata/ 卸载逻辑卷
4.lvcreat -L 20M -n limingdata1 -s /dev/liminggroup/limingdata 给逻辑卷照快照
5.mount /dev/liminggroup/limingdata1 /limingdata 挂载快照
6.cd /limingdata/ --> ls --> rm -rf * 删除创建的文件
7.umount /limingdata 卸载快照
8.lvremove /dev/liminggroup/limingdata1 删除快照
10.mount /dev/liminggroup/limingdata /limingdata 挂载逻辑卷
11.ls /limingdata 查看文件,文件存在
操作截图如下:
逻辑卷部分错误的解决办法:
如果删掉vdb2
vgs 会报错
解决方法:vgreduce --removemissing weixingroup
vgreduce --help
如果配置文件写错了/etc/fstab
reboot就会出现报错。先输入超级用户密码,得到一个shell窗口,vim /etc/fstab ,改回来,然后重启就恢复了。
删掉逻辑卷:
删除逻辑卷的顺序是从下往上删,先删除逻辑卷,再删除物理卷组,再删除物理卷
1.umount /limingdata 先卸载逻辑卷
2.lvremove /dev/liminggroup/limingdata 删除逻辑卷
3.vgremove /liminggroup 删除物理卷组
4.pvremove /dev/vdb2 删除物理卷