Linux之lvm逻辑卷管理器

linux之lvm逻辑卷管理器

  • 什么是逻辑卷管理器

    现象:微信是现在最火的社交软件之一,每天会产生数以万计的数据,我们发送过的朋友圈都被保存在云服务器中,所以问题来了,随着大量的数据被存放在云服务器,总有一天,云服务器的磁盘空间会被“用完”,那么你会说添加新的磁盘,但是如何在不改变oo==磁盘分区以及磁盘数据的情况下添加新磁盘以达到扩充云服务器“空间”呢?这里就用到了lvm逻辑卷管理器技术。

  • 逻辑卷管理器工作原理

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

  • 逻辑卷拉伸

    实验前准备:将vdb1磁盘类型改为lvm

fdisk /dev/vdb ##设置磁盘vdb
t  ##更改类型
8e ##将vdb1更改为lvm
wq ##

在这里插入图片描述
在这里插入图片描述

pvcreate /dev/vdb1   ##创建物理卷vdb1
vgcreate vg0 /dev/vdb1   ##创建卷组vg0
lvcreate -L 50M -n lv0 vg0  ##创建大小为50M的逻辑卷
mkfs.xfs /dev/vg0/lv0   ##格式化为xfs
mount /dev/vg0/lv0 /mnt ##挂载到/mnt(相当于/dev/mapper/vg0-lv0)

在这里插入图片描述

watch -n 1 'pvs;echo ====;vgs ;echo ====;lvs;echo ---;df -h /mnt'  ##用来观测建立的逻辑卷

在这里插入图片描述

lvextend -L 100M /dev/vg0/lv0 ##将逻辑卷拉伸到100M
xfs_growfs /dev/vg0/lv0  ##格式化

在这里插入图片描述

  • 逻辑卷拉大

    创建一个大小为1G的分区vdb2

pvcreate /dev/vdb2 ##将vdb2改为物理卷
vgextend vg0 /dev/vdb2 ##将vdb加入卷组
lvextend -L 900M /dev/vg0/lv0 ##拉大逻辑卷到900M (此处vdb1还有剩余空间,因此900M逻辑卷是vdb1给予的,如果不够,将从vdb2给予)
xfs_growfs /dev/vg0/lv0  ##格式化

在这里插入图片描述

  • 逻辑卷etx4核减
umount /mnt/  ##卸载
mkfs.ext4 /dev/vg0/lv0  ##格式化成ext4

在这里插入图片描述

lvextend -L 1000M /dev/vg0/lv0  ##将逻辑卷扩展到1000M
resize2fs /dev/vg0/lv0 ##w更改文件系统大小

在这里插入图片描述

umount /mnt/  ##再次卸载
e2fsck -f /dev/vg0/lv0/  ##格式化
resize2fs /dev/vg0/lv0 300M  ##更改文件系统大小为300M
lvreduce -L 300M /dev/vg0/lv0  ##逻辑卷核减到300M
mount /dev/vg0/lv0 /mnt/  ##再次挂载

在这里插入图片描述

  • 逻辑卷移动
pvmove /dev/vdb1 /dev/vdb2 ##vdb2的free空间给vdb1的free补满

在这里插入图片描述

vgreduce vg0 /dev/vdb1   ##将卷组中vdb1的磁盘空间归还(将物理卷vdb1移除卷组)

在这里插入图片描述

pvremove /dev/vdb1   ##将vdb1移除物理卷

在这里插入图片描述

  • 逻辑卷快照
mount /dev/vg0/lv0 /mnt/ ##将lv逻辑卷挂载到/mnt
cd /mnt  ##切换到/mnt
touch file{1..10}  ##创建10个file
cd ~  ##切换到家目录
umount /mnt/   ##卸载
lvcreate -L 50M -n lv0-backup -s /dev/vg0/lv0  ##生成50M的快照逻辑卷
mount /dev/vg0/lv0-backup /mnt/  ##再次挂载

rm -fr *  ##删除所有(在虚拟机实验,真机慎行)
umount /mnt/  ##再次卸载
lvremove /dev/vg0/lv0-backup  ##删除逻辑卷快照

lvcreate -L 50M -n lv0-backup -s /dev/vg0/lv0  ##再次生成50M的快照逻辑卷
mount /dev/vg0/lv0-backup /mnt/   ##再次挂载,查看/mnt下的10个file

在这里插入图片描述

  • 快照及lvm相关删除
lvs  ##查看逻辑卷
vgs  ##查看卷组
pvs  ##查看物理卷
lvremove /dev/vg0/lv0-backup  ##删除快照逻辑卷
lvremove /dev/vg0/lv0  ##删除快照
vgremove vg0  ##删除卷组
pvremove /dev/vdb2  ##删除物理卷
fdisk /dev/vdb  ##删除分区
partprobe   ##立即同步

在这里插入图片描述
在这里插入图片描述

  • GPT格式

    什么是GPT

    GUID磁盘分区表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一64bits来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。

    设置方法:(更改会删除数据在真机提前做好备份,慎行)
    dos即MBR

parted /dev/vdb
mklabel
gpt
yes
quit

fdisk -l ##查看更改效果

在这里插入图片描述
在这里插入图片描述

END

猜你喜欢

转载自blog.csdn.net/weixin_44828950/article/details/89388738