首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux基础软件-lvm

Linux基础软件-lvm

作者头像
运维小路
发布于 2024-11-01 19:15:26
发布于 2024-11-01 19:15:26
3.6K0
举报
文章被收录于专栏:运维小路运维小路

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

在Linux硬件部分,我们讲阵列的时候,可以让几个硬盘组合在一起使用,但是他对硬盘有要求。在Linux里面还有其他协议可以让几个硬盘/分区组合在一起使用,并且有更灵活的用法,这就是lvm,那什么是lvm,他主要用途是啥呢?

什么是lvm

LVM(Logical Volume Manager,逻辑卷管理器)是一种在 Linux 系统上管理磁盘存储的高级工具。它允许用户管理和控制存储设备,通过创建逻辑卷(Logical Volumes,LVs)和卷组(Volume Groups,VGs),来更灵活地管理存储空间的分配和使用。

lvm基本概念

物理卷(Physical Volume,PV):物理卷是 LVM 管理的基本单元,通常是一个磁盘分区或整个物理磁盘。物理卷必须先初始化为 LVM 格式才能被 LVM 管理。

卷组(Volume Group,VG):卷组是由一个或多个物理卷组成的逻辑集合。卷组提供了一个抽象层,使得多个物理卷能够被统一管理和分配。

逻辑卷(Logical Volume,LV):逻辑卷是卷组内的虚拟分区,它们可以被格式化成文件系统,并像物理磁盘上的分区一样使用。逻辑卷的大小和数量可以根据需要动态调整。

简单来说就是pv就是原始硬盘,vg就是把几个原始硬盘组合到一起,lv就是把组合到一起硬盘划分出来使用。

创建lvm

1.安装lvm命令

代码语言:javascript
复制
yum install lvm2

2.准备磁盘

代码语言:javascript
复制
#准备了一个裸盘,一个分区
[root@localhost ~]# fdisk -l
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x67aa216a

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   83  Linux

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

2.创建pv

代码语言:javascript
复制
#由于sdb1是分区,所以提示需要擦除。
#所以这里用裸盘比较合适
[root@localhost ~]# pvcreate /dev/sdb1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.

3.创建vg

代码语言:javascript
复制
[root@localhost ~]# vgcreate myvg /dev/sdb1
  Volume group "myvg" successfully created
[root@localhost ~]# vgextend myvg /dev/sdc
  Volume group "myvg" successfully extended
#先创建vg,然后往vg里面加pv或者说磁盘

4.创建lv

代码语言:javascript
复制
[root@localhost ~]# lvcreate -L 10G -n mylv myvg
  Logical volume "mylv" created.

5.格式化&挂载

代码语言:javascript
复制
mkfs.ext4 /dev/myvg/mylv
mkdir /test
mount /dev/myvg/mylv /test

6.扩容&缩容

注意:这里扩容只是增加lv大小,实际到文件系统还需要再进行操作。另外就是ext4和xfs可以扩容,但是xfs还可以缩容。

无论是缩容lvm还是磁盘需要慎重。

代码语言:javascript
复制
[root@localhost ~]# lvextend -L +2G /dev/myvg/mylv
Size of logical volume myvg/mylv changed from 10.00 GiB (2560 extents) to 12.00 GiB (3072 extents).
Logical volume myvg/mylv successfully resized.
代码语言:javascript
复制
[root@localhost ~]# lvreduce -L -2G /dev/myvg/mylv
WARNING: Reducing active and open logical volume to 10.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvg/mylv? [y/n]: y      
Size of logical volume myvg/mylv changed from 12.00 GiB (3072 extents) to 10.00 GiB (2560 extents).
Logical volume myvg/mylv

总结

1.无论是分区还是磁盘都可以作为lv加入到lvm里面使用,但是原始里面的是数据会丢失。

2.lvm一句话概括就是创建pv,组成vg,然后再分成lv使用。

3.这里只简单写了lvm的基本创建和使用功能,里面还有很多命令并没有讲。

4.在centos7安装过程中,在磁盘分区的时候,如果不对磁盘做任何操作,默认就是以lvm格式安装操作系统。

5.有些分布式系统,对文件系统是有一定要求的,lvm是不满足要求的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档