LVM

本文详细介绍了Linux LVM(逻辑卷管理)的概念、术语和操作步骤,包括创建物理卷、卷组、逻辑卷,以及格式化、挂载、扩容和缩小等操作。LVM允许灵活管理和扩展磁盘空间,支持在线调整大小,适用于多硬盘环境。文中还给出了具体的命令行示例,如创建和扩展逻辑卷、调整PE大小等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

它是Linux环境下对磁盘分区进行管理的一种机制

lvm的基本步骤:

LVM(logical volume manager)逻辑管理卷,是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷。

LVM的常用术语:

物理存储介质:可以是磁盘分区,整个磁盘,RAID或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用。

物理卷PV:物理卷就是LVM的基本存储逻辑块。

卷组VG:lvm卷组类似于LVM系统中的物理硬盘。

逻辑卷LV:类似于非LVM系统中硬盘分区,LV建立在VG上,可以在LV之上建立文件系统。

PE:pv物理卷中可以分配的最小存储单元,pe的大小可以是指定的,默认为4MB.

名称最小存储单元
硬盘扇区(512字节)
文件系统block(1K或4K)
raidchunk(512K)
LVMpe

LVM优点;

使用卷组,使多个硬盘空间看起来像一个大的硬盘。

使用逻辑卷,可以跨多个硬盘空间的分区,sdb1,sdb2,sdb3.

在使用逻辑卷时,不需要考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间

可以在线对LV,VG惊醒创建,删除,调整大小,LVM上的文件系统也需要重新调整大小。

 

 

创建lvm的基本步骤:创建物理卷,创建卷组,创建逻辑卷,格式化,挂载。

1.物理磁盘被格式化为pv,空间被划分为一个个的pe #pv包含pe

2.不同的pv加入到同一个vg中, #VG包含pv

3.在VG中创建LV逻辑卷,基于PE创建,(组成LV的PE可能来自不同的物理磁盘) #LV基于PE创建

  1. LV可以格式化后装载使用, #格式化挂载使用

  2. LV的扩充缩减实际上就是增加或减少组成该LV的pe数量,其过程不会丢失原始数据。

 

创建磁盘

添加磁盘

fdisk /dev/sdb #创建4个主分区,每个分区1G

参数t:选择分区号

参数l:查看系统分区类别型号

ls /dev/sdb*

设定分区类型代码:fdisk /dev/sdb ===== t========选择分区号======8e=====w

8e:代表lvm卷

83:代表linux分区

pvcareate /dev/sdb{1,2,3,4} #创建pv

pvs 查询

pvdisplay /dev/sdb1 详细查看

vgcreate vg01 /dev/sdb1 创建卷组将/dev/sdb1加入到vg01中,

vgs 查看

vgdisplay vg01 查看vg01

pvs 查看

创建LV

lvcreate -n 指定新逻辑卷的名称 -L 指定lv大小的size (-l 指定LE的数量)vgname

lvcreate -n lv01 -L 16M VG01 创建lv01

lvcreate -n lv02 -l 4 vg01 用四个le组成lv02逻辑卷

格式化lv文件系统与挂载

mkdir /lv01

mkfs.ext4 /dev/vg01/lv01 格式化

lv01逻辑卷的路径在哪?

ls /dev/vg01/lv01

ll /dev/vg01/lv01 是个软连接真正的路径在/dev/dm-0

mount /dev/vg01/lv01 /lv01/

df -h /lv01/ 查看分区信息

echo "/dev/vg01/lv01 /lv01 ext4 defaults 0 0" >>/etc/fstab 开机自动开启

指定pe的大小

指定PE大小用的参数:-s 如果存储的数据都是大文件,那么PE尽量调大,读取速度快。

HDFS ceph swift,gfs,mfs

参数 -s指定pe的大小

vgcreate -s 16M vg02 /dev/sdb2

vgs

vgdisplay vg02

LV扩容

首先,确认一下是否有可用的扩容空间,因为空间是从VG里面创建的,并且LV不能跨VG扩容

vgs

用到的命令

vgextend

lvextend

 

扩容逻辑卷

lvs

lvextend -L +30M /dev/vg01/lv01 扩容30M

lvextend -L 30m /dev/vg01/lv01 扩容到30M

df -h /dev/lv01 显示未扩容

lvs 显示已经扩容

注:可以看到lv虽然扩展了,但是文件系统大小还是原来的,下面开始扩容文件系统

ext4文件系统扩容使用命令语法:resize2fs 逻辑卷名称

xfs文件系统扩容使用命令语法:xfs_growfs 挂载点

resize2fs /dev/vg01/lv01

df -h /lv01/

方法3:使用lvextend命令中加参数 -r ,它支持多种不同的文件系统,ext3.ext4.

lvextend -L 80M -r /dev/vg01/lv01

vls

df -h /lv01/

已经提升

vg扩容

场景:vg卷组中的空间不够,需要添加新的硬盘进来

vgs

pvcreate /dev/sdb3 创建pv

vgextend vg01 /dev/sdb3 将/dev/sdb3创建成vg并加入到vg01中

LVM缩小:

lvs

lvreduce -L 20M //dev/vg01/lv01 缩小到20M

lvs

df -h /lv01/

答:lv可以动态增加,可以动态缩小的,但是xfs文件系统不支持缩小,btrfs文件系统支持在线缩小。

vg缩小,要保证你的物理卷是否被使用,因为它无法缩小一个正在使用的vg

cp -r /boot/grub /lv01/

vgreduce vg01 /dev/sdb1

互动:如果sdb1是一个磁盘阵列,而这个磁盘阵列使用年代太久,我们必须移出怎么办?

增加pv到指定pg中

将要移除的pv文件移到新添加的pv

pvmove /dev/sdb1 /dev/sdb3 移动数据

vgreduce vg01 /dev/sdb1 移完数据在移除sdb1

pvs

LVM删除

创建LVM流程

pvcreate 创建pv---》vgcreate 创建卷组 ---》lvcreate 创建逻辑卷组--->mkfs.ext4 lv格式化 ---》mount挂载

删除LVM流程

umount卸载-----》lvremove 移出逻辑卷----》vgremove vg移出卷组 --->pvremove移出pv

umount /lv01/

vgs

lvremove /dev/vg01/lv01

lvs

vgremove vg01

vgs

pvremove /dev/sdb1

pvs

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值