Linux中的LVM是什么

LVM(Logical Volume Manager)是Linux系统中的一种动态分区技术,它允许将多个物理硬盘上的存储空间组合成一个或多个逻辑卷(Logical Volume),并且可以在运行时对逻辑卷进行调整。LVM的设计目标是提供一种灵活、可管理、可扩展的存储管理方案,以满足不同的存储需求。

在LVM中,硬盘被划分为物理卷(Physical Volume),多个物理卷可以组成一个卷组(Volume Group),而卷组中的空间则可以被划分为多个逻辑卷。逻辑卷可以像磁盘分区一样使用,并且可以动态调整大小、移动、合并或拆分。这使得LVM可以在不影响现有数据的情况下对存储空间进行动态管理,从而满足不同的应用场景和存储需求。

LVM是Linux系统中的标准功能,大多数发行版都默认安装了LVM并提供了相应的管理工具。LVM操作简单、易于使用,可以为系统管理员提供更加灵活和可靠的存储管理方案。


整体思路是

1        创建物理卷(Physical Volume) 

2        创建卷组(Volume Group)

3        创建逻辑卷(Logical Volume)

4        格式化逻辑卷(Logical Volume)

5        最后对逻辑卷进行挂载

每步都有对应的一组操作    这个只不过是一个大概的思路    比如创建物理卷   就有 创建

删除 查看 一系列操作  


挂载逻辑卷

pv         物理卷

vg        卷组

lv         逻辑卷

 在LVM中,逻辑卷的数量是没有明确的限制的。可以创建任意数量的逻辑卷,只要在LVM卷组(Volume Group)中有足够的剩余空间

只要在LVM卷组(Volume Group)中有足够的剩余空间。但是,在实践中,逻辑卷的数量应该受到系统硬件配置和性能限制的考虑,以确保系统的稳定性和性能。


(1条消息) Linux:磁盘管理 | 查看 磁盘,创建分区,格式化文件系统,添加&开启swap交换系统 ,格式化硬盘后进行挂载 ,挂载光盘, 挂载USB ,取消挂载(卸载),开机自动挂载_鲍海超的博客-CSDN博客

首先准备一块磁盘,给他分3个区  随便多少G 只要你自己可以看到容量的加减就行 我这里分区分的20G

现在分好区了 但是他们只是普通的分区 再次使用 fdisk + 你要管理的磁盘

我这里是

fdisk /dev/sdb

然后输入   t    更改类型

然后输入   1   选择分区1

#我们要让这个分区变成LVM 动态分区        (输入L 可以查看不同文件系统hex代码)

Hex代码为 8e

输入        8e    更改文件系统

然后输入 p  查看

可以看到分区1已经改完了

然后去修改分区2  和 3   操作也和1一样

t——2——8e

t——3——8e 

输入p查看

 现在都是lvm了

然后wq保存退出  一定要有这个 要不上面的操作都没生效


物理卷 

查看物理卷

pvscan 

可以看到只要有一个系统的  这个不用管他

现在把刚刚分区好的那三个加上去

 添加物理卷

pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
# 同时添加3个  如果想添加一个可以使用  pvcreate /dev/sdb1道理都是一样的

 可以看到成功加进去了

附加:

如果这没有加进去 可是明明已经创建了    确定名字没有输入错误

可以看到提示2 和3 都无法添加进去 但是确定没有做错分区

当我们查看时候也能查看

但是单独查看时候现在没有那个

现在就使用

partprobe /dev/sdb

#partprobe + 你的磁盘路径

就能成功加上

 查看物理卷的详细信息

pvdisplay + 物理卷路径

pvdisplay /dev/sdb1

 删除物理卷   (将物理卷还原成普通分区)

如删除dev/sdb3

pvremove + 物理卷路径
pvremove /dev/sdb3

 可以看到只剩sdb1 和 2了


卷组

卷组就是把一群物理卷集结在一起

相当于你这有一杯水,别人那里有一杯水,还有更多的人有更多的水(从各个磁盘分出来的物理卷)……当他们要创建一个组  就把自己手里的水都统一放进一个水库里,我这放两杯水(相当于我是sdb分出来了2块分区放进这个卷组了),他放一杯水(可能是sdc 或者 更多  他们在磁盘中也给了块分区变成了物理卷 加入了卷组),当你一杯我一杯他两杯,这个组就相当于水库,但是其中的那一杯水还是属于我的如果我想不给他或者水库管理者给退回,这杯水还会回到我这(删除了物理卷,还会回到磁盘变成分区),同时水库(卷组)容量大小也会减少,当有需要一堆水的时候,我水库相当于总基地,我们总基地的水是不会拿出去用的,只会往外分小组,让小组去对外使用,水库管理者就会划分出来一些水放到一个小组(相当于逻辑卷)这个组的水拿出去用,如果不够用了再次从这个水库往出调用这时我们小组的水(容量大小)就会增加,如果过多了我们可以把小组(逻辑卷)多余的水调用回水库(卷组),这时我们总水库的大小也会随着管理员调用变换容量剩余大小,可以将剩余的容量调用到另外一个小组(另外一个逻辑卷)

查看现在所有的卷组 

vgscan

可以看到有一个系统默认组

将多个物理卷创建成一个卷组

vgcreate + 自定义卷组名称 + 物理卷

vgcreate aaa /dev/sdb1 /dev/sdb2 /dev/sdb3   

# 也可以将不通磁盘上的物理卷组成一个   如 vgcreate aaa /dev/sdb1 /dev/sdc2 /dev/sdd3

前提是pvscan上面要可以看到他们

现在他们几个被创建成为了一个卷组名为aaa

 

 显示卷组的详细信息

vgdisplay + 组名称

vgdisplay aaa

 附加:

如果你想看卷组里都包含那个物理卷直接使用

pvscan

 删除卷组

vgremove + 卷组名称

vgremove aaa

 成功删除aaa组

往卷组里再加入物理卷

现在有一个名为aaa的组

可以看到组内分别有 /dev/sdb1 ,2  , 3

这时有一个  /dev/sdc1也要加入到aaa组里

 使用

vgextend aaa /dev/sdc1


 可以看到也加进去了

从卷组中往出删除物理卷

刚刚我们把sdc1加入进去了现在我们又不想要了

vgreduce + 卷组名称 + 要移除前面卷组的物理卷

vgreduce aaa /dev/sdc1


创建逻辑卷

现在从卷组往出创建逻辑卷

 扫描逻辑卷及相关信息

lvscan 

 从卷组往出分逻辑卷

lvcreate -L 大小 -n 自定义逻辑卷名称 卷组名称

lvcreate -L 10G -n qwe aaa

从aaa的卷组往出分10g给qwe这个逻辑卷

 显示逻辑卷详细信息

  lvdisplay 逻辑卷路径

lvdisplay /dev/aaa/qwe

aaa卷组里的qwe逻辑卷

  

动态扩展逻辑卷的空间

首先要确定卷组空间是否充足

可以确定还有50G空闲空间   使用

lvextend -L +空间大小 逻辑卷的路径

lvextend -L +10G /dev/aaa/qwe 

 如果逻辑卷已挂载使用,当扩展空间后,需要使用xfs_growfs命令在线调整文件系统大小

 既然可以让他增加就能减少

逻辑卷减少空间

lvreduce -L -空间大小 逻辑卷路径

lvreduce -L -10G /dev/aaa/qwe 

 删除指定的逻辑卷

lvremove 逻辑卷路径

lvremove /dev/aaa/qwe 


 格式化逻辑卷

将逻辑卷qwe格式化之后才能挂载

mkfs -t 文件格式 逻辑卷路径

mkfs -t xfs /dev/aaa/qwe

 


挂载逻辑卷

直接使用mount挂载到要挂载的点就行   前提是格式化创建完文件系统

mount /dev/aaa/qwe /mailbox/

成功挂载如果想让开机自动挂载可以对文档/etc/fstab  进行编辑

 添加上这个

如果不知道这个意思的可以查看

(1条消息) Linux:磁盘管理 | 查看 磁盘,创建分区,格式化文件系统,添加&开启swap交换系统 ,格式化硬盘后进行挂载 ,挂载光盘, 挂载USB ,取消挂载(卸载),开机自动挂载_鲍海超的博客-CSDN博客

这样开机就行自动挂载成功 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐