LVM的原理和实践

本文概述了LVM(逻辑卷管理)的工作原理,包括PE、PV、VG和LV的概念,如何动态增加和删除空间,以及关键操作步骤。重点介绍了LVM的优点和缺点。

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

LVM原理

PE:physical Extend

PV:physical volume

VG:volume group

LV:logical volume

1.将物理硬盘切分为多个可扩展的物理小单位PE(physical Extend)。

白话理解:使用pvcreate 格式化硬盘(可以为多个或单个)为多个PE,即切分硬盘为很多个4M的小块。

2.使用卷组PV(physical valume)把PE管理起来。

白话理解:把上面的PE都加入PV卷组管理起来。

3.将PV加入逻辑卷VG(volume group)

白话理解:从PV卷组总申请使用多少个PE 

4.将VG格式化为指定文件系统

白话理解:通过1、2、3步,将很多硬件切分后重组,然后再重组的逻辑卷中申请部分容量空间作为一个逻辑卷(类似一个盘),把这个逻辑卷格式化为对应的文件系统(例如ext4、xfs等)

5.将格式化后的逻辑卷挂在到系统盘上。

白话理解:将第4步生成的虚拟硬盘挂在到一个目录上(例如/data)

然后就可以正常使用了

LVM的好处

1.可以动态增加空间,不需要停止使用该虚拟硬盘的应用程序

2.可用空间足够情况下,可以动态删除硬盘(比如硬盘坏了)。但是需要停止使用改虚拟硬盘的应用程序

LVM的缺点

一个硬盘坏了,会影响其它硬盘的使用

LVM的基本操作

一。新建一个LVM

1.将物理硬盘初始化为物理卷(PV)

例如,将物理硬盘/dev/sdb、/dev/sdc初始化为PV。 --- 注意:此操作会格式化/dev/sdb、/dev/sdc硬盘

pvcreate /dev/sdb  /dev/sdc

可能遇到的问题

问题:Device /dev/nvme3n1 excluded by a filter

解决办法:

# parted /dev/nvme3n1
GNU Parted 3.2
Using /dev/nvme3n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
New disk label type? msdos
Warning: The existing disk label on /dev/nvme3n1 will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) quit
Information: You may need to update /etc/fstab. 

2. 创建卷组,将PV加入卷组VG中

将/dev/sdb、/dev/sdc加入到vgname的卷组中(名字可以自定义,英文),会创建一个名为vgname的卷组

vgcreate vgname /dev/sdb /dev/sdc

 3.基于卷组创建一个逻辑卷LV

从上面的vgname卷组中申请空间,并加入LV中。

例如,下面新建lvname的LV逻辑卷,并从vgname中申请3G大小

lvcreate -n lvname -L 3G vgname

4.为创建好的逻辑卷创建文件系统

例如,将上面的逻辑卷lvname格式化为ext4格式文件系统

mkfs.ext4 /dev/vgname/lvname

5.将格式化好的逻辑卷挂在到系统目录使用

将文件系统挂载到/mnt/lvm_sdb_sdc目录下

mount /dev/vgname/lvname /mnt/lvm_sdb_sdc

二。查看LVM

1.查看PV

# 详细信息

pvdisplay

pvs

2.查看卷组VG

vgdisplay

vgs

3.查看逻辑卷信息

lvdisplay

lvs

三。删除LVM

1.删除LV

lvremove /dev/vgname/lvname

2.删除VG

vgremove vgname

3.删除物理卷

例如删除/dev/sdb

pvremove /dev/sdb

四。给一个逻辑卷LV扩容

1.保证VG有足够的空闲空间

vgdisplay

2.扩充逻辑卷

lvextend -L +2G /dev/vgname/lvname

3.查看扩充后的LV大小

lvdisplay

4.更新文件系统

resize2fs /dev/vgname/lvname

5.查看更新后的文件系统

df -h

五。拉伸一个卷组VG

1.将要添加到VG的硬盘格式化为PV

pvcreate /dev/sdd

2.将新的PV添加到指定的卷组VG中

vgextend vgname /dev/sdd

3.查看扩充后的VG大小

vgdisplay

六。缩小一个逻辑卷

1.卸载已经挂在的逻辑卷

umount /dev/vgname/lvname

2.缩小文件系统

(提示需要检查文件系统,进行检查就好)

resize2fs /dev/vgname/lvname 1G

 3.缩小LV

lvreduce -L -1G /dev/vgname/lvname 

4.查看缩小后的LV

lvdisplay

5.挂在缩小后的lv卷

mount /dev/vgname/lvname /mnt/dev_sdb_sdc

七。删除卷组

1.将一个PV从指定卷组中删除

vgreduce vgname /dev/sdd

2.查看缩小后的卷组大小

vgdisplay

学习内容来自bilibili:Linux LVM分区与应用与详解_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值