Linux创建逻辑卷并扩容(超详细)

目录

​编辑

一、概念解析

1、LV逻辑卷

2、PV物理卷

3、VG卷组

二、扩容前准备

三、创建逻辑卷并扩容

1、打开虚拟机

2、进入root用户

3、查看新加入的硬盘

4、创建主分区

5、创建物理卷

6、打包为一个卷组

7、创建逻辑卷

8、格式化逻辑卷

9、挂载逻辑卷--开机自启动挂载(永久挂载)

10、逻辑卷扩容


一、概念解析

1、LV逻辑卷

LV(Logical Volume,逻辑卷)是Linux系统中的一种逻辑卷,它是在物理卷(PV)和卷组(VG)之上创建的,可以动态地调整大小和迁移数据。通常,LV被格式化为文件系统,以提供高级别的数据管理和访问方式。LV提供了更好的灵活性和可用性,可以根据需要增加或减少存储空间,同时提供了数据冗余和恢复功能。在Linux系统中,LVM(Logical Volume Manager,逻辑卷管理)为LV提供了管理和配置工具。

2、PV物理卷

PV(Physical Volume)物理卷是在LVM(Logical Volume Manager)中使用的一个概念,它表示一个硬盘或分区。在LVM中,多个PV物理卷可以组成一个VG(Volume Group)卷组,VG卷组则可以被分成多个LV(Logical Volume)逻辑卷。PV物理卷通常使用命令pvcreate来创建,之后可以使用vgextend命令将其添加到VG卷组中。

3、VG卷组

VG是Linux中的卷组(Volume Group)的缩写。VG是逻辑卷(Logical Volumes)的基础,它将一个或多个物理卷(Physical Volumes)组合在一起,形成一个单一的卷组。VG提供了一种灵活的方式,来管理一个或多个物理硬盘驱动器的存储空间。VG中的所有物理卷都必须属于同一系统,并且必须使用相同的块大小。VG可以被划分成多个逻辑卷(Logical Volumes),每个逻辑卷都可以被格式化为一个文件系统,或被用作其他用途,如MySQL数据目录等。

二、扩容前准备

笔者这里做的操作是先创建一个逻辑卷,然后在对这个逻辑卷扩容,这里是先创建5G的逻辑卷,然后在将这个5g逻辑卷扩容到10G,因为原来的硬盘已经全部分完,所以在这里我选择了接着添加硬盘,为了方便看出细节,笔者没有选择直接添加10G的硬盘,选择了添加两个5G的硬盘进行操作和扩容

添加一个硬盘

选择SCSI

创建新虚拟磁盘

选择大小5G,这里可以根据自己的需求进行改变

这样之后我们就会得到一个5G的硬盘,再重复一次操作,我们可以得到两个这样的硬盘,最终结果如下图

三、创建逻辑卷并扩容

1、打开虚拟机

这里应该没什么说的了吧

2、进入root用户

bash 复制代码
su root

3、查看新加入的硬盘

bash 复制代码
lsblk

我们可以看到我们刚刚加进去的两个5G的硬盘

4、创建主分区

在创建LVM逻辑卷之前我们需要先创建主分区

使用 fdisk /dev/sdb 创建主分区。注意:我这里是新添的两块硬盘,所以此操作要执行两次,只是硬盘名不一样。依次输入 n , p, 1, 然后回车回车,输入w后保存。

注意下行命令sdb哪里需要和上边我们查看到的空硬盘名字一致,先对其中一个创建主分区,在对另一个创建,步骤都是一样的。

bash 复制代码
fdisk /dev/sdb

依次输入n,p,1,然后两次回车选择默认大小

然后输入w进行保存

同样的方法在对sdc执行一下,我们要将两个盘都创建主分区

5、创建物理卷

下面一条语句是创建物理卷的命令,注意刚刚那个过程,其中的编号我们选择的是1,所以sdb变成主分区之后是sdb1,sdc变成sdc1,如果你写的是其他的数字就会显示其他的。

如果你还不确定你是什么的情况下,可以在执行一下lsblk进行查看

bash 复制代码
lsblk

这里就是我们刚刚的主分区
关于这里我们之前填的数字1,2,3之类的在解释一下吧,这里的话就类似我们windows系统一样,1就相当于C盘,2相当于D盘这个意思,一般我们新的硬盘都是从1开始,比如我们有一个20G的硬盘,在第一次创建主分区的时候我们输入1

就是这里,我们可以自定义这个分区的大小,他给的有一个范围2048-10485759,第一处问的是从哪里开始,第二处问从哪里结束,我们所选择默认就是从2048开始,到10485759结束,其实我们可以自定义第一块给5G,那么第二块可以给15G,就相当于我们windows系统c盘给了5G,D盘给了15G,这里如果不懂的话也不影响接下来的操作,尽量还是理解的好

bash 复制代码
 pvcreate /dev/sdb1 /dev/sdc1

我们的物理卷已经创建成功了。

6、打包为一个卷组

  • 格式:vgcreate+卷组名+设备1+设备2+设备...

卷组的名字随便起,笔者是随便打了几个字母

bash 复制代码
vgcreate ysh /dev/sdb1 /dev/sdc1

查看一下我们打包的卷组

bash 复制代码
vgdisplay ysh

可以看到我们有9.99G的空间

7、创建逻辑卷

  • 格式:lvcreate -L 指定的大小 -n 指定的逻辑卷名 卷组名

第一个ysh是我当前逻辑卷的名字,第二个是之前的卷组名字,这里可以参考上边格式就能理解

bash 复制代码
lvcreate -L +5G -n ysh ysh

查看我们创建的逻辑卷

bash 复制代码
lvdisplay /dev/ysh/ysh

8、格式化逻辑卷

  • 格式:mkfs.xfs+创建的LVM卷组
bash 复制代码
mkfs.xfs /dev/ysh/ysh

9、挂载逻辑卷--开机自启动挂载(永久挂载)

//开机自启动挂载的方式不是唯一的,这里使用的是blkid-UUID的方法

//使用 mkdir 建立一个挂载的目录 mkdir /ysh

//使用blkid查看自己的UUID编码,然后复制最下面的UUID编码,不要双引号。

创建挂载目录,这里名字自己起

bash 复制代码
mkdir /ysh

查看blkid-UUID

bash 复制代码
blkid

注意最后一个是的UUID

现在吧UUID复制一下,保存

a99e6802-1cc8-4e9c-88d2-fd301e078ed5

注意不要复制到双引号

//编辑vim /etc/fstab 然后把/boot那一行的格式复制在最下面,把UUID替换为刚刚复制的UUID,把/boot换成自己的挂载目录,保存退出

bash 复制代码
vim /etc/fstab

添加这条语句,将UUID换成自己的,将/ysh换成自己刚刚创建的目录

UUID=a99e6802-1cc8-4e9c-88d2-fd301e078ed5 /ysh xfs defaults 0 0

//使用 mount -a 命令刷新,然后 df -h 查看

//挂载成功,大小为5G接下来可以进行扩容,然后也可以不扩容,看自己需求

bash 复制代码
mount -a
bash 复制代码
df -h

可以看到逻辑卷创建成功

10、逻辑卷扩容

需要手动操作

bash 复制代码
lvextend -L +4.9G /dev/ysh/ysh 
xfs_growfs /dev/ysh/ysh
df -h

执行上列命令就可以了

如果出现下列报错的话,我们看保存信息,5G需要1280内存块,但是我们只有1278。所以把5G改成4.9G就ok了。如果还不行就在该小点。

好啦,大功告成,完结散花

相关推荐
Karoku06639 分钟前
【CI/CD】CI/CD环境搭建流程和持续集成环境配置
运维·ci/cd·docker·容器·kubernetes·prometheus
夜泉_ly42 分钟前
MySQL -安装与初识
数据库·mysql
qq_529835352 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
Nerd Nirvana3 小时前
软考—系统架构设计(案例 | 论文)
linux·系统架构·软件工程·软考·计算机基础
勤奋的凯尔森同学4 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
月光水岸New4 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6754 小时前
数据库基础1
数据库
我爱松子鱼4 小时前
mysql之规则优化器RBO
数据库·mysql
丁卯4045 小时前
Go语言中使用viper绑定结构体和yaml文件信息时,标签的使用
服务器·后端·golang
chengooooooo5 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库