Linux系统LVM逻辑卷管理
一. LVM逻辑卷概述
LVM(Logical Volume Manager)是基于内核的一种逻辑卷管理器,LVM适用于管理大存储设备,并允许用户动态调整文件系统大小。另外LVM快照功能可对数据进行快速备份。LVM提供了逻辑概念上的磁盘,这使得文件系统不再关心底层物理磁盘概念。(LVM将多块磁盘整合为一块磁盘,实现动态调整磁盘容量 )
使用LVM创建逻辑卷需要了解以下概念:
(1)PV物理卷:物理卷是LVM最底层概念,是LVM的逻辑存储块,多个物理卷可以合并或者拆分,从而实现容量的扩容与减缩。LVM提供命令工具将分区转换为物理卷,同过组合物理卷生成卷组(VG);
(2)VG卷组:卷组是LVM逻辑概念上的磁盘设备,通过单个或多个物理卷组合生成。卷组的大小取决于物理卷的容量和个数(实现存储模块整合,变为一块逻辑磁盘)。
(3)LV逻辑卷:逻辑卷就是LVM逻辑意义上的分区,可通过从卷组提取指定容量来创建逻辑卷(将卷组进行分区)。
(4)PE物理拓展块:将物理卷组合为卷组后,所划分的最小存储单位,即逻辑意义上磁盘最小存储单元(也叫物理长度)。LVM默认PE大小为4MB。VG最多65534个PE拓展块,它限制了vg最大值。
LVM整体讲就是,将物理磁盘分区转换为LVM物理卷(PV),多个物理卷组合为卷组(VG),从卷组中提取存储空间做为LV(逻辑卷),最后将逻辑卷挂载到某个挂载点目录进行使用。
相关命令:将普通分区转换为物理卷使用pvcreate,将物理卷组合为卷组使用vgcreate,从卷组中提取容量创建逻辑卷使用lvcreate。创建完成后分别使用pvdisplay、vgdisplay、lvdisplay。
二、LVM配置相关命令
2.1物理卷阶段
(1)pvscan:扫描系统中连接的所有硬盘,列出找到的物理卷列表
主要参数:
-d:调试模式;
-e:仅显示属于输出卷组的物理卷;
-n:仅显示不属于任何卷组的物理卷;
-s:短格式输出;
-u:显示UUID。
(2)pvcreate:将物理硬盘分区初始化为物理卷
主要参数:
-f:强制创建物理卷,不需要用户确认;
-u:指定设备的UUID;
-y:所有的问题都回答“yes”;
-Z:是否利用前4个扇区。
(3)pvdisplay:显示物理卷的属性,包括物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID等。
(4)pvremove: 删除pv卷
主要参数
-d:调试模式
-f:强制删除
-y:对提问回答yes
2.2卷组阶段
(1)vgcreate:创建卷组
主要参数:
-l:卷组上允许创建的最大逻辑卷数
-p:卷组中允许添加的最大物理卷数
-s:卷组上的物理卷的PE大小
(2)vgscan:查找系统中存在的LVM卷组,并显示找到的卷组列表
(3)vgdisplay:用于显示LVM卷组的信息
主要参数:
-A:仅显示活动卷组的属性
-s:使用短格式输出的信息
(4)vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量
主要参数:
-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷
--removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态
(5)vgchange:修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,必须使用vgchange命令将卷组设置为非活动状态后才能删除。
主要参数:
-a:设置卷组的活动状态
(6)vgremove:用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,防止误删除数据。
主要参数:
-f:强制删除
2.3LV阶段
(1)lvcreate:创建LVM的逻辑卷
主要参数:
-L:指定逻辑卷的大小,单位bskmgtpe及对应大写BSKMGTPE等;
-l:指定逻辑卷的大小,指定PE个数
-n:指定逻辑卷名称
(2)lvscan:扫描当前系统中存在的所有的LVM逻辑卷
主要参数:
-b:显示逻辑卷的主设备和次设备号
(3)lvdisplay:用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性
(4)lvremove:用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。必须使用umount命令卸载后,逻辑卷方可被删除。
(5)lvreduce:用于减少LVM逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。
主要参数:
-L:指定逻辑卷的大小,单位bskmgtpe及对应大写BSKMGTPE等;
-l:指定逻辑卷的大小,指定PE个数
(1)lvextend:用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。
主要参数:
-L:指定逻辑卷的大小,单位bskmgtpe及对应大写BSKMGTPE等;
-l:指定逻辑卷的大小,指定PE个数
三、LVM创建流程
LVM创建流程,就是将物理磁盘分区转换为LVM物理卷(PV),多个物理卷组合为卷组(VG),从卷组中提取存储空间做为LV(逻辑卷),最后将逻辑卷挂载到某个挂载点目录进行使用。
详细步骤如下:
(1)对新加硬盘进行分区,并将格式改为8e linux lvm,fdisk /dev/sdb;
(2)重新读取分区表,partprobe /dev/sdb;
(3)创建物理卷,将磁盘转换为pv物理卷,pvcreate /dev/sdb{1,2,3,5};
(4)创建卷组,将这四个分区整合为VG总卷组,并对这个总卷组起名叫vg1,vgcreate vg1 /dev/sdb{1,2,3,5};
(5)创建逻辑卷lvcreate -L 2G -n lv1 vg1 #-L指定分区大小;-n指定这个分区名称;
(6)格式化逻辑卷,mkfs -t ext4 /dev/vg1/lv1 #将vg1卷组里的lv1分区格式化为ext4格式的分区
(7)创建一个挂载点,mkdir /mnt
(8)挂载使用mount -t ext4 /dev/vg1/lv1 /mnt 将这个分区挂载到/mnt
(9)查看挂载状态df -h 会提示/mapper,代表这是一个LVM。
四、LVM实例
4.1创建LVM
使用10G的/dev/sdb磁盘,划分为四个2G分区,创建一个名为vg_test的卷组,然后从卷组中提取空间,创建2个大小分别为3G的逻辑卷,名称分别为lv_test1、lv_test2.
(1)使用fdisk对磁盘进行分区
############################################################################
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0001038f
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5f024b01
设备 Boot Start End Blocks Id System
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
磁盘 /dev/sdc:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
# Start End Size Type Name
磁盘 /dev/mapper/cl-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/cl-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (4196352-20971519,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (8390656-20971519,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-20971519,默认为 20971519):+2G
分区 3 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (12584960-20971519,默认为 12584960):
将使用默认值 12584960
Last 扇区, +扇区 or +size{K,M,G} (12584960-20971519,默认为 20971519):
将使用默认值 20971519
分区 4 已设置为 Extended 类型,大小设为 4 GiB
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (12587008-20971519,默认为 12587008):
将使用默认值 12587008
Last 扇区, +扇区 or +size{K,M,G} (12587008-20971519,默认为 20971519):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5f024b01
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 8390655 2097152 83 Linux
/dev/sdb3 8390656 12584959 2097152 83 Linux
/dev/sdb4 12584960 20971519 4193280 5 Extended
/dev/sdb5 12587008 16781311 2097152 83 Linux
命令(输入 m 获取帮助):l #显示文件系统类型分区编号,LVM为8e
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
命令(输入 m 获取帮助):t
分区号 (1-5,默认 5):1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):t
分区号 (1-5,默认 5):2
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):t
分区号 (1-5,默认 5):3
Hex 代码(输入 L 列出所有代码):8e
已将分区“AIX”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):t
分区号 (1-5,默认 5):5
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5f024b01
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 8e Linux LVM
/dev/sdb2 4196352 8390655 2097152 8e Linux LVM
/dev/sdb3 8390656 12584959 2097152 8e Linux LVM
/dev/sdb4 12584960 20971519 4193280 5 Extended
/dev/sdb5 12587008 16781311 2097152 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0001038f
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5f024b01
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 8e Linux LVM
/dev/sdb2 4196352 8390655 2097152 8e Linux LVM
/dev/sdb3 8390656 12584959 2097152 8e Linux LVM
/dev/sdb4 12584960 20971519 4193280 5 Extended
/dev/sdb5 12587008 16781311 2097152 8e Linux LVM
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
磁盘 /dev/sdc:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
# Start End Size Type Name
磁盘 /dev/mapper/cl-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/cl-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]# ############################################################################
(2)重新读取分区表
[root@localhost ~]# partprobe /dev/sdb
(3)pvcreate、pvdisplay创建物理卷并查看结果
############################################################################
[root@localhost ~]# pvcreate /dev/sdb{1,2,3,5} #出来选项选y
[root@localhost ~]# pvdisplay
############################################################################
(4)vgcreate、vgdisplay创建卷组并查看结果
############################################################################
[root@localhost ~]# vgcreate vg_test /dev/sdb{1,2,3,5}
[root@localhost ~]# vgdisplay
############################################################################
(5)lvcreate、lvdisplay创建逻辑卷并查看结果
############################################################################
[root@localhost ~]# lvcreate -n lv_test1 -L 3G vg_test
[root@localhost ~]# lvcreate -n lv_test2 -l 768 vg_test
[root@localhost ~]# lvdisplay
注:-L指定容量大小;-l指定pe个数,一个pe默认4MB。
############################################################################
(6)格式化并挂载
############################################################################
[root@localhost ~]# mkfs.xfs /dev/vg_test/lv_test1
[root@localhost ~]# mkfs.xfs /dev/vg_test/lv_test2
[root@localhost ~]# mkdir /mnt/{test1,test2}
[root@localhost ~]# mount /dev/vg_test/lv_test1 /mnt/test1
[root@localhost ~]# mount /dev/vg_test/lv_test2 /mnt/test2
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root 17G 1.1G 16G 7% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/mapper/vg_test-lv_test1 3.0G 33M 3.0G 2% /mnt/test1
/dev/mapper/vg_test-lv_test2 3.0G 33M 3.0G 2% /mnt/test2
[root@localhost ~]#
完成!
############################################################################
4.2LVM扩容
(接4.1案例)随着业务数据量增加,磁盘空间需求量增加。
方式一:通过使用既有剩余卷组,对LVM分区进行修改
将lv_test1扩容到4G。将vg_test剩余卷组划分给逻辑卷。
(1)lvextend调整逻辑卷大小
############################################################################
[root@localhost ~]# lvextend -L +1G /dev/vg_test/lv_test1 #增加1G
Size of logical volume vg_test/lv_test1 changed from 3.00 GiB (768 extents) to 4.00 GiB (1024 extents).
Logical volume vg_test/lv_test1 successfully resized.
[root@localhost ~]# lvs #查看逻辑卷扩容完成
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
lv_test1 vg_test -wi-ao---- 4.00g
lv_test2 vg_test -wi-ao---- 3.00g
[root@localhost ~]# df -h #查看文件系统大小
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root 17G 1.1G 16G 7% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/mapper/vg_test-lv_test1 3.0G 33M 3.0G 2% /mnt/test1
/dev/mapper/vg_test-lv_test2 3.0G 33M 3.0G 2% /mnt/test2
############################################################################
(2)xfs_growfs更新文件系统大小
############################################################################
[root@localhost ~]# xfs_growfs /dev/vg_test/lv_test1
meta-data=/dev/mapper/vg_test-lv_test1 isize=512 agcount=4, agsize=196608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=786432, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 786432 to 1048576
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root 17G 1.1G 16G 7% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/mapper/vg_test-lv_test1 4.0G 33M 4.0G 1% /mnt/test1
/dev/mapper/vg_test-lv_test2 3.0G 33M 3.0G 2% /mnt/test2
[root@localhost ~]#
############################################################################
方式二:通过fdisk创建新分区,通过pvcreat将新分区转化为物理卷,通过vgextend将物理卷追加到现有卷组空间,最后使用lvextend调整逻辑卷容量。
(1)fdisk分区
############################################################################
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (16783360-20971519,默认为 16783360):
将使用默认值 16783360
Last 扇区, +扇区 or +size{K,M,G} (16783360-20971519,默认为 20971519):+1G
分区 6 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):t
分区号 (1-6,默认 6):6
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w
############################################################################
(2)重新读取分区表
[root@localhost ~]# partprobe /dev/sdb
(3)pvcreate创建新物理卷
[root@localhost ~]# pvcreate /dev/sdb6
(4)vgextend增加新卷组
[root@localhost ~]# vgextend vg_test /dev/sdb6
(5)lvextend调整逻辑卷容量
[root@localhost ~]# lvextend -L +1G /dev/vg_test/lv_test1 #增加1G
(6)更新文件系统大小
[root@localhost ~]# xfs_growfs /dev/vg_test/lv_test1
############################################################################
4.3LVM缩小
对处于挂载状态的LVM进行缩小,需要先进行卸载,不卸载可能会造成数据溢出,做好数据备份。XFS是centos7 预装的操作系统,XFS只能扩大不能缩小。以下内容针对ext2、ext3、exte4文件系统格式。
############################################################################
(1)卸载挂载状态LVM分区
[root@localhost ~]# umount /dev/vg_test/lv_test
(2)e2fsck检查文件系统错误并修复
[root@localhost ~]#e2fsck -f /dev/vg_test/lv_test
注:e2fsck命令:检查、修正文件系统该工具检测和修正EXT2, EXT3 和 EXT4文件系统。对于其他文件系统,可以使用xfs_ repair(修复XFS), jfs_fsck,fsck.resiserfs进行检测修复。
(3)resize2fs修改文件系统大小
[root@localhost ~]#resize2fs /dev/vg_test/lv_test 1G
注:resize2fs 针对文件系统ext2 ext3 ext4,xfs_growfs 针对文件系统xfs。
(4)lvresize刷新lv大小
[root@localhost ~]#lvresize -L 1G /dev/vg_test/lv_test
(5)挂载并查看
[root@localhost ~]# mount /dev/vg_test/lv_test /mnt/test
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root 17G 1.1G 16G 7% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/mapper/vg_test-lv_test 944M 7.6M 870M 1% /mnt/test
[root@localhost ~]#
############################################################################
4.4LVM删除
删除已创建的逻辑卷时,需要先卸载文件系统、删除逻辑卷、删除卷组、删除物理卷的顺序。具体命令如下:
############################################################################
[root@localhost ~]# umount /mnt/test
[root@localhost ~]# lvremove /dev/vg_test/lv_test
[root@localhost ~]# vgremove vg_test
[root@localhost ~]# pvremove /dev/sdb{1,2,3,5,6}
############################################################################
个人公众号: