LVM(Logical Volume Manager)是一种在Linux系统中管理磁盘和存储的工具。它允许您创建、调整大小、合并和管理逻辑卷(Logical Volumes),以及在运行时管理文件系统。
1·物理卷(Physical Volumes):物理卷是LVM中最底层的组成部分,它可以是硬盘、分区或者RAID组。您可以使用pvcreate
命令将物理设备初始化为物理卷。
pvcreate /dev/sdb1 # 初始化/dev/sdb1为物理卷
pvdisplay # 显示物理卷信息
2·卷组(Volume Group):卷组是由一个或多个物理卷组成的逻辑单元。您可以使用vgcreate
命令创建卷组,并使用vgextend
命令将物理卷添加到现有的卷组中。
vgcreate myvg /dev/sdb1 # 创建名为myvg的卷组,并将/dev/sdb1添加到其中
vgextend myvg /dev/sdc1 # 将/dev/sdc1添加到名为myvg的卷组中
vgdisplay # 显示卷组信息
3·逻辑卷(Logical Volume):逻辑卷是从卷组分配的逻辑存储空间,类似于传统的分区。您可以使用lvcreate
命令创建逻辑卷,并使用lvextend
命令调整逻辑卷的大小。
lvcreate -L 10G -n mylv myvg # 在myvg卷组中创建名为mylv的10GB逻辑卷
lvextend -L +5G /dev/myvg/mylv # 将mylv逻辑卷的大小增加5GB
lvdisplay # 显示逻辑卷信息
4·文件系统:在逻辑卷上创建文件系统,就可以在其上存储和管理文件数据。您可以使用常见的文件系统工具(例如mkfs
和resize2fs
)来创建和调整大小文件系统。
mkfs.ext4 /dev/myvg/mylv # 在mylv逻辑卷上创建ext4文件系统
resize2fs /dev/myvg/mylv # 调整mylv逻辑卷上的文件系统大小
接下来我来带大家演示一下
首先我们自己先在自己的虚拟机上添加一块磁盘,便于我们后续的操作
登录服务器后,在我们系统中去查看磁盘的情况,下图所示我们可以看见我们刚刚创建的磁盘
这个时候我们根据自己情况去进行分区,当然我只是实验效果就加了5G的空间,执行fdisk命令进行分区
fdisk /dev/nvme0n2
执行完fdisk分区后,按下m看下各个指令的参数意思
命令 命令说明
a 切换可引导标志
b 编辑bsd磁盘标签
c 切换dos兼容性标志
d 删除分区
g 创建一个新的空GPT分区表
G 创建一个IRIX(SGI)分区表
l 列出已知的分区类型
m 打印此菜单
n 添加一个新分区
o 创建一个新的空DOS分区表
p 打印分区表
q 退出而不保存更改
s 创建一个新的空Sun磁盘标签
t 更改分区的系统id
u 更改显示/输入单位
v 验证分区表
w 将表写入磁盘并退出
x 额外功能(仅限专家)
接下来我们来创建分区
我这里是一路回车,因为我只创建了5G的磁盘,所以在这里就是5G大小的一块分区
具体分区的详细配置还得看fdisk的详细配置,这里过程就略过
接下来就是一系列的创建lvm的过程,我把命令打在下方,也把截图放在下方,便于大家参考
pvcreate /dev/nvme0n2
vgcreate vg1 /dev/nvme0n2
lvcreate -L 1G -n lv1 /dev/vg1
这里在查看的时候与上面的nvme0n1不同的是后面少了些什么,接下来就是最后一步,我们的lvm就算是彻底完成了,格式化的方式有两种,开头有解释,大家根据需求来格式化
mkfs.xfs /dev/vg1/lv1
格式化完接下来就剩一步挂载了,我们创建一个挂载目录去进行挂载
mkdir /data
mount /dev/vg1/lv1 /data
再进行查看就没有问题了,此时我们的lvm就算是创建完成了,但是根据自己的需求去创建分区的时候需要大家去学习一下,本篇将这个过程给略掉了,因为再加上的话本篇文章会很长,这时,我们的lvm制作完成,接下来带大家来做一做扩容跟删除
(缩容的话是有风险的,一般是不会让缩容的,这里就略过了,而且xfs系统是不支持缩容的,只有etx4系统支持缩容,如果想学习缩容的话可以去搜索一下,因为风险较高本篇就跳过)
扩容的过程大概就是这个样子
lvextend -L +512m /dev/vg1/lv1
xfs_growfs /dev/vg1/lv1 #这个命令是刷新的作用
删除的步骤如下:
(重点的是创建的时候是pv--vg--lv,到删除的时候就是lv--vg--pv,这样来删除的,不然的话会报错,**另外还要取消挂载噢,不然的话也是会有报错滴,下图有演示:)
umount /dev/vg1/lv1 /data
lvremove /dev/vg1/lv2
vgremove /dev/vg1
pvremove /dev/nvme0n2
到这里大概得一些常用的操作就在这里了,我没有系统性的去给大家查阅资料,都是以我自己的一个理解去给大家解释的,应该是很好理解的吧,如果有需要改进或者补充的,大家请留言或者私信我,我来进行改正,一起学习!!!