逻辑卷配置与管理
1.磁盘分区
首先需要添加一块硬盘
后续界面直接默认下一步直到完成!然后重启一下系统
然后会发现增加了一块大小为20G的硬盘
开机,开始进行分区操作
首先查看一下添加的硬盘是否被系统识别到
[root@localhost ~]# fdisk -l //使用fdisk工具加上-l选项来查看磁盘的情况
Disk /dev/nvme0n1:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual NVMe Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:35C85EA8-CF22-4F0E-9A1A-1D993A058485
设备 起点 末尾 扇区 大小 类型
/dev/nvme0n1p1 2048 1230847 1228800 600M EFI 系统
/dev/nvme0n1p2 1230848 3327999 2097152 1G Linux 文件系统
/dev/nvme0n1p3 3328000 41940991 38612992 18.4G Linux LVM
Disk /dev/mapper/rhel-root:16.41 GiB,17620271104 字节,34414592 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
Disk /dev/mapper/rhel-swap:2 GiB,2147483648 字节,4194304 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区 //这个位置可以发现是我们刚刚添加的20G大小的硬盘,设备名为/dev/sda
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]#
可以发现新添加的设备是/dev/sda
,所以接下来的操作都是对于这个路劲操作的
在fdisk分区工具中,可以先使用m
指令查看一下所有命令的帮助信息
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x1873d79c 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):m
帮助:
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表
命令(输入 m 获取帮助):
先创建一个容量为5G的主分区,然后查看验证
命令(输入 m 获取帮助):n //指令n添加新分区
分区类型
p 主分区 (0 primary, 0 extended, 4 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p //指令p表示添加一个主分区
分区号 (1-4, 默认 1): 1 //指令1表示分区号为1,也可以默认不填
第一个扇区 (2048-41943039, 默认 2048): //扇区起始位置,默认回车即可
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): +5G //指定新添加分区容量大小
创建了一个新分区 1,类型为“Linux”,大小为 5 GiB。
命令(输入 m 获取帮助):p //指令p打印分区表,查看一下刚才的动作是否生效
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1873d79c
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 2048 10487807 10485760 5G 83 Linux
继续创建第2个主分区,容量为3G,然后查看验证
命令(输入 m 获取帮助):n
分区类型
p 主分区 (1 primary, 0 extended, 3 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (2-4, 默认 2):
第一个扇区 (10487808-41943039, 默认 10487808):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (10487808-41943039, 默认 41943039): +3G
创建了一个新分区 2,类型为“Linux”,大小为 3 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1873d79c
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 2048 10487807 10485760 5G 83 Linux
/dev/sda2 10487808 16779263 6291456 3G 83 Linux
命令(输入 m 获取帮助):
继续创建扩展分区,然后验证查看,将剩余未分区的空间全部分给扩展分区
命令(输入 m 获取帮助):n
分区类型
p 主分区 (2 primary, 0 extended, 2 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):e
分区号 (3,4, 默认 3):
第一个扇区 (16779264-41943039, 默认 16779264):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (16779264-41943039, 默认 41943039):
创建了一个新分区 3,类型为“Extended”,大小为 12 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1873d79c
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 2048 10487807 10485760 5G 83 Linux
/dev/sda2 10487808 16779263 6291456 3G 83 Linux
/dev/sda3 16779264 41943039 25163776 12G 5 扩展
命令(输入 m 获取帮助):
继续在扩展分区中创建两个逻辑分区,分别为8G和4G大小,不需要指定分区号,系统默认从5开始
命令(输入 m 获取帮助):n
所有主分区的空间都在使用中。
添加逻辑分区 5
第一个扇区 (16781312-41943039, 默认 16781312):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (16781312-41943039, 默认 41943039): +8G
创建了一个新分区 5,类型为“Linux”,大小为 8 GiB。
命令(输入 m 获取帮助):n
所有主分区的空间都在使用中。
添加逻辑分区 6
第一个扇区 (33560576-41943039, 默认 33560576):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (33560576-41943039, 默认 41943039):
创建了一个新分区 6,类型为“Linux”,大小为 4 GiB。
再次查看分区情况
命令(输入 m 获取帮助):p
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1873d79c
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 2048 10487807 10485760 5G 83 Linux
/dev/sda2 10487808 16779263 6291456 3G 83 Linux
/dev/sda3 16779264 41943039 25163776 12G 5 扩展
/dev/sda5 16781312 33558527 16777216 8G 83 Linux
/dev/sda6 33560576 41943039 8382464 4G 83 Linux
命令(输入 m 获取帮助):
将分区的动作进行保存退出,然后刷新分区表
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# partprobe /dev/sda
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1873d79c
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 2048 10487807 10485760 5G 83 Linux
/dev/sda2 10487808 16779263 6291456 3G 83 Linux
/dev/sda3 16779264 41943039 25163776 12G 5 扩展
/dev/sda5 16781312 33558527 16777216 8G 83 Linux
/dev/sda6 33560576 41943039 8382464 4G 83 Linux
分区完成之后可以开始配置逻辑卷了
2.创建逻辑卷
配置之前,如果有挂载的的分区记得先卸载掉!
1.将/dev/sda2
和/dev/sda6
分区类型更改为Linux LVM,也就是将分区ID改为8e,然后保存操作,刷新分区表
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):l //可以使用指令l来查看各分区类型对应的ID
00 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
01 FAT12 27 隐藏的 NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
02 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
03 XENIX usr 3c PartitionMagic 84 OS/2 隐藏 或 In c6 DRDOS/sec (FAT-
04 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
05 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
06 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
07 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
08 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
09 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
0a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
0b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
0c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 ea Linux 扩展启动
0e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
0f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f4 SpeedStor
16 隐藏的 FAT16 63 GNU HURD 或 Sys af HFS / HFS+ f2 DOS 次要
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fc VMware VMKCORE
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fd Linux raid 自动
1c 隐藏的 W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep
1e 隐藏的 W95 FAT1 80 旧 Minix be Solaris 启动 ff BBT
别名:
linux - 83
swap - 82
extended - 05
uefi - EF
raid - FD
lvm - 8E
linuxex - 85
命令(输入 m 获取帮助):t //指令t表示更改分区类型
分区号 (1-3,5,6, 默认 6): 2 //数字2表示更改分区号为2的分区
Hex 代码或别名(输入 L 列出所有代码):8e //8e表示更改后的类型id,8e就是Linux lvm类型
已将分区“Linux”的类型更改为“Linux LVM”。
命令(输入 m 获取帮助):t
分区号 (1-3,5,6, 默认 6): 6
Hex 代码或别名(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”。
命令(输入 m 获取帮助):p
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1873d79c
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 2048 10487807 10485760 5G 83 Linux
/dev/sda2 10487808 16779263 6291456 3G 8e Linux LVM
/dev/sda3 16779264 41943039 25163776 12G 5 扩展
/dev/sda5 16781312 33558527 16777216 8G 83 Linux
/dev/sda6 33560576 41943039 8382464 4G 8e Linux LVM
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# partprobe /dev/sda
[root@localhost ~]#
2.类型更改完成后,需要将物理硬盘分区初始化为物理卷,这里将分区2和6都初始化为物理卷
使用pvcreate
命令—创建物理卷设备
语法格式:pvcreate 参数 物理卷
[root@localhost ~]# pvcreate /dev/sda2 /dev/sda6
Physical volume "/dev/sda2" successfully created.
Physical volume "/dev/sda6" successfully created.
使用pvscan
命令—列出扫描到的物理卷
语法格式: pvscan [参数]
[root@localhost ~]# pvscan
PV /dev/nvme0n1p3 VG rhel lvm2 [18.41 GiB / 0 free]
PV /dev/sda2 lvm2 [3.00 GiB]
PV /dev/sda6 lvm2 [<4.00 GiB]
Total: 3 [<25.41 GiB] / in use: 1 [18.41 GiB] / in no VG: 2 [<7.00 GiB]
[root@localhost ~]# pvscan -s //-s选项表示短格式输出
/dev/nvme0n1p3
/dev/sda2
/dev/sda6
Total: 3 [<25.41 GiB] / in use: 1 [18.41 GiB] / in no VG: 2 [<7.00 GiB]
[root@localhost ~]#
3.物理卷创建好之后,需要创建卷组,并将建立好的物理卷加入到卷组里面
使用vgcreate
命令—创建卷组设备
语法格式:vgcreate 参数 卷组名 设备名
创建名为vg-group01
的卷组,并加入刚刚创建的两个物理卷,然后查看一下
使用vgdisplay
命令—查看卷组信息
语法格式:vgdisplay 参数 卷组名
[root@localhost ~]# vgcreate vg-group01 /dev/sda2 /dev/sda6
Volume group "vg-group01" successfully created
[root@localhost ~]# vgdisplay vg-group01
--- Volume group ---
VG Name vg-group01 //卷组名称
System ID
Format lvm2 //使用的格式为lvm2
Metadata Areas 2 //元数据区域的数据为2,这表示该卷组的元数据信息存储在两个物理卷
Metadata Sequence No 1 //元数据序列号为 1,用于跟踪元数据的变化
VG Access read/write //卷组的访问权限为读写(read/write)
VG Status resizable //卷组的状态为可调整大小的(resizable),意味着可以动态地调整卷组的大小
MAX LV 0 //最大逻辑卷(Logical Volume,LV)数量为 0,当前没有逻辑卷
Cur LV 0 //当前逻辑卷数量为 0,当前没有逻辑卷
Open LV 0 //当前打开的逻辑卷数量为 0,当前没有打开的逻辑卷
Max PV 0 //最大物理卷数量为 0,当前没有限制物理卷数量
Cur PV 2 //当前物理卷数量为 2,当前有 2 个物理卷
Act PV 2 //活动的物理卷数量为 2,表示这 2 个物理卷都是活动的
VG Size 6.99 GiB //卷组的总大小为 6.99 GiB,即卷组中所有物理卷的总容量
PE Size 4.00 MiB //物理区块(Physical Extent,PE)的大小为 4.00 MiB,用于分配给逻辑卷
Total PE 1790 //总的物理区块数量为 1790,是卷组中所有物理卷上物理区块的总和
Alloc PE / Size 0 / 0 //已分配的物理区块数量为 0,即没有为逻辑卷分配物理区块
Free PE / Size 1790 / 6.99 GiB //可用的物理区块数量为 1790,即可以用于分配给逻辑卷的物理区块数量
VG UUID snwFIf-7Gv3-s9nx-o252-V73Q-hbGx-Pp1dTd //卷组的唯一标识符为 snwFIf-7Gv3-s9nx-o252-V73Q-hbGx-Pp1dTd,用于在系统中唯一标识这个卷组
[root@localhost ~]#
4.卷组创建完成后,创建逻辑卷,逻辑卷是创建在卷组之上的,对应的设备文件保存在卷组目录中
使用命令lvcreate
—创建逻辑卷
语法格式:lvcreate 参数 逻辑卷
从vg-group01
卷组中创建名为databackup
容量为5G的的逻辑卷,然后查看一下详细信息
使用命令lvdisplay
—显示逻辑卷属性
语法格式:lvdisplay [参数]
[root@localhost ~]# lvcreate -L 5G -n databackup vg-group01 //选项-L表示指定逻辑卷大小,-n选项表示指定逻辑卷名称
Logical volume "databackup" created.
[root@localhost ~]# lvdisplay /dev/vg-group01/databackup
--- Logical volume ---
LV Path /dev/vg-group01/databackup
LV Name databackup
VG Name vg-group01
LV UUID 9HxTYZ-Ohyk-xATX-2Sjc-t56B-R1hH-3Q02t9
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2024-04-19 21:16:34 +0800
LV Status available
# open 0
LV Size 5.00 GiB
Current LE 1280
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
[root@localhost ~]# vgdisplay vg-group01
--- Volume group ---
VG Name vg-group01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 6.99 GiB
PE Size 4.00 MiB
Total PE 1790
Alloc PE / Size 1280 / 5.00 GiB
Free PE / Size 510 / 1.99 GiB
VG UUID snwFIf-7Gv3-s9nx-o252-V73Q-hbGx-Pp1dTd
5.逻辑卷创建完成后,还需要对其进行格式化和挂载操作之后才能使用
格式化刚刚创建的逻辑卷为ext4文件格式,创建挂载点目录/mnt/backup-data
,并完成手动挂载
[root@localhost ~]# mkfs.ext4 /dev/vg-group01/databackup //格式化逻辑卷
mke2fs 1.46.5 (30-Dec-2021)
创建含有 1310720 个块(每块 4k)和 327680 个inode的文件系统
文件系统UUID:ae41a623-0565-46b7-815a-d265f9ef8beb
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
[root@localhost ~]# mkdir /mnt/backup-data //创建挂载点目录
[root@localhost ~]# mount /dev/vg-group01/databackup /mnt/backup-data/ //将逻辑据挂载至指定目录
[root@localhost ~]# df -hT //查看一下是否挂载成功
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 775M 9.7M 765M 2% /run
/dev/mapper/rhel-root xfs 17G 4.2G 13G 26% /
/dev/nvme0n1p2 xfs 960M 260M 701M 27% /boot
/dev/nvme0n1p1 vfat 599M 7.0M 592M 2% /boot/efi
tmpfs tmpfs 388M 52K 388M 1% /run/user/42
tmpfs tmpfs 388M 36K 388M 1% /run/user/0
/dev/mapper/vg--group01-databackup ext4 4.9G 24K 4.6G 1% /mnt/backup-data
[root@localhost ~]#
自动挂载的方式
[root@localhost ~]# umount /mnt/backup-data //先卸载掉
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 775M 9.7M 765M 2% /run
/dev/mapper/rhel-root xfs 17G 4.2G 13G 26% /
/dev/nvme0n1p2 xfs 960M 260M 701M 27% /boot
/dev/nvme0n1p1 vfat 599M 7.0M 592M 2% /boot/efi
tmpfs tmpfs 388M 52K 388M 1% /run/user/42
tmpfs tmpfs 388M 36K 388M 1% /run/user/0
[root@localhost ~]# blkid /dev/vg-group01/databackup //查看一下逻辑据的唯一标识符UUID并复制
/dev/vg-group01/databackup: UUID="ae41a623-0565-46b7-815a-d265f9ef8beb" TYPE="ext4"
[root@localhost ~]# vim /etc/fstab //使用vim编辑器编辑/etc/fstab配置文件
#
# /etc/fstab
# Created by anaconda on Mon Feb 26 05:21:59 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=b38c2b83-dd86-4a78-b912-37e57089385f /boot xfs defaults 0 0
UUID=FF3B-C508 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/rhel-swap none swap defaults 0 0
UUID="ae41a623-0565-46b7-815a-d265f9ef8beb" /mnt/backup-data ext4 defaults 0 0 //在最后一排粘贴uuid,然后tab键隔开分别写入挂载点目录、文件格式、挂载选项、两个数字0表示不检查不备份
[root@localhost ~]# systemctl daemon-reload //修改配置文件后,需要重载一下
[root@localhost ~]# mount -a //然后mount -a更新一下挂载信息
[root@localhost ~]# df -hT //查看一下
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 775M 9.7M 765M 2% /run
/dev/mapper/rhel-root xfs 17G 4.2G 13G 26% /
/dev/nvme0n1p2 xfs 960M 260M 701M 27% /boot
/dev/nvme0n1p1 vfat 599M 7.0M 592M 2% /boot/efi
tmpfs tmpfs 388M 52K 388M 1% /run/user/42
tmpfs tmpfs 388M 36K 388M 1% /run/user/0
/dev/mapper/vg--group01-databackup ext4 4.9G 24K 4.6G 1% /mnt/backup-data //发现挂载完成
3.管理逻辑卷
先取消挂载,再进行管理操作
[root@localhost ~]# umount /mnt/backup-data
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 775M 9.7M 765M 2% /run
/dev/mapper/rhel-root xfs 17G 4.2G 13G 26% /
/dev/nvme0n1p2 xfs 960M 260M 701M 27% /boot
/dev/nvme0n1p1 vfat 599M 7.0M 592M 2% /boot/efi
tmpfs tmpfs 388M 52K 388M 1% /run/user/42
tmpfs tmpfs 388M 36K 388M 1% /run/user/0
3.1 vgextend-增加新的物理卷到卷组中(扩展卷组设备)
增加卷组的容量
语法格式:vgextend 参数 卷组
将之前分区好的/dev/sda1
的分区类型改为lvm,然后创建物理卷,加入至vg-group01
卷组中
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.
命令(输入 m 获取帮助):t
分区号 (1-3,5,6, 默认 6): 1
Hex 代码或别名(输入 L 列出所有代码):8e //修改分区类型为8e
已将分区“Linux”的类型更改为“Linux LVM”。
命令(输入 m 获取帮助):w
分区表已调整。
正在同步磁盘。
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1873d79c
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 2048 10487807 10485760 5G 8e Linux LVM //类型更改完成
/dev/sda2 10487808 16779263 6291456 3G 8e Linux LVM
/dev/sda3 16779264 41943039 25163776 12G 5 扩展
/dev/sda5 16781312 33558527 16777216 8G 83 Linux
/dev/sda6 33560576 41943039 8382464 4G 8e Linux LVM
[root@localhost ~]# pvcreate /dev/sda1 //创建物理卷
Physical volume "/dev/sda1" successfully created.
[root@localhost ~]# vgextend vg-group01 /dev/sda1 //将新的物理卷加入到卷组中
Volume group "vg-group01" successfully extended
[root@localhost ~]# vgdisplay vg-group01 //查看vg-group01卷组信息
--- Volume group ---
VG Name vg-group01
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size <11.99 GiB //大小为12g,之前的7g又加上5g
PE Size 4.00 MiB
Total PE 3069
Alloc PE / Size 1280 / 5.00 GiB //已经分配5g空间
Free PE / Size 1789 / <6.99 GiB //剩余7g空间可用
VG UUID snwFIf-7Gv3-s9nx-o252-V73Q-hbGx-Pp1dTd
3.2 vgreduce-从卷组中删除物理卷
减少卷组的容量
语法格式:vgreduce [参数]
将刚刚加入到vg-group01
卷组中的物理卷/dev/sda1
删除
[root@localhost ~]# vgreduce vg-group01 /dev/sda1
Removed "/dev/sda1" from volume group "vg-group01"
[root@localhost ~]# vgdisplay vg-group01
--- Volume group ---
VG Name vg-group01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 6.99 GiB //总大小还原了,减去了5g的物理卷
PE Size 4.00 MiB
Total PE 1790
Alloc PE / Size 1280 / 5.00 GiB
Free PE / Size 510 / 1.99 GiB //可用大小为2g
VG UUID snwFIf-7Gv3-s9nx-o252-V73Q-hbGx-Pp1dTd
[root@localhost ~]#
3.3 lvreduce-减少逻辑卷空间(缩容)
减少逻辑卷占用的空间
语法格式:lvreduce [参数]
将逻辑卷/dev/vg-group01/databackup
的5g大小减少为4g
[root@localhost ~]# e2fsck -f /dev/vg-group01/databackup //强制检查文件系统
e2fsck 1.46.5 (30-Dec-2021)
第 1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/vg-group01/databackup:11/327680 文件(0.0% 为非连续的), 42078/1310720 块
[root@localhost ~]# resize2fs /dev/vg-group01/databackup 4G //先使用resize2fs命令减少ext4文件系统大小为4g
resize2fs 1.46.5 (30-Dec-2021)
将 /dev/vg-group01/databackup 上的文件系统调整为 1048576 个块(每块 4k)。
/dev/vg-group01/databackup 上的文件系统现在为 1048576 个块(每块 4k)。
[root@localhost ~]# lvreduce -L -1G /dev/vg-group01/databackup //再使用lvreduce减少1g的大小,使逻辑卷更改为需求的大小
File system ext4 found on vg-group01/databackup.
File system size (4.00 GiB) is equal to the requested size (4.00 GiB).
File system reduce is not needed, skipping.
Size of logical volume vg-group01/databackup changed from 5.00 GiB (1280 extents) to 4.00 GiB (1024 extents).
Logical volume vg-group01/databackup successfully resized.
[root@localhost ~]# lvdisplay /dev/vg-group01/databackup //查看一下详细信息
--- Logical volume ---
LV Path /dev/vg-group01/databackup
LV Name databackup
VG Name vg-group01
LV UUID 9HxTYZ-Ohyk-xATX-2Sjc-t56B-R1hH-3Q02t9
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2024-04-19 21:16:34 +0800
LV Status available
# open 0
LV Size 4.00 GiB //减少完成
Current LE 1024
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
[root@localhost ~]#
3.4 lvextend-增加逻辑卷空间(扩容)
动态的扩展逻辑卷的空间,而不中断应用程序对逻辑卷的访问
语法格式 : lvextend 参数 逻辑卷
将刚刚缩容的逻辑卷的容量大小从4g扩容至6g大小
[root@localhost ~]# lvextend -L +2G /dev/vg-group01/databackup //带上选项-L 指定增加的大小
Size of logical volume vg-group01/databackup changed from 4.00 GiB (1024 extents) to 6.00 GiB (1536 extents).
Logical volume vg-group01/databackup successfully resized.
[root@localhost ~]# lvdisplay /dev/vg-group01/databackup //查看验证一下
--- Logical volume ---
LV Path /dev/vg-group01/databackup
LV Name databackup
VG Name vg-group01
LV UUID 9HxTYZ-Ohyk-xATX-2Sjc-t56B-R1hH-3Q02t9
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2024-04-19 21:16:34 +0800
LV Status available
# open 0
LV Size 6.00 GiB //扩容成功
Current LE 1536
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
3.5 vgchange-更改卷组的属性
修改卷组的属性,可以设置卷组处于活动状态或者非活动状态
语法格式:vgchange [参数]
激活逻辑卷,使其状态变为可用状态
[root@localhost ~]# vgchange -ay vg-group01 //选项-a表示设置卷组逻辑卷的可用性,y是选项参数表示激活未激活的卷组
1 logical volume(s) in volume group "vg-group01" now active
3.6 lvremove-删除逻辑卷
删除指定的逻辑卷
语法格式:lvremove [参数]
删除逻辑卷/dev/vg-group01/databackup
[root@localhost ~]# lvremove -f /dev/vg-group01/databackup //选项-f表示强制删除,不询问
Logical volume "databackup" successfully removed.
[root@localhost ~]# lvdisplay //查看一下,发现/dev/vg-group01/databackup没有了
--- Logical volume ---
LV Path /dev/rhel/swap
LV Name swap
VG Name rhel
LV UUID nV32ci-axxl-453t-gYN7-9VzV-XhL7-mCRj6M
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2024-02-26 13:21:55 +0800
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
--- Logical volume ---
LV Path /dev/rhel/root
LV Name root
VG Name rhel
LV UUID dr2iIl-Sk5y-P2t7-YIW6-7YrY-j9KD-KrfreR
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2024-02-26 13:21:55 +0800
LV Status available
# open 1
LV Size 16.41 GiB
Current LE 4201
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
[root@localhost ~]#
3.7 vgremove-删除卷组
删除指定的卷组
语法格式:vgremove [参数] 卷组名称
删除卷组vg-group01
[root@localhost ~]# vgremove vg-group01 //删除vg-group01
Volume group "vg-group01" successfully removed
[root@localhost ~]# vgdisplay //查看一下发现没有了
--- Volume group ---
VG Name rhel
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 18.41 GiB
PE Size 4.00 MiB
Total PE 4713
Alloc PE / Size 4713 / 18.41 GiB
Free PE / Size 0 / 0
VG UUID Dz3WlH-mUQM-e2U7-U1fF-E5eN-S7uo-BXEbwJ
3.8 pvremove-删除物理卷
删除指定的物理卷
语法格式:pvremove [参数]
删除之前创建的三个物理卷
[root@localhost ~]# pvscan -s //先扫描查看一下有哪些物理卷
/dev/nvme0n1p3
/dev/sda1
/dev/sda2
/dev/sda6
Total: 4 [<30.41 GiB] / in use: 1 [18.41 GiB] / in no VG: 3 [<12.00 GiB]
[root@localhost ~]# pvremove /dev/sda1
Labels on physical volume "/dev/sda1" successfully wiped.
[root@localhost ~]# pvremove /dev/sda2
Labels on physical volume "/dev/sda2" successfully wiped.
[root@localhost ~]# pvremove /dev/sda6
Labels on physical volume "/dev/sda6" successfully wiped.
[root@localhost ~]# pvscan -s //删除完成后再次查看验证操作是否成功
/dev/nvme0n1p3
Total: 1 [18.41 GiB] / in use: 1 [18.41 GiB] / in no VG: 0 [0 ]
[root@localhost ~]#
4.注意
注意:当在现实生产环境中部署LVM时,需要先依次创建物理卷、卷组、逻辑卷,再创建并挂载文件系统。当想重新部署LVM或者不需要使用LVM时,需要进行LVM的删除相关操作时,这个过程是正好相反的,为此,记得提前备份好重要的数据信息,并依次卸载文件系统,删除逻辑卷、卷组、物理卷,这个顺序不能出现错误!!!