环境使用RHEL9学员练习机:servera和serverb
概述
在传统的分区方案中,如果某个分区的空间不足了,想增加空间是比较难得。传统的分区类似Windows上的简单卷,简单卷虽然也有扩展卷的功能,但是扩展的对象只能来自于同一块硬盘的空闲空间,如果硬盘的空间的不足,我们多添加一块硬盘则无法扩展。
逻辑卷的特点
- 使用逻辑卷管理器LVM系统创建逻辑存储卷
- 可以在不停止应用或卸载文件系统的前提下动态调整大小
创建逻辑卷的步骤
- fdisk 分区或添加硬盘
- pvcreate 将分区或硬盘转化为物理卷
- vgcreate 创建卷组
- lvcreate 创建逻辑卷
- 格式化逻辑卷
- 挂载
pvcreate常见参数
用于创建物理卷设备
参数 | 作用 |
---|---|
-f | 强制创建物理卷不提示 |
pvscan常见参数
扫描系统中的连接的所有硬盘,列出物理卷列表
参数 | 作用 |
---|---|
-n | 列出还未被卷组使用的物理卷 |
-u | 显示UUID |
-e | 显示已被卷组使用的物理卷 |
vgcreate常见参数
创建卷组设备
参数 | 作用 |
---|---|
-l | 设置卷组上允许创建的最大逻辑卷数 |
-p | 设置卷组上允许添加的最大物理卷数 |
-s | 设置卷组中物理卷的PE大小 |
vgdisplay常见参数
显示卷组的信息,包含PE大小、容量、名称等信息
参数 | 作用 |
---|---|
-A | 显示卷组属性信息 |
-s | 使用短格式输出 |
lvcreate常见参数
创建逻辑卷
参数 | 作用 |
---|---|
-L | 指定逻辑卷的大小 |
-m | 创建镜像逻辑卷 |
-n | 指定逻辑卷名 |
-T | 创建精简逻辑卷(不可扩容) |
-s | 为指定逻辑卷创建镜像卷 |
lvresize常见参数
创建逻辑卷
参数 | 作用 |
---|---|
-L | 指定逻辑卷的大小 |
添加虚拟硬盘
给servera添加一块5G的虚拟硬盘
systemctl poweroff # 先关机
virt-manager # 打开虚拟机管理器
查看刚刚添加的硬盘
lsblk
划分5个1G的分区
物理卷PV管理
创建物理卷PV
pvcreate /dev/vde{1..3} # 代表将连续的vde1、vde2、vde3创建为物理卷
# 或
pvcreate /dev/vde1 /dev/vde2 /dev/vde3
卷组VG管理
创建物理卷PV
vgcreate VGFirst /dev/vde{1..3} # 将连续的三个物理卷组成卷组
# 或
vgcreate VGFirst /dev/vde1 /dev/vde2 /dev/vde3
查看物理扩展
PE的意思是物理扩展,是分配给逻辑卷的最小单位,逻辑卷的大小是PE的整数倍
vgdisplay VGFirst
逻辑卷LV管理
创建逻辑卷LV
lvcreate -L 1G -n lvfirst VGFirst
扩容逻辑卷
lvresize -L +500M /dev/VGFirst/lvfirst
格式化挂载
查看逻辑卷的名称
lvdisplay
格式化为ext4格式
mkfs.ext4 /dev/VGFirst/lvfirst
挂载
mkdir /mnt/lvfrist
mount /dev/VGFirst/lvfirst /mnt/lvfrist
我们发现文件系统名称变了,起始这只是一个链接文件
ll /dev/mapper/VGFirst-lvfirst
测试读写
echo hhhh >> /mnt/lvfrist/hhhh.txt
扩展逻辑卷
vextend -L +500 /dev/VGFirst/lvfirst
可以发现没有变化,这时候需要重新定义文件系统大小
ext文件系统
:resize2fs /dev/xxxxfs文件系统
:xfs_growfs /dev/xx
resize2fs /dev/VGFirst/lvfirst
增删改查
以下使用serverb做实验
增删的规则的自底向上,如下图所示。当需要给卷组增加空间,则首先需要物理卷有空余空间,那物理卷需要空余空间,则需要有空余的物理磁盘。
物理磁盘的增删
增加物理磁盘
目前已经存在3块全新的虚拟磁盘
删除物理磁盘
可以通过虚拟机管理器移除磁盘
查看物理磁盘
lsblk
物理卷的增删改查
物理卷的常用命令
命令 | 作用 |
---|---|
pvchange | 改变物理卷的分配许可 |
pvmove | 将物理卷上的硬盘移动到另一个物理卷 |
pvresize | 调整物理卷的容量大小 |
pvscan | 列出只有的物理卷列表 |
pvremove | 删除物理卷 |
pvck | 检测物理卷的LVM元数据一致性 |
pvdisplay | 显示物理卷的属性 |
pvs | 格式化输出物理卷信息报表,显示物理卷的概要信息 |
增加物理卷
创建物理卷
pvcreate /dev/vdb /dev/vdc
删除物理卷
pvremove /dev/vdc
查询物理卷
pvs # 格式化输出物理卷信息报表,只显示概要信息
pvscan # 扫描系统中的所有硬盘,列出物理卷列表
pvdisplay # 详细显示物理卷信息
卷组的增删改查
卷组的常用命令
命令 | 作用 |
---|---|
vgcfgbackup | 备份卷组的元数据,未指定卷组则备份所有的卷组 |
vgconvert | 转换指定LVM卷组的元数据格式 |
vgextend | 扩展卷组设备,可以将指定物理卷加入卷组中 |
vgmerge | 合并两个现有的卷组 |
vgrename | 重命名卷组 |
vgcfgrestore | 从一个文件中恢复卷组的元数据 |
vgimport | 导入卷组 |
vgs | 显示卷组信息 |
vgchange | 修改卷组属性,用来设置卷组是处于活动状态(无法被删除)还是非活动的状态 |
vgscan | 查找当前系统中存在的LVM卷组,并显示找到的卷组列表 |
vgexport | 导出卷组 |
vgremove | 删除卷组 |
vgsplit | 从源卷组移动到新的卷组中 |
增加卷组
vgcreate vgone /dev/vdb
修改卷组
根据由下向上原则,需要先添加物理卷,然后在扩容卷组
pvcreate /dev/vdc
vgextend vgone /dev/vdc
重命名卷组
vgrename vgone vgfirst
修改卷组属性
vgchange -an vgfirst # 将卷组状态设置:不活动
vgchange -ay vgfirst # 将卷组状态设置:活动
合并卷组
pvcreate /dev/vdd # 创建物理卷
vgcreate vgtwo /dev/vdd # 创建卷组vgtwo
vgmerge -v vgfirst vgtwo # 将vgtwo卷组合并到vgfirst,`-v`显示过程
拆分卷组
vgsplit vgfirst vgtwo /dev/vdd # 将卷组vgfrist拆分为两个,生成新卷组vgtwo,卷组的物理卷成员是/dev/vdd
删除卷组
vgremove vgtwo
查询卷组
vgs # 显示卷组的基本信息
vgscan # 查找系统中存在的卷组,显示查找到的卷组列表
vgdisplay # 详细显示卷组的信息
逻辑卷的增删改查
逻辑卷的常用命令
参数 | 作用 |
---|---|
lvchange | 更改逻辑卷属性 |
lvdisplay | 显示逻辑卷的空间大小、读写状态和快照信息 |
lvextend | 扩展逻辑卷,无法缩小空间 |
lvresize | 调整逻辑卷空间大小,包括增大和缩小空间 |
lvreduce | 减少逻辑卷占用的空间大小 |
lvremove | 删除指定逻辑卷,如果已经挂载则需要卸载后才可以删除 |
lvrename | 更改逻辑卷名称 |
lvs | 列出逻辑卷的信息 |
lvscan | 扫描当前系统存在的所有逻辑卷 |
增加逻辑卷
创建逻辑卷
lvcreate -n lvone -L 1G vgfirst
创建精简逻辑卷
精简逻辑卷并不会一开始就分配所需空间,而是根据用户实际使用多少来分配空间
lvcreate -T -n lvsim -L 1G vgfirst
创建镜像逻辑卷
将逻辑卷复制到其他硬盘或存储设备来创建一个完全相同的副本
lvcreate -m1 -L 1G -n lvmirror vgfirst # 创建1个1G的镜像逻辑卷,归属卷组为vgfirst
修改逻辑卷
扩展逻辑卷
lvextend -L +1G /dev/vgfirst/lvone # 在lvone的基础上增加1G空间
# 在扩展逻辑卷后如果空间没有发生变化,则resize2fs /dev/vgfirst/lvone 重新加载文件系统大小
# 或
lvextend -L 2G /dev/vgfirst/lvone # 将lvone增容到2G
缩小逻辑卷
lvresize -L -500 /dev/vgfirst/lvone # 减少500MB空间,默认单位为MB
更改逻辑卷的名称
lvrename /dev/vgfirst/lvone lvfirst
创建逻辑卷快照
lvcreate -s -n lvsnap --size 2G vgfirst/lvfirst # 为lvfirst创建快照,快照名为lvsnap,需要指定快照的大小
删除逻辑卷快照
lvremove /dev/vgfirst/lvsnap
删除逻辑卷
lvremove /dev/vgfrist/lvfirst
查询逻辑卷
lvs # 显示逻辑卷上简要信息
lvscan # 扫描当前系统中存在的所有逻辑卷,并显示出来
lvdisplay # 显示逻辑卷的空间大小、读写状态和快照信息等属性